📌 Giải đề HOTSPOT: Xác thực TLS Mutual Authentication trong Azure Web App
1. Phân tích đề bài
Bạn đang triển khai Azure Web App và cấu hình TLS Mutual Authentication.
TLS Mutual Authentication yêu cầu cả máy khách và máy chủ phải xác thực nhau bằng chứng chỉ.
Mục tiêu: Xác thực chứng chỉ khách hàng trong web app.
2. Đáp án đúng cho từng thuộc tính
Property
Giá trị đúng
Giải thích
Client certificate location
HTTP request header
Trong Azure Web Apps, chứng chỉ khách hàng được gửi trong HTTP request header X-ARR-ClientCert.
Encoding type
Base64
Chứng chỉ TLS được gửi dưới dạng Base64-encoded string.
3. Giải thích chi tiết
✅ Vì sao chọn HTTP request header?
Azure Web App không cho phép truy cập trực tiếp vào chứng chỉ TLS từ request gốc.
Thay vào đó, chứng chỉ khách hàng được đặt vào header X-ARR-ClientCert.
Ứng dụng có thể lấy chứng chỉ từ request bằng cách: string clientCert = Request.Headers["X-ARR-ClientCert"];
✅ Vì sao chọn Base64?
Chứng chỉ X.509 được mã hóa theo dạng Base64-encoded string.
Cần phải giải mã (decode) chứng chỉ trước khi kiểm tra tính hợp lệ: byte[] certBytes = Convert.FromBase64String(clientCert); X509Certificate2 cert = new X509Certificate2(certBytes);
❌ Tại sao không chọn các tùy chọn khác?
Sai lầm phổ biến
Lý do sai
Client cookie
Chứng chỉ không được gửi qua cookie do bảo mật kém.
HTTP message body
TLS Mutual Authentication diễn ra ở layer transport, không phải body của request.
URL query string
Không an toàn, dễ bị tấn công và không phải cơ chế chuẩn để truyền chứng chỉ.
HTML, URL, Unicode
Chứng chỉ TLS được truyền bằng Base64, không phải các định dạng khác.
4. Đáp án cuối cùng
Property
Đáp án đúng
Client certificate location
HTTP request header
Encoding type
Base64
🚀 Bạn có thể áp dụng cách này để xác thực TLS Mutual Authentication chính xác trong Azure Web App! 🚀