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

Trong nội dung 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 đã giới thiệu nguyên lý tạo và sử dụng Certificate. Để bớt chán với đám lý thuyết lằng nhằng, trong kỳ này, tôi sẽ demo dựng Certificate Authority – CA Server để xác thực và cấp Certificate cho Web Server sử dụng.

Dù thực chất đây là dựng Private CA Server để xác thực cho nhu cầu nội bộ, tuy nhiên, về cơ bản, các bước xử lý cũng hoàn toàn tương đồng như khi làm với Public CA Server. Tôi sẽ nhấn mạnh những điểm khác biệt quan trọng theo các nội dung chi tiết sau đây.

Tôi xin tóm lược lại các bước xử lý để bạn tiện theo dõi như sau:

– 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;

– 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.

Tương ứng với các bước trên, phần demo sẽ sử dụng 3 con hàng sau:

– 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.

Lưu ý, mục tiêu kỳ này là để tôi nhấn mạnh các nội dung quan trọng của các bước nói trên chứ không phải demo chi tiết từng bước dựng và xác thực với CA Server nhé. Nếu muốn chi tiết thì bạn có thể xem hướng dẫn hàng chính chủ của www.c-sharpcorner.com tại đây hoặc comment các chi tiết bạn muốn làm rõ để tôi phản hồi.

#1. Tạo Root Certificate trên CA Server

Thông thường, CA trùm cuối nó sẽ sai mấy thằng đệ Intermediate/Child CA làm trực tiếp với Web Server. Bản thân nó thì chỉ kiểm soát đám đàn em chứ không trực tiếp nhúng tay vào. Tuy nhiên, trong demo minh họa đơn giản này, bạn sẽ thấy chỉ đơn giản có một thằng CA Server làm hết mọi việc mà thôi.

Tôi sẽ bắt đầu từ thời điểm con CA Server vừa mới cài xong AD CS. Lúc này, quá trình tạo Root Certificate sẽ diễn ra ở bước Post-deployment Configuration như sau.

AD CS Post-deployment Configuration
AD CS Post-deployment Configuration

Post-deployment Configuration sẽ bao gồm các bước như chọn Credentials, Role Services,…và quan trọng nhất là tạo Private Key. Sau khi xác định các thông số cơ bản Key Length, Hash Algotithm…, CA Server sẽ khởi tạo Private KeyPublic Key để đưa vào Root Certificate.

Taọ Private Key và Public Key để đưa vào Root Certificate
Taọ Private Key và Public Key để đưa vào Root Certificate

Sau khi cung cấp các thông tin còn lại để hoàn tất việc tạo Root Certificate và truy cập vào Tool/Certification Authority mà kết quả như sau là ngon.

Truy cập Certification Authority trên CA Server
Truy cập Certification Authority trên CA Server
Kiểm tra hoạt động của Certification Authority
Kiểm tra hoạt động của Certification Authority

#2. Lấy Root Certificate về Web Server

Chuyển qua con Web Server, để lấy cái Root Certificate của CA Server về, bạn mở trình duyệt truy cập đến ca-server-name/certsrv (ca-server-name là gì thì bạn nhớ coi lại thiết lập CA Server nhé). Tiếp đó lựa chọn “Download a CA certificate…” sau đó chọn “Download CA Certificate chain“để tiến hành việc lấy Root Certificate về.

Download Root Certificate về Web Server
Download Root Certificate về Web Server

Kế đến các đại ca sẽ hỏi bạn vị trí đặt cái Root Certificate này vào. Và như nội dung tôi đã nói kỳ trước, vị trí đặt sẽ là Trusted Root Certification Authorities như bên dưới.

Đặt Root Certificate vào Root Certificate Trusted Root Certification Authorities
Đặt Root Certificate vào Root Certificate Trusted Root Certification Authorities

#3. Tạo Certificate Signing Request – CSR trên Web Server

Đến đây thì con Web Server của bạn đã xác nhận việc tin cậy con CA Server. Bước kế tiếp nó sẽ gửi yêu cầu xác thực và cấp Certificate đến CA Server thông qua CSR.

Lưu ý: Certificate ở đây là Web Server của , bạn đừng nhầm với cái Root Certificate của CA Server nói ở 2 bước trên nhé.

Trên giao diện quản lý IIS của Web Server bạn truy cập vào Server Certificate.

Truy cập Server Certificate trong IIS của Web Server
Truy cập Server Certificate trong IIS của Web Server

Sau đó lần mò sang đám Actions bên tay phải kiếm dong “Create Certificate Request…” để bắt đầu việc tạo CSR. Tương tự như quá trình tạo Root Certificate trên CA Server, ở đây Web Server cũng sẽ tạo Private KeyPublic Key. Điểm khác biệt là để đưa Web Server vào CSR chứ không tự xuất bản cái Certificate như CA Server đâu nhé.

Tạo Private Key và Public Key cho CSR
Tạo Private Key và Public Key cho CSR

Kết thúc đoạn này bạn sẽ thu được một cái sản phẩm như sau.

Nội dung của Certificate Request
Nội dung của Certificate Request

Kế đến, bạn cần truy cập lại ca-server-name/certsrv, nhưng lần này chọn “Request a certificate” nhé. Sau đó đến “advanced certificate request” rồi đến “Submit a certificate request using a base-64-encoded CMC or PKCS #10 file,…”. Còn nhớ cái “template chuẩn Public-Key Cryptography Standards (PKCS) #10” tôi nói kì trước không. Vâng, click chuột vào đi bạn sẽ thấy hình hài của nó kiểu thế này.

Submit CSR với PKCS #10
Submit CSR với PKCS #10

Tại cái ô trống của Saved Request, bạn sẽ hốt nội dung cái sản phẩm nói trên đổ vào đây trước khi Submit đến CA Server.

Tôi định cô đọng nội dung để đập một phát ăn ngay cả 6 bước nói ở đầu bài nhưng nội dung demo này dài quá. Thôi hôm nay cho tôi dừng ở đây kỳ sau nói tiếp Bước 5 và 6 nhé.

2 thoughts on “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”

Leave a Reply

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