So deaktivieren Sie TLSv1.0 und TLSv1.1 in Nginx

So deaktivieren Sie TLSv1.0 und TLSv1.1 in Nginx

Ich versuche herauszufinden, wie ich TLSv1 und 1.1 Nginx deaktivieren und NUR Verbindungen mit 1.2 zulassen kann. Dies dient eher Testzwecken als dem Produktionseinsatz und ich kann beim besten Willen nicht verstehen, warum Nginx mir dies nicht erlaubt.

Nginx SSL-Konfiguration:

ssl on;
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM256:DH+AESGCM256:ECDH+AES256:!aNULL:!MD5:!kEDH;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=262974383; includeSubdomains;";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;

Aber aus irgendeinem Grund verhandelt Nginx immer noch 1.0- und 1.1-Verbindungen. Mache ich etwas falsch? Ich verwende Nginx 1.7.10 auf Ubuntu Server 14.04LTS mit OpenSSL 1.0.1f.

Antwort1

Von demNginx-Dokumentationfür ssl_protocolsRichtlinie:

Die Parameter TLSv1.1 und TLSv1.2 werden ab den Versionen 1.1.13 und 1.0.12 unterstützt. Wenn also die OpenSSL-Version 1.0.1 oder höher auf älteren Nginx-Versionen verwendet wird, funktionieren diese Protokolle zwar, können aber nicht deaktiviert werden.`

Bei neueren Versionen kann dies mit den opensslfolgenden Befehlen überprüft werden:

  • Überprüfen Sie, ob TLS v1.2 unterstützt wird:openssl s_client -tls1_2 -connect example.org:443 < /dev/null
  • Überprüfen Sie, ob TLS v1.1nichtunterstützt:openssl s_client -tls1_1 -connect example.org:443 < /dev/null
  • Überprüfen Sie, ob TLS v1.0nichtunterstützt:openssl s_client -tls1 -connect example.org:443 < /dev/null

Wenn die Nginx-Konfiguration nur ssl_protocols TLSv1.2die Direktive enthält, wird nur TLSv1.2 unterstützt. Wenn ssl_protocols TLSv1.1 and TLSv1.2konfiguriert ist, werden nur TLSv1.1 und TLSv1.2 unterstützt. Getestet mit openssl 1.0.1eund nginx 1.6.2.

verwandte Informationen