Mein Ziel ist es, eine ordnungsgemäße Sicherheit für Clients zu gewährleisten, die eine Verbindung zu meinem Nginx herstellen. Ich folge dem Mozilla-Handbuch, um TLS in meiner Nginx-Installation richtig zu konfigurieren , habe jedoch keinen Überblick über die tatsächlich in der Praxis verwendeten Protokolle / Chiffresuiten.
Was ich jetzt habe:
server {
listen 443;
ssl on;
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_dhparam /path/to/dhparam.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'the_long_ciphersuite_listed_there';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:50m;
}
Hiermit möchte ich protokollieren, welches SSL-Protokoll für eine Verbindung verwendet wurde und welche Verschlüsselungssuite ausgewählt wurde, nachdem der Client / Server ausgehandelt hat. Z.B:
10.1.2.3 - - [13/Aug/2014:12:34:56 +0200] "GET / HTTP/1.1" 200 1234 "-" "User agent bla"
zu
10.1.2.3 - - [13/Aug/2014:12:34:56 +0200] ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 "GET / HTTP/1.1" 200 1234 "-" "User agent bla"
Auf diese Weise kann ich schnell Clients identifizieren, die veraltete Browser oder automatisierte Maschinen verwenden, die PFS oder andere relevante sicherheitsrelevante Technologien nicht unterstützen.
Wie konfiguriere ich Nginx, um diese Informationen zu protokollieren?