Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Hướng dẫn DevOps] Tạo, xác thực và cài đặt Public Key Certificate cho API/Web Server

    [Hướng dẫn DevOps] Cấu hình chứng chỉ TLS: Tạo, xác thực và cài đặt Public Key Certificate cho API/Web Server

    Trong thời đại API chạy xuyên lục địa, mã hóa lưu lượng và xác thực server bằng certificate đáng tin cậy là điều bắt buộc. Dù là bảo mật cho ứng dụng nội bộ hay công khai, bạn đều cần hiểu rõ quy trình thiết lập chứng chỉ TLS.
    🎯 Khi nào cần chứng chỉ được CA ký?
    • Nếu chỉ cần mã hóa (không cần xác thực danh tính), nhiều hệ thống sẽ tự tạo chứng chỉ tự ký (self-signed).
    • Nhưng nếu bạn cần xác thực server với client (đặc biệt là browser), chứng chỉ phải được CA tin cậy ký tên.
      • Với hệ thống nội bộ → dùng Internal CA
      • Với website công khai → dùng Public CA được browser tin cậy

    ⚙️ Quy trình chuẩn để tạo chứng chỉ Public Key TLS

    ✅ Bước 1: Tạo Private Key


    openssl genrsa -aes192 -out MYPRIVATEKEY.key 4096

    🔐 Sinh khóa RSA 4096-bit, mã hóa bằng AES-192 và bảo vệ bằng passphrase.
    ✅ Bước 2: Tạo Certificate Signing Request (CSR)


    openssl req -new -key MYPRIVATEKEY.key -out MYCSR.csr

    📝 Nhập thông tin định danh (DN) như:
    • Common Name (CN) = www.tenmien.com
    • Organization = VnPro
    • Email, địa chỉ, bộ phận...
    CSR này sẽ gửi lên CA để được ký.
    ✅ Bước 3 (Tùy chọn): Kiểm tra nội dung CSR


    cat MYCSR.csr

    💡 Bạn có thể dùng Digicert CSR Checker để xác minh tính hợp lệ của CSR.
    ✅ Bước 4: Gửi CSR để đăng ký chứng chỉ (Enrollment)

    🔐 Cách CA phát hành chứng chỉ:
    • Qua email
    • Qua trang web tải file .crt
    • Qua SCEP (dùng cho thiết bị mạng tự động yêu cầu chứng chỉ)
    Thông tin cần gửi kèm:
    • CSR
    • Tên miền (CN)
    • Tên công ty
    • Thời gian hiệu lực (VD: 1 năm)
    📌 Với mạng nội bộ, bạn có thể triển khai CA nội bộ + SCEP để tự động cấp phát cho thiết bị router, switch, firewall.
    ✅ Bước 5: Cài đặt chứng chỉ vào Web Server Apache

    Chỉnh cấu hình trong file httpd.conf hoặc ssl.conf:



    SSLCertificateFile /etc/ssl/certs/public.crt
    SSLCertificateKeyFile /etc/ssl/private/private.key
    SSLCertificateChainFile /etc/ssl/certs/bundle.crt

    💡 Nếu có intermediate CA, bạn cần cung cấp file .crt bundle theo chuỗi: Server Cert → Intermediate → Root
    🧠 Một số lưu ý quan trọng:
    • Không chia sẻ file .key (Private Key) cho bất kỳ ai.
    • Bundle chứng chỉ đúng thứ tự CA để tránh lỗi “Untrusted Certificate” trên browser.
    • Hạn chế dùng self-signed cert trừ khi là test hoặc môi trường dev.
    • Luôn backup file .key và .crt.

    💡 Dành cho DevOps/Automation Engineer: Bạn có thể tích hợp quá trình cấp phát chứng chỉ này vào playbook Ansible, CI/CD pipeline, hoặc API call đến CA nội bộ để tự động hóa toàn bộ chu trình chứng thực!
    👉 Tiếp theo: Hướng dẫn cấu hình HTTPS với TLS 1.3 trên Apache + kiểm tra bảo mật SSL với SSLLabs.
    Bạn có đang dùng certificate đúng cách trên API/Web Server của mình chưa? Hãy kiểm tra lại ngay hôm nay!
























    Đặng Quang Minh, CCIEx2#11897 (Enterprise Infrastructure, Wireless), DEVNET, CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X