Khi mua chứng chỉ SSL, bạn buộc phải tạo CSR để gửi tới CA để xác thực và tạo chứng chỉ mới. Bài viết này sẽ tập trung vào việc hướng dẫn cách để tạo Certificate Signing Request trên Nginx Linux/Unix và cung cấp một số thông tin cơ bản để người dùng tham khảo.
Giới thiệu về tạo CSR
Trong thời đại chuyển đổi số hiện nay, việc bảo mật website đã trở thành một khía cạnh cực kỳ quan trọng được các doanh nghiệp quan tâm. Tội phạm mạng đang có dấu hiệu gia tăng nhanh chóng và những kẻ tấn công không ngừng tìm ra những cách mới để khai thác lỗ hổng trong hệ thống trực tuyến.
Một trong những cách chính để bảo vệ trang web khỏi các mối đe dọa trên mạng là triển khai chứng chỉ SSL/TLS – giúp mã hóa dữ liệu được truyền giữa trình duyệt của người dùng và máy chủ web.
Việc tạo CSR (Certificate Signing Request) là một bước quan trọng để có được chứng chỉ SSL/TLS. Nó có chứa các thông tin về miền và tổ chức đưa ra yêu cầu chứng chỉ cũng như cung cấp một số chi tiết cần thiết khác cho mục đích xác minh.
Tạo CSR trong Linux/Unix
Việc tạo CSR trong Linux/Unix có thể được thực hiện thông qua nhiều phương pháp khác nhau, chẳng hạn như sử dụng công cụ dòng lệnh OpenSSL hoặc các công cụ GUI như Cerbot, Acme.sh. Mỗi phương pháp yêu cầu các bước cụ thể cần được tuân thủ một cách cẩn thận để có được Certificate Signing Request hợp lệ.
Quá trình tạo CSR thường bao gồm:
- Việc tạo private key – được sử dụng để mã hóa dữ liệu được gửi giữa máy chủ web và trình duyệt.
- Cung cấp thông tin về chủ sở hữu trang web và tên miền cùng các chi tiết khác mà CA yêu cầu cho mục đích xác thực.
- Gửi tệp yêu cầu có chứa mã CSR tới nhà cung cấp chứng chỉ SSL yêu thích, chẳng hạn như Comodo hay DigiCert, để xác thực yêu cầu của người nộp đơn trước khi cấp chứng chỉ SSL/TLS.
Trong bài viết này, chúng tôi sẽ tập trung hướng dẫn bạn cách để tạo CSR trên Nginx Linux/Unix bằng công cụ dòng lệnh OpenSSL.
Chuẩn bị trước khi tạo CSR trên Nginx Linux/Unix
Trước khi tạo CSR trên Nginx Linux/Unix, có một số điều kiện tiên quyết phải được đáp ứng. Điều kiện đầu tiên và quan trọng nhất là quyền truy cập root vào server. Điều này cho phép bạn có các đặc quyền cần thiết để sửa đổi các tệp hệ thống quan trọng và chạy các lệnh với quyền quản trị.
Bên cạnh đó, người dùng cần phải cài đặt OpenSSL trên hệ thống của mình. Để kiểm tra xem OpenSSL đã được cài đặt trên hệ thống chưa, bạn có thể sử dụng giao diện dòng lệnh (CLI) hoặc các công cụ CUI như Synaptic Package Manager hoặc Ubuntu Software Center.
Điều quan trọng là bạn phải đáp ứng các yêu cầu trên vì nếu không có chúng, việc tạo CSR sẽ không thành công và có thể ảnh hưởng đáng kể đến bảo mật website.
Chi tiết cách tạo CSR trên Nginx Linux/Unix
Để tạo CSR cho Nginx Webserver, bạn cần mở kết nối Secure Shell (SSH) đến server bằng user root. Sau khi đăng nhập thành công vào thiết bị đầu cuối của server, hãy thực hiện các bước như dưới đây:
Tạo key pair
- Tiện ích OpenSSL được sử dụng để tạo cả private key và CSR, và thường được cài đặt trong “/usr/local/ssl”.
* Lưu ý: Trong hướng dẫn dưới đây, bạn cần thay đổi “mydomain.com” thành trang web cần tạo CSR.
- Bạn tiến hành duyệt đến thư mục nơi cần tạo cặp khóa. Thông thường, việc tạo cặp khóa nên được thực hiện trong một thư mục có quyền bị khóa (chuyên gia khuyên người dùng nên đặt quyền thành 600 trên private key).
- Bạn nhập lệnh sau tại dấu nhắc trong OpenSSL (gõ openssl trong hệ thống Unix):
openssl genrsa –out www.mydomain.com.key 2048
* Lưu ý: Nếu bạn muốn sử dụng passphrase với private key của mình, hãy thêm “-des3” vào lệnh. Sau đó, passphrase sẽ được nhắc lại và bạn cần giữ nó ở nơi an toàn vì tính chất không thể phục hồi được. Trong trường hợp nó bị mất, bạn sẽ cần phải tạo một passphrase mới.
- Private key RSA 2048 sẽ được tạo và lưu trữ trong tệp: “www.mydomain.com.key”.
Tạo CSR
Để tạo CSR, bạn nhập lệnh sau tại dấu nhắc OpenSSL (thay thế “www.domain.com” bằng trên trang web cần được bảo mật bằng chứng chỉ SSL):
openssl req –new –key www.mydomain.com.key –out www.mydomain.com.csr
* Lưu ý: Bạn sẽ được nhắc nhập PEM passphrase nếu “-des3” được thêm vào lệnh.
Nhập thông tin CSR
Người dùng tiến hành nhập thông tin cần thiết cho Certificate Signing Request. Những thông tin này sẽ được hiển thị trong chứng chỉ SSL:
- Tên chung (Common Name): Phải khớp với URL cần được bảo mật – thường là tên miền đủ điều kiện của tổ chức kinh doanh, chẳng hạn www.domain.com.
- Organization: Tên hợp pháp của tổ chức/công ty của bạn, bao gồm Inc., Pvt, Ltd,…
- Organizational Unit: Tên bộ phận trong tổ chức sẽ chịu trách nhiệm xử lý chứng chỉ, thường là “IT”, “Web”, hoặc để trống.
- City/locality: Thành phố hoặc thị trấn nơi tổ chức của bạn tọa lạc.
- State/Province: Tỉnh thành nơi tổ chức của bạn được đặt trụ sở.
- Country: Nhập mã quốc gia ISO cho quốc gia nơi tổ chức đặt trụ sở, chẳng hạn “VN” cho Việt Nam, “US” cho Hoa Kỳ.
Bạn có thể sử dụng lệnh sau để đảm bảo các thông tin được cập nhật đều chính xác:
req -noout -text -in www.mydomain.com.csr
* Lưu ý: Không cần thiết nhập mật khẩu hoặc passphrase.
Tạo order
- Bước tiếp theo cần thực hiện là xác định vị trí và mở CSR vừa được tạo trong trình soạn thảo văn bản, sau đó sao chép tất cả văn bản bao gồm từ “—–BEGIN CERTIFICATE REQUEST—–” cho đến “—–END CERTIFICATE REQUEST—–”.
- Tệp “.key” mới được tạo cần được lưu lại, vì nó sẽ cần thiết cho quá trình cài đặt chứng chỉ SSL sau này.
- Khi đã sao chép CSR, bạn quay lại biểu mẫu đăng ký trên web của nhà cung cấp chứng chỉ SSL và dán vào hộp văn bản trống để hoàn tất quá trình tạo CSR.
- Order của bạn bây giờ sẽ bước vào quá trình xác nhận. Khi đó, CA sẽ yêu cầu người nộp đơn hoàn thành một số hình thức xác thực tùy thuộc vào loại chứng chỉ được mua.
Hy vọng rằng những thông tin được nêu trong bài viết này có thể giúp bạn hoàn thành quá trình tạo CSR trên Nginx Linux/Unix một cách suôn sẻ và nhanh chóng. Trong trường hợp có thắc mắc liên quan tới nội dung trong bài viết hoặc gặp vấn đề trong quá trình thực hiện, bạn vui lòng kết nối với HVN – Hệ sinh thái kiến tạo doanh nghiệp 4.0 – thông qua Hotline 024.9999.7777 để đội ngũ nhân viên có trình độ chuyên môn cao của chúng tôi hỗ trợ giải đáp và xử lý kịp thời.