Giải ngố WWW – Phần 6: 6 bước tự dựng Certificate Authority Server để cấp Certificate cho Website nâng cấp từ HTTP lên HTTPS (tiếp theo và hết)

Tiếp theo nội dung Giải ngố WWW – Phần 5: 6 bước tự dựng Certificate Authority Server để cấp Certificate cho Website nâng cấp từ HTTP lên HTTPS, kỳ này tôi sẽ nói nốt các nội dung còn lại đồng thời bàn kỹ thêm tí về vấn đề xác thực của CA Server.

Để tiện theo dõi, tôi xin phép tóm lược tình hình để bạn tiện theo dõi.

Các nội dung tôi đã giới thiệu kỳ trước:

– Bước 1: CA Server phát hành Root Certificate để xác thực danh tính chính nó;

– Bước 2: Web Server lấy Root Certificate về để cài đặt xác nhận tin cậy CA Server;

– Bước 3: Web Server tạo Certificate Signing Request – CSR gửi đến CA Server để xin cấp Certificate;

Các nội dung trình bày kỳ này:

– Bước 4: CA Server xác thực và cấp Certificate cho Web Server;

– Bước 5: Web Server lấy Certificate do CA Server cấp để sử dụng làm việc với Web Client.

– Bước 6: Web Client kiểm tra truy cập đến Website trên Web Server đã có Certificate.

Các máy ảo phục vụ demo:

– 1 con Windows Server đã cài đặt Active Directory Certificate Service – AD CS đóng vai trò CA Server;

– 1 con Windows Server đã cài đặt Internet Information Services – IIS và Website tương ứng đóng vai trò Web Server;

– 1 con Win 7 với Client BrowserFirefox đóng vai trò Web Client.

#4. Xác thực và phát hành Certificate trên CA Server

Quay lại con CA Server và truy cập Tool/Certification Authority, lúc này tại mục Pending Request bạn sẽ thấy cái CSR của Web Server cần xác thực trước khi có thể chọn “Issue” để cấp cho Web Server.

Xác thực và phát hành Certificate trên CA Server
Xác thực và phát hành Certificate trên CA Server

Bạn còn nhớ trong Mục 2.2 của Giải ngố WWW – Phần 4: 3 điều tối quan trọng về việc tạo và sử dụng Certificate trong quá trình truy cập HTTPS Website, tôi đã hứa hẹn bàn kỹ về vấn đề xác thực Certificate vào một dịp nào đó. Và đây chính là đây chính là “dịp nào đó”.

