Bagaimana cara mengaktifkan TLS 1.2 di Nginx?


17

Bagaimana cara saya mengaktifkan TLS 1.1 dan 1.2 untuk koneksi SSL di server Ubuntu 12.04 saya? Saya menggunakan versi nginx dan openssl library berikut.

$ ./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"

Anda menemukan sesuatu?
BigSack

Apakah Anda menyelesaikan ini? Versi nginx yang Anda gunakan sudah sangat tua. Anda mungkin menemukan konfigurasi SSL dalam artikel Ars Technica ini bermanfaat.
Paul

Jawaban:


14

Pertama, Anda perlu mengaktifkan SSL / TLS di 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;

Dua listenbaris ini mengaktifkan SSL di koneksi IPv4 dan IPv6 Anda. Jika Anda tidak memiliki IPv6, Anda mungkin meninggalkan listenbaris kedua .

Saya berasumsi bahwa sertifikat server Anda di /etc/ssl. Jika Anda menggunakan jalur lain, Anda akan mengubah dua baris terakhir.

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

Ini memungkinkan berbagai versi TLS. Semua browser saat ini dapat menggunakan TLS1.2. Untuk browser yang lebih lama, saya menulis cara kecil untuk mengaktifkan pengaturan yang aman .

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;

Baris pertama mengatur cipher yang harus digunakan nignx Anda. Baris kedua lebih memilih suite cipher di sisi server (dan bukan klien). Jadi Anda bisa menggunakan cipher kuat (er).

Jika sudah selesai, nginx Anda harus menggunakan TLS1.2. Jika ingin, Anda dapat menambahkan situs Anda ke hall of fame TLS1.2 dan bangga. ;)

Namun ada beberapa metode untuk meningkatkan pengaturan. Saya mengikuti panduan bahasa Jerman ini untuk konfigurasi nginx yang aman .


Ubuntu 12 menonaktifkan TLS 1.1 dan TLS 1.2 karena alasan interop. Saya pikir mereka baru-baru ini mengaktifkan TLS 1.1, tapi saya percaya TLS 1.2 masih kurang. Lihat versi downlevel OpenSSL adalah 1.0.0, dan tidak mendukung TLS 1.2 .

1

Ada banyak nasihat keamanan yang telah dibahas dalam versi nginx berikutnya. Jika Anda masih (posting basi 6 bulan?) Dalam situasi ini, pertimbangkan untuk meningkatkan; Pengaturan TLS tidak masalah jika server web itu sendiri tidak aman. Lihat http://nginx.org/en/security_advisories.html untuk detailnya.

Jika, karena alasan tertentu Anda HARUS menjalankan versi nginx ini, informasi yang tersedia tentang mengaktifkan suite cipher yang kuat dengan nginx (atau Apache) di sini mungkin akan membantu: https://community.qualys.com/blogs/securitylabs/2013/08/ 05 / mengkonfigurasi-apache-nginx-and-openssl-for-forward-secrecy


0

Bagaimana cara saya mengaktifkan TLS 1.1 dan 1.2 untuk koneksi SSL di server Ubuntu 12.04 saya?

Saya percaya ada tiga pilihan.

Pertama, jangan lakukan apa pun dan gunakan OpenSSL versi Ubuntu 12. Saya percaya TLS 1.1 sekarang didukung, tetapi Anda masih tidak akan memiliki TLS 1.2.

Kedua, bangun dan kelola AKP Anda sendiri . Ada beberapa instruksi untuk melakukannya di Override Distro Package with Custom Package? Untuk kelengkapan, tidak ada Arsip Paket Pribadi untuk Ubuntu dan OpenSSL yang menawarkan protokol lengkap.

Ketiga adalah meningkatkan ke versi Ubuntu yang lebih baru, seperti Ubuntu 14. Saya mencoba menentukan apakah Ubuntu 14 memungkinkan semuanya pada saat ini. Lihat Ubuntu 14, OpenSSL, dan Protokol TLS? .

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.