Làm cách nào để bật TLS 1.2 trong Nginx?


17

Làm cách nào để bật TLS 1.1 và 1.2 cho các kết nối SSL trong máy chủ Ubuntu 12.04 của tôi? Tôi đang sử dụng phiên bản sau của thư viện nginx và openssl.

$ ./nginx -v
nginx version: nginx/1.2.3

$ openssl version -a
OpenSSL 1.0.1 14 Mar 2012
built on: Tue Jun  4 07:26:06 UTC 2013
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx) 
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"

Bạn tìm thấy gì chưa?
BigSack

Bạn đã giải quyết điều này? Phiên bản nginx bạn đang sử dụng rất cũ. Bạn có thể thấy cấu hình SSL trong bài viết Ars Technica này hữu ích.
Paul

Câu trả lời:


14

Trước tiên, bạn cần kích hoạt SSL / TLS trong nginx.conf:

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name example.org;

    ssl_certificate /etc/ssl/example.org.crt;
    ssl_certificate_key /etc/ssl/private/example.org.key;

Hai listendòng kích hoạt SSL tại kết nối IPv4 và IPv6 của bạn. Nếu bạn không có IPv6, bạn có thể rời khỏi listendòng thứ hai .

Tôi giả sử rằng chứng chỉ máy chủ của bạn là trong /etc/ssl. Nếu bạn sử dụng một đường dẫn khác, bạn sẽ thay đổi hai dòng cuối cùng.

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

Điều này cho phép các phiên bản TLS khác nhau. Tất cả các trình duyệt hiện tại có thể sử dụng TLS1.2. Đối với các trình duyệt cũ hơn, tôi đã viết một hướng dẫn nhỏ để kích hoạt cài đặt an toàn .

ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA;
ssl_prefer_server_ciphers on;

Dòng đầu tiên thiết lập các mật mã mà nignx của bạn nên sử dụng. Dòng thứ hai thích các bộ mật mã ở phía máy chủ (chứ không phải máy khách). Vì vậy, bạn có thể sử dụng mật mã mạnh (er).

Nếu bạn đã hoàn tất, nginx của bạn nên sử dụng TLS1.2. Nếu bạn thích, bạn có thể thêm trang web của mình vào hội trường danh tiếng TLS1.2 và tự hào. ;)

Tuy nhiên, có một số phương pháp để cải thiện các cài đặt. Tôi làm theo hướng dẫn tiếng Đức này để cấu hình nginx an toàn .


Ubuntu 12 vô hiệu hóa TLS 1.1 và TLS 1.2 vì lý do interop. Tôi nghĩ rằng gần đây họ đã kích hoạt TLS 1.1, nhưng tôi tin rằng TLS 1.2 vẫn còn thiếu. Xem phiên bản tải xuống OpenSSL là 1.0.0 và không hỗ trợ TLS 1.2 .

1

Có rất nhiều lời khuyên bảo mật đã được đề cập trong các phiên bản tiếp theo của nginx. Nếu bạn vẫn còn (6 tháng cũ?) Trong tình huống này, hãy nghiêm túc xem xét nâng cấp; Cài đặt TLS sẽ không thành vấn đề nếu bản thân máy chủ web không an toàn. Xem http://nginx.org/en/security_advisories.html để biết chi tiết.

Nếu, vì một số lý do bạn PHẢI chạy phiên bản nginx này, thông tin có sẵn về việc kích hoạt bộ mã hóa mạnh với nginx (hoặc Apache) ở đây có thể sẽ giúp ích: https://community.qualys.com/bloss/securitylabs/2013/08/ 05 / configuring-apache-nginx-and-openssl-for-Forward-secrecy


0

Làm cách nào để bật TLS 1.1 và 1.2 cho các kết nối SSL trong máy chủ Ubuntu 12.04 của tôi?

Tôi tin rằng có ba sự lựa chọn.

Đầu tiên, không làm gì cả và sử dụng phiên bản OpenSSL của Ubuntu 12. Tôi tin rằng TLS 1.1 hiện đã được hỗ trợ, nhưng bạn vẫn sẽ không có TLS 1.2.

Thứ hai, xây dựng và duy trì PPA của riêng bạn . Có một số hướng dẫn để làm như vậy tại Override Distro Gói với Gói tùy chỉnh? Để hoàn thiện, không có Lưu trữ gói cá nhân hiện có cho Ubuntu và OpenSSL cung cấp các giao thức đầy đủ.

Thứ ba là nâng cấp lên phiên bản Ubuntu mới hơn, như Ubuntu 14. Tôi đang cố gắng xác định xem Ubuntu 14 có cho phép tất cả chúng vào lúc này không. Xem các giao thức Ubuntu 14, OpenSSL và TLS? .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.