Amacım, nginx cihazıma bağlanan müşteriler için uygun güvenliği sağlamak. Nginx kurulumumda TLS'yi düzgün bir şekilde yapılandırmak için Mozilla'nın rehberini takip ediyorum , ancak pratikte kullanılan gerçek protokoller / şifreler hakkında genel bir bilgi yok.
Şimdi neyim var:
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;
}
Bununla, bir bağlantı için hangi SSL protokolünün kullanıldığını ve müşteri / sunucu anlaşmasından sonra hangi şifrenin seçildiğini kaydetmek istiyorum. Örneğin:
10.1.2.3 - - [13/Aug/2014:12:34:56 +0200] "GET / HTTP/1.1" 200 1234 "-" "User agent bla"
için
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"
Bu sayede, PFS'yi ya da diğer ilgili güvenlik sağlayan teknolojileri desteklemeyen eski tarayıcıları veya otomatik makineleri kullanan istemcileri hızlı bir şekilde tanımlayabilirim.
Nginx'i bu bilgiyi günlüğe kaydedecek şekilde nasıl yapılandırabilirim?