Nginx - Perfect Forward Secrecy aktivieren

Um Perfect Forward Secrecy für den Nginx Webserver 1.0.6 und höher zu aktivieren, ist es notwendig, die Konfiguration anzupassen, damit die richtigen Cipher Suites angeboten werden.

Nginx Konfiguration

Die folgenden Anpassungen werden in der Konfiguration der Website Server Blocks vorgenommen, für die das SSL-Protokoll aktiviert ist. Diese Konfigurationsdateien befinden sich normalerweise in /etc/nginx/sites-enabled/. Mit den unten stehenden Parametern geben Sie an, dass SSLv2 und SSLv3 nicht verwendet werden und dass der Webbrowser die angebotenen Verschlüsselungen respektieren muss.

server {
listen 443 ssl;
...
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_prefer_server_ciphers on;
...
}

Darüber hinaus wird für den SSLCipherSuite Parameter die Präferenz angegeben. Im Folgenden sehen Sie 3 Optionen, jeweils mit einer Erklärung.

1. Konfiguration mit Präferenz für GCM (Galois Counter Mode) Suiten (geschützt gegen Timing-Angriffe) und RC4 (RC4 ist sicher vor BEAST). Für die Schnelligkeit ist die Nutzung der ECDHE Suites empfohlen.

ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";

2. Konfiguration mit Präferenz für GCM (Galois Counter Mode) Suiten (geschützt gegen Timing-Angriffe) und ohne RC4. Für die Schnelligkeit ist die Nutzung der ECDHE Suites empfohlen.

ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";

3. Konfiguration mit Präferenz für (Galois Counter Mode) Suiten (geschützt gegen Timing-Angriffe) und RC4 als letzte Option, wenn veraltete Browser verwendet werden. eller RC4 som en sidste udvej, når der anvendes forældede browsere. Für die Schnelligkeit ist die Nutzung der ECDHE Suites empfohlen.

ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS +RC4 RC4";

Nginx Webserver testen

Nachdem Sie die Parameter in der Konfiguration der Site gändert haben, können Sie sie mit dem folgenden Befehl testen:

sudo nginx -t

Nginx Webserver neu starten

Wenn kein Fehler gemeldet wird, kann der Nginx Webserver mit dem folgenden Befehl neu gestartet werden:

sudo service nginx restart

SSLCheck

SSLCheck überprüft, ob Ihr Zertifikat ordnungsgemäß auf Ihrem Server installiert ist und ob es potenzielle Probleme gibt.