Hiện tại có các mức độ xác thực “từ Easy đến Hardcore” bao gồm: Domain Validated – DV (Xác thực tên miền, Organization Validation – OV (Xác thực tổ chức) và Extended Validation – EV (Xác thực mở rộng).

#4.1 Domain Validation – DV

Đây là thể loại dễ ăn nhất. Bạn chỉ cần chứng minh được quyền sở hữu tên miền cần xác nhận là có thể được cấp Certificate trong vài giờ. Thể loại này thì có giá rẻ nhất và thậm chí miễn phí (ví dụ như với Let’s Encrypt).

Và tất nhiên tiền nào của nấy. Cái này xài cho mục đích cá nhân hoặc các trang tin tức đơn thuần thì ngon chứ cho tổ chức/công ty thì không ổn lắm. Với thể loại này thì cái Certificate sẽ không có thông tin về tổ chức được cấp Certificate.

Certificate với Domain Validation
Certificate với Domain Validation

#4.2 Organization Validation – OV

Nghe cái tên thì bạn cũng hình dung quá trình làm việc sẽ phải xác thực thêm thông tin của tổ chức yêu cầu cấp chứng chỉ rồi (ví dụ như thông tin đăng ký theo giấy phép kinh doanh chẳng hạn). Do đó thời gian kiểm tra xem xét phải dài hơn. Đây có thể xem là mức tối thiểu cho các trang thương mại điện tử để người dùng có thể xác định tổ chức được cấp Certificate khi kiểm tra chi tiết.

Certificate với Organization Validation
Certificate với Organization Validation

#4.3 Extended Validation – EV

Cuối cùng là ông EV với quy trình xác thực còn nghiêm ngặt hơn với đủ loại giấy tờ lằng nhằng (thời gian xử lý và chi phí cũng sẽ cao hơn). Và một khi được xác thực, tên tổ chức cũng sẽ được thể hiện để người dùng dễ nhận dạng thương hiệu.

Certificate với Extended Validation
Certificate với Extended Validation

Một điểm lưu ý quan trọng là EV sẽ không có Wildcard Certificate như DV trả phí và OV (Wildcard Certificate sẽ cho phép bạn sử dụng cho cả domain – tên miền chính và subdomain – các tên miền phụ).

#5. Lấy Certificate về Web Server

#5.1 Download Certificate

OK, quay trở lại vấn đề demo, lúc này CA Server đã cấp Certificate nên bạn có thể quay lại Web Server truy cập thư mục ca-server-name/certsrv để lấy cái chứng chỉ về cài đặt cho Website cần chuyển sang HTTPS.

Kiểm tra tình trạng Certificate Request
Kiểm tra tình trạng Certificate Request

Tại đây, bạn chọn View the status of a pending certificate request để xác nhận việc CA Server đã chấp thuận. Nếu mọi chuyện ok hết thì sau đó bạn chọn sang Download a CA Certificate, Certificate Chain, or CRL sau đó chọn Download CA certificate chain để lấy hàng về.

Download Certificate
Download Certificate

#5.2 Hoàn tất Certificate Request và import Certificate

Download xong là chưa xong chuyện đâu nhé. Bạn quay lại giao diện quản lý IIS của Web Server và truy cập vào Server Certificate sau đó mở Complete Certificate Request để chọn file vừa download về và điền các thông tin yêu cầu.

Hoàn tất Certificate Request
Hoàn tất Certificate Request

Tới đây cũng chưa xong đâu (ráng đi, 1 nháy nữa là xong). Giờ bạn cần import cái chứng chỉ vào Website cần nâng cấp lên HTTPS bằng cách chọn vào Website này sau đó chọn Bindings… và cập nhật thông tin tương ứng. Bạn nhớ lưu ý cái Port 443SSL certificate tương ứng đã làm ở bước trên.

Import Certificate vào Website
Import Certificate vào Website

#6. Kiểm tra từ Client Browser

Hàng họ thiết lập đã triển xong, giờ là lúc bạn mò sang con Win 7 để kiểm tra. Ở đây tôi dùng Firefox làm Client Browser. Thử truy cập vào website lúc này bạn sẽ thấy thông báo lỗi Secure Connection FailedCertificate vẫn chưa có trong Client Browser.

Đây chính là lí do cho việc “..CA sẽ phải làm việc với Web Browser Developers để đưa các các thể loại trong dòng họ Root Certificate này vào Web Browser..”

Do bạn đang dùng CA Server hàng tự dựng nên hiển nhiên cái Certificate không thể có trong Web Browser. Để chữa cháy, bạn có thể add trực tiếp thêm cái Certificate vào Web Browser.

Lưu ý: cái Certificate cũng cần download về giống như với thằng Web Server

Với thằng Firefox bạn đi tìm View Certificates.. trong mục Privacy & Security.

Kiểm tra Certificate trên Web Browser
Kiểm tra Certificate trên Web Browser

Sau đó chuyển qua tab Authorities để chọn Import cái Certificate vào

Import Certificate trên Web Browser
Import Certificate trên Web Browser

Mỗi thằng Browser có thể có giao diện khác nhau nhưng điểm mấu chốt là bạn phải tìm cho được chỗ nào có cho phép Import Certificate nhé.

Đến đây thì coi như bạn đã hoàn tất việc lên đời thằng HTTP thành HTTPS rồi đấy. Tuy nhiên, bạn cần lưu ý là việc Import trực tiếp này chỉ để coi cho biết thôi chứ thực tế can thiệp thô bạo vô Web Browser kiểu này thì dễ banh lắm nhé.

Leave a Reply

Your email address will not be published. Required fields are marked *