Tujuan saya adalah untuk memastikan keamanan yang tepat untuk klien yang terhubung ke nginx saya. Saya mengikuti panduan Mozilla untuk mengkonfigurasi TLS dengan benar pada instalasi nginx saya, tetapi saya tidak memiliki gambaran umum tentang protokol / ciphersuites yang sedang digunakan dalam praktiknya.
Apa yang saya miliki sekarang:
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;
}
Dengan ini, saya ingin mencatat protokol SSL mana yang digunakan untuk koneksi dan ciphersuite apa yang dipilih setelah klien / server dinegosiasikan. Misalnya:
10.1.2.3 - - [13/Aug/2014:12:34:56 +0200] "GET / HTTP/1.1" 200 1234 "-" "User agent bla"
untuk
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"
Dengan cara ini saya dapat dengan cepat mengidentifikasi klien yang menggunakan browser usang atau mesin otomatis yang tidak mendukung PFS atau teknologi yang memungkinkan keamanan lainnya yang relevan.
Bagaimana cara mengkonfigurasi nginx untuk mencatat informasi ini?