Cách cấu hình Nginx để tạo và quản lý bảo mật chứng chỉ SSL/TLS

SSL (Secure Sockets Layer) và TLS (Transport Layer Security) là các giao thức bảo mật quan trọng để thiết lập một kết nối an toàn giữa máy khách và máy chủ trên mạng. Nginx, một máy chủ web phổ biến, cung cấp khả năng cấu hình để tạo và quản lý bảo mật chứng chỉ SSL/TLS. Dưới đây là một số bước để cấu hình Nginx để tạo và quản lý chứng chỉ SSL/TLS.

Cài đặt OpenSSL

Đảm bảo rằng bạn đã cài đặt OpenSSL, một thư viện mã nguồn mở phổ biến được sử dụng để tạo và quản lý chứng chỉ SSL/TLS.

Secure Nginx with Let's Encrypt on CentOS 7

Tạo khóa cá nhân và yêu cầu chứng chỉ (CSR)

Sử dụng lệnh OpenSSL để tạo khóa cá nhân và yêu cầu chứng chỉ (CSR) cho máy chủ web của bạn. CSR là một tệp tin chứa thông tin về tổ chức hoặc cá nhân yêu cầu chứng chỉ.

openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

 

Lệnh trên sẽ tạo một cặp khóa mới (khóa cá nhân và khóa công khai) và yêu cầu chứng chỉ. Bạn sẽ được yêu cầu nhập thông tin như tên miền, tổ chức, v.v.

User Tips: Sending NGINX Logs to Honeycomb | Honeycomb

Mua chứng chỉ SSL/TLS hoặc sử dụng Let’s Encrypt

Bạn có thể mua chứng chỉ SSL/TLS từ nhà cung cấp dịch vụ SSL/TLS hoặc sử dụng Let’s Encrypt – một dự án miễn phí cung cấp chứng chỉ SSL/TLS.

  • Nếu bạn sử dụng chứng chỉ SSL/TLS mua từ nhà cung cấp, họ sẽ cung cấp cho bạn tệp tin chứng chỉ (ví dụ: server.crt) và tệp tin khóa riêng tư (ví dụ: server.key).
  • Nếu bạn sử dụng Let’s Encrypt, bạn có thể sử dụng công cụ Certbot để tạo và quản lý chứng chỉ SSL/TLS. Certbot sẽ tự động lấy và cài đặt chứng chỉ miễn phí từ Let’s Encrypt.

Deploying a Go Web Application using Nginx on Ubuntu 22.04- CS

Cấu hình Nginx để sử dụng chứng chỉ SSL/TLS

Mở tệp cấu hình Nginx và thêm các cấu hình sau trong khối server:

server {
listen 443 ssl;
server_name example.com;

ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/server.key;

# Các cấu hình bổ sung cho SSL/TLS
...
}

  • listen 443 ssl; chỉ định rằng Nginx sẽ lắng nghe trên cổng 443 (cổng mặc định cho HTTPS) và sử dụng SSL/TLS.
  • ssl_certificatessl_certificate_key chỉ định đường dẫn tới tệp tin chứng chỉ và khóa riêng tư tương ứng.

Chuyển hướng 404 về trang chủ trên NGINX - Knowledge Base Linux

Kiểm tra cấu hình và khởi động lại Nginx

Trước khi áp dụng cấu hình, hãy kiểm tra xem tệp cấu hình có lỗi không bằng cách chạy lệnh nginx -t. Nếu không có lỗi, hãy khởi động lại Nginx để áp dụng các thay đổi.

sudo service nginx restart

 

Sau khi hoàn tất các bước trên, Nginx sẽ được cấu hình để sử dụng chứng chỉ SSL/TLS và kết nối an toàn được thiết lập giữa máy khách và máy chủ thông qua giao thức HTTPS. Bằng cách này, thông tin giữa máy khách và máy chủ sẽ được mã hóa và bảo mật trên đường truyền mạng.

Ngoài ra, để tăng cường bảo mật, bạn có thể cấu hình các tùy chọn bổ sung như ciphers suites, HSTS (HTTP Strict Transport Security), OCSP stapling, và nhiều tùy chọn khác để đáp ứng yêu cầu bảo mật cụ thể của ứng dụng web của bạn.

Using Nginx as a Forward Proxy | Baeldung

Tóm lại, cấu hình Nginx để tạo và quản lý chứng chỉ SSL/TLS là quan trọng để đảm bảo an toàn và bảo mật trong việc truyền tải thông tin giữa máy khách và máy chủ trên mạng.