Wie aktiviere ich TLS 1.2 in Nginx?


17

Wie aktiviere ich TLS 1.1 und 1.2 für SSL-Verbindungen auf meinem Ubuntu 12.04-Server? Ich benutze die folgende Version von Nginx und OpenSSL-Bibliothek.

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

Hast du schon was gefunden?
BigSack

Hast du das gelöst? Die von Ihnen verwendete Nginx-Version ist sehr alt. Möglicherweise ist die SSL-Konfiguration in diesem Artikel von Ars Technica hilfreich.
Paul

Antworten:


14

Zuerst müssen Sie SSL / TLS aktivieren in 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;

Die beiden listenLeitungen aktivieren SSL bei Ihrer IPv4- und IPv6-Verbindung. Wenn Sie kein IPv6 haben, können Sie die zweite listenZeile weglassen.

Ich gehe davon aus, dass Ihr Serverzertifikat in ist /etc/ssl. Wenn Sie einen anderen Pfad verwenden, ändern Sie die letzten beiden Zeilen.

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

Dies ermöglicht verschiedene TLS-Versionen. Alle aktuellen Browser können TLS1.2 verwenden. Für ältere Browser habe ich ein kleines Howto geschrieben, um sichere Einstellungen zu aktivieren .

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;

In der ersten Zeile werden die Chiffren festgelegt, die Ihr Nignx verwenden soll. Die zweite Zeile bevorzugt die Cipher Suites auf der Serverseite (und nicht auf der Clientseite). Sie können also starke (er) Chiffren verwenden.

Wenn Sie fertig sind, sollte Ihr Nginx TLS1.2 verwenden. Wenn Sie möchten , können Sie Ihre Website einer TLS1.2-Ruhmeshalle hinzufügen und stolz sein. ;)

Es gibt jedoch mehrere Methoden, um die Einstellungen zu verbessern. Ich folge dieser Anleitung für die sichere Konfiguration von Nginx .


Ubuntu 12 deaktiviert TLS 1.1 und TLS 1.2 aus Interop-Gründen. Ich glaube, sie haben vor kurzem TLS 1.1 aktiviert, aber ich glaube, TLS 1.2 fehlt immer noch. Siehe OpenSSL-Downlevel-Version 1.0.0, TLS 1.2 wird nicht unterstützt .

1

Es gibt zahlreiche Sicherheitshinweise, die in nachfolgenden Versionen von nginx behandelt wurden. Wenn Sie sich in dieser Situation immer noch (6 Monate veraltet?) Befinden, sollten Sie ernsthaft ein Upgrade in Erwägung ziehen. TLS-Einstellungen spielen keine Rolle, wenn der Webserver selbst unsicher ist. Weitere Informationen finden Sie unter http://nginx.org/en/security_advisories.html .

Wenn Sie diese Version von nginx aus irgendeinem Grund ausführen MÜSSEN, helfen die hier verfügbaren Informationen zum Aktivieren starker Cipher Suites mit nginx (oder Apache) wahrscheinlich weiter: https://community.qualys.com/blogs/securitylabs/2013/08/ 05 / apache-nginx-und-openssl-für-vorwärts-geheimhaltung konfigurieren


0

Wie aktiviere ich TLS 1.1 und 1.2 für SSL-Verbindungen auf meinem Ubuntu 12.04-Server?

Ich glaube, es gibt drei Möglichkeiten.

Tun Sie zunächst nichts und verwenden Sie die Ubuntu 12-Version von OpenSSL. Ich glaube, TLS 1.1 wird jetzt unterstützt, aber Sie werden TLS 1.2 immer noch nicht haben.

Zweitens: Erstellen und pflegen Sie Ihre eigene PPA . Gibt es einige Anweisungen dazu unter " Distro-Paket mit benutzerdefiniertem Paket überschreiben"? Der Vollständigkeit halber gibt es für Ubuntu und OpenSSL keine Personal Package Archives , die die vollständigen Protokolle anbieten.

Das dritte ist ein Upgrade auf eine spätere Version von Ubuntu, wie Ubuntu 14. Ich versuche festzustellen, ob Ubuntu 14 sie alle im Moment aktiviert. Siehe Ubuntu 14, OpenSSL und TLS-Protokolle? .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.