เป้าหมายของฉันคือการรับรองความปลอดภัยที่เหมาะสมสำหรับลูกค้าที่เชื่อมต่อกับ nginx ของฉัน ฉันปฏิบัติตามคำแนะนำของ Mozilla เพื่อกำหนดค่า TLS อย่างถูกต้องในการติดตั้ง nginx ของฉัน แต่ฉันไม่มีภาพรวมของโปรโตคอล / ciphersuites จริง ๆ ที่ใช้ในทางปฏิบัติ
สิ่งที่ฉันมีตอนนี้:
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;
}
ด้วยสิ่งนี้ฉันต้องการบันทึกว่าใช้โปรโตคอล SSL ใดสำหรับการเชื่อมต่อและเลือก ciphersuite หลังจากไคลเอนต์ / เซิร์ฟเวอร์เจรจา เช่น:
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"
วิธีนี้ฉันสามารถระบุลูกค้าที่ใช้เบราว์เซอร์ที่ล้าสมัยหรือเครื่องอัตโนมัติที่ไม่สนับสนุน PFS หรือเทคโนโลยีการรักษาความปลอดภัยอื่น ๆ
ฉันจะกำหนดค่า nginx เพื่อบันทึกข้อมูลนี้ได้อย่างไร