NGINX

Nginx: SSL Cipher Suites vorschreiben

Bei einer SSL-Verbindung wird nicht nur ausgehandelt welches SSL-Protokoll benutzt werden soll, sondern auch welche Verschlüsselung es sein soll. Normalerweise gibt der Browser hier den Ton an und schlägt dem Webserver vor welche Cipher Suites er nutzen möchte. Die Browser fangen meisten immer mit schwachen Verschlüsselungen (z.B. RC4) an, obwohl sie auch viel sichere Verfahren könnten. RC4 sollte in Zeiten von NSA und Co. zum Beispiel gar nicht mehr zum Einsatz kommen, denn es gilt als geknackt. Erst wenn Browser und Webserver sich für eine Cipher Suite entschieden haben, kommt auch eine Verbindung zustande. Jede Cipher Suite ist eine Kombination aus vier standardisierten Algorithmen.
Leider unterstützen nicht alle Browser und Bots alle Verschlüsselungsverfahren, daher ist ist hier etwas Feinarbeit nötig und man muss einen Kompromiss eingehen.

Als erstes sollte Nginx die Cipher Suite dem Browser vorschreiben welches Verfahren man nutzen möchte und nicht umgekehrt. Standardmäßig ist diese Option aus. Mit der folgenden Zeile für die Nginx Konfiguration schalten wir diese erstmal an:

http {
ssl_prefer_server_ciphers on;
}

Jetzt würde die Cipher Suite so aussehen: ssl_ciphers HIGH:!aNULL:!MD5;

Continue reading…