Meu objetivo é garantir a segurança adequada para os clientes que se conectam ao meu nginx. estou seguindo o guia da Mozilla para configurar o TLS corretamente na minha instalação do nginx, mas não tenho uma visão geral dos protocolos / ciphersuites atuais sendo usados na prática.
O que eu tenho agora:
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;
}
Com isso, gostaria de registrar qual protocolo SSL foi usado para uma conexão e qual ciphersuite foi escolhido após a negociação do cliente / servidor. Por exemplo:
10.1.2.3 - - [13/Aug/2014:12:34:56 +0200] "GET / HTTP/1.1" 200 1234 "-" "User agent bla"
para
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"
Dessa forma, posso identificar rapidamente os clientes que estão usando navegadores desatualizados ou máquinas automatizadas que não oferecem suporte ao PFS ou outras tecnologias relevantes de ativação de segurança.
Como faço para configurar o nginx para registrar essas informações?