Come abilitare TLS 1.2 in Nginx?


17

Come abilito TLS 1.1 e 1.2 per le connessioni SSL nel mio server Ubuntu 12.04? Sto usando la seguente versione di nginx e openssl library.

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

Hai trovato qualcosa?
BigSack

Hai risolto questo? La versione di nginx che stai usando è molto vecchia. È possibile trovare utile la configurazione SSL in questo articolo di Ars Technica .
Paolo,

Risposte:


14

Per prima cosa devi attivare SSL / TLS nel tuo 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;

Le due listenlinee abilitano SSL sulla tua connessione IPv4 e IPv6. Se non si dispone di IPv6, è possibile che venga esclusa la seconda listenriga.

Presumo che il tuo certificato del server sia presente /etc/ssl. Se usi un altro percorso, cambieresti le ultime due righe.

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

Ciò consente diverse versioni TLS. Tutti i browser attuali sono in grado di utilizzare TLS1.2. Per i browser più vecchi ho scritto un piccolo howto per abilitare le impostazioni sicure .

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;

La prima riga imposta le cifre che il tuo nignx dovrebbe usare. La seconda riga preferisce le suite di crittografia sul lato server (e non sul client). Quindi puoi usare cifrature forti.

Se hai finito, il tuo nginx dovrebbe usare TLS1.2. Se lo desideri, puoi aggiungere il tuo sito a una hall of fame TLS1.2 ed essere orgoglioso. ;)

Tuttavia, esistono diversi metodi per migliorare le impostazioni. Seguo questa guida tedesca per la configurazione sicura di nginx .


Ubuntu 12 disabilita TLS 1.1 e TLS 1.2 per motivi di interoperabilità. Penso che abbiano recentemente abilitato TLS 1.1, ma credo che TLS 1.2 sia ancora carente. Vedere la versione di livello inferiore di OpenSSL è 1.0.0 e non supporta TLS 1.2 .

1

Esistono numerosi avvisi di sicurezza che sono stati risolti nelle versioni successive di nginx. Se sei ancora (6 mesi di stantio?) In questa situazione, considera seriamente l'aggiornamento; Le impostazioni TLS non importeranno se il server Web stesso non è sicuro. Vedi http://nginx.org/en/security_advisories.html per i dettagli.

Se, per qualche motivo, DEVI eseguire questa versione di nginx, le informazioni disponibili sull'abilitazione di suite di cifratura avanzata con nginx (o Apache) qui probabilmente aiuteranno: https://community.qualys.com/blogs/securitylabs/2013/08/ 05 / configurazione-apache-nginx-e-openssl-per-forward-segretezza


0

Come abilito TLS 1.1 e 1.2 per le connessioni SSL nel mio server Ubuntu 12.04?

Credo che ci siano tre scelte.

Innanzitutto, non eseguire alcuna operazione e utilizzare la versione di OpenSSL di Ubuntu 12. Credo che TLS 1.1 sia ora supportato, ma non avrai ancora TLS 1.2.

In secondo luogo, crea e gestisci il tuo PPA . Ci sono alcune istruzioni per farlo nel pacchetto Override Distro con pacchetto personalizzato? Per completezza, non esistono archivi di pacchetti personali esistenti per Ubuntu e OpenSSL che offrono i protocolli completi.

Il terzo è l'aggiornamento a una versione successiva di Ubuntu, come Ubuntu 14. Al momento sto cercando di determinare se Ubuntu 14 li abilita tutti. Vedi i protocolli Ubuntu 14, OpenSSL e TLS? .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.