Mon objectif est d'assurer une sécurité adéquate pour les clients se connectant à mon nginx. Je suis le guide de Mozilla pour configurer TLS correctement sur mon installation nginx, mais je n'ai pas un aperçu des protocoles / ciphersuites réels utilisés dans la pratique.
Ce que j'ai maintenant:
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;
}
Avec cela, je voudrais enregistrer quel protocole SSL a été utilisé pour une connexion et quelle ciphersuite a été choisie après la négociation client / serveur. Par exemple:
10.1.2.3 - - [13/Aug/2014:12:34:56 +0200] "GET / HTTP/1.1" 200 1234 "-" "User agent bla"
à
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"
De cette façon, je peux identifier rapidement les clients qui utilisent des navigateurs obsolètes ou des machines automatisées qui ne prennent pas en charge PFS ou d'autres technologies d'activation de sécurité pertinentes.
Comment configurer nginx pour enregistrer ces informations?