Nginx'te TLS 1.2 nasıl etkinleştirilir?


17

Ubuntu 12.04 sunucumdaki SSL bağlantıları için TLS 1.1 ve 1.2'yi nasıl etkinleştiririm? Nginx ve openssl kütüphanesinin aşağıdaki sürümünü kullanıyorum.

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

Henüz bir şey buldun mu?
BigSack

Bunu çözdün mü? Kullandığınız nginx sürümü çok eski. SSL yapılandırmasını bu Ars Technica makalesinde yararlı bulabilirsiniz.
Paul

Yanıtlar:


14

Öncelikle SSL / TLS'yi aşağıdakilerde etkinleştirmeniz gerekir 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;

İki listenhat IPv4 ve IPv6 bağlantınızda SSL'yi etkinleştirir. IPv6'nız yoksa ikinci listensatırı dışarıda bırakabilirsiniz .

Sunucu sertifikanızın olduğunu varsayıyorum /etc/ssl. Başka bir yol kullanırsanız, son iki satırı değiştirirsiniz.

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

Bu, farklı TLS sürümlerini mümkün kılar. Mevcut tüm tarayıcılar TLS1.2'yi kullanabilir. Eski tarayıcılar için güvenli ayarları etkinleştirmek için küçük bir yazı yazdım .

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;

İlk satır, nignx'ınızın kullanması gereken şifreleri ayarlar. İkinci satır, sunucu tarafında (istemci yerine) şifre paketlerini tercih eder. Böylece güçlü (er) şifreler kullanabilirsiniz.

İşlemi tamamladıysanız, nginx'iniz TLS1.2 kullanmalıdır. İsterseniz sitenizi bir TLS1.2 şöhret salonuna ekleyebilir ve gurur duyabilirsiniz. ;)

Ancak ayarları iyileştirmenin birkaç yöntemi vardır. Güvenli nginx yapılandırması için bu Almanca kılavuzu takip ediyorum .


Ubuntu 12, birlikte çalışma nedeniyle TLS 1.1 ve TLS 1.2'yi devre dışı bırakır. Sanırım yakın zamanda TLS 1.1'i etkinleştirdiler, ancak TLS 1.2'nin hala eksik olduğuna inanıyorum. Bkz. OpenSSL alt düzey sürümü 1.0.0 ve TLS 1.2'yi desteklemez .

1

Nginx'in sonraki sürümlerinde ele alınan çok sayıda güvenlik tavsiyesi vardır. Bu durumda hala (6 ay eski posta?) İseniz, ciddi şekilde yükseltmeyi düşünün; TLS ayarları, web sunucusunun kendisinin güvenli olup olmadığı önemli değildir. Ayrıntılar için http://nginx.org/tr/security_advisories.html adresine bakın.

Herhangi bir nedenden dolayı nginx'in bu sürümünü çalıştırmanız GEREKİRSE, burada nginx (veya Apache) ile güçlü şifre paketlerini etkinleştirmeye ilişkin bilgiler muhtemelen yardımcı olacaktır: https://community.qualys.com/blogs/securitylabs/2013/08/ 05 / yapılandırma-apache-nginx-ve-openssl-için-ileri-gizlilik


0

Ubuntu 12.04 sunucumdaki SSL bağlantıları için TLS 1.1 ve 1.2'yi nasıl etkinleştiririm?

Üç seçenek olduğuna inanıyorum.

İlk olarak, hiçbir şey yapmayın ve Ubuntu 12'nin OpenSSL sürümünü kullanın. TLS 1.1'in artık desteklendiğini düşünüyorum, ancak yine de TLS 1.2'niz olmayacak.

İkincisi, kendi PPA'nızı oluşturun ve koruyun . Özel Paket ile Geçersiz Kılma Distro Paketinde bunu yapmak için bazı talimatlar var mı? Tamlık için, tüm protokolleri sunan Ubuntu ve OpenSSL için mevcut Kişisel Paket Arşivi yoktur .

Üçüncüsü, Ubuntu 14 gibi Ubuntu'nun sonraki bir sürümüne yükseltme. Ubuntu 14'ün şu anda hepsini etkinleştirip etkinleştirmediğini belirlemeye çalışıyorum. Bkz. Ubuntu 14, OpenSSL ve TLS Protokolleri? .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.