Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Enable SSLv3 in nginx on debian server

For some demonstration on HTTPS weakness, I'd like to enable SSLv3 on one sub domain of my webserver. I use nginx 1.12.2 on debian 8, and already tried to add the following line

ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;

and then a sudo service nginx restart, but ssllabs still shows SSL as disabled (with the clear-cache option).

Apparently the version of openssl I have supports SSLv3 (openssl ciphers -v), so I don't understand why SSLv3 isn't enabled.

Thanks !

like image 831
LeCoon zarakailloux Avatar asked Nov 20 '17 14:11

LeCoon zarakailloux


2 Answers

Try this command to compare with SSLLabs result :

openssl s_client -ssl3 -connect youserver:443

If the handshake is OK, you probably need to configure the cipers in the NGINX config.

like image 103
Eugène Adell Avatar answered Oct 21 '22 17:10

Eugène Adell


With new versions of openssl, configurations goes in exclusion-way. You can use this command to test SSLv3 protocol

 openssl s_client -connect youserver:443 -no_tls1_2 -no_tls1_1 -no_tls1

But the best way to ensure wich versions of SSL/TLS are working on the remote werver is using NMAP:

nmap -sV --script ssl-enum-ciphers -p 443 youserver

Nmap output will point you in the right direction, because it describes the version working protocols and every available cipher.

PORT    STATE SERVICE   VERSION
443/tcp open  ssl/https nginx
|_http-server-header: nginx
| ssl-enum-ciphers:
|   TLSv1.0:
|     ciphers:
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 1024) - A
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 1024) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|     compressors:
|       NULL
|     cipher preference: client
|     warnings:
|       Key exchange (dh 1024) of lower strength than certificate key
|   TLSv1.1:
|     ciphers:
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 1024) - A
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 1024) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|     compressors:
|       NULL
|     cipher preference: client
|     warnings:
|       Key exchange (dh 1024) of lower strength than certificate key
|   TLSv1.2:
|     ciphers:
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 1024) - A
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 1024) - A
|       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 1024) - A
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 1024) - A
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 1024) - A
|       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 1024) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
|     compressors:
|       NULL
|     cipher preference: client
|     warnings:
|       Key exchange (dh 1024) of lower strength than certificate key
|_  least strength: A

Hope that helps

like image 41
Fco Javier Rod Ca Avatar answered Oct 21 '22 16:10

Fco Javier Rod Ca