ฉันจะตรวจสอบได้อย่างไรว่าการเริ่มต้นเซสชัน SSL ใหม่ทำงานหรือไม่


11

ฉันใช้ nginx และต้องการใช้การเริ่มต้นเซสชัน SSL อีกครั้ง ฉันควรทดสอบว่ามันทำงานอย่างไร

ฉันได้เปิดใช้งานการตั้งค่าเหล่านี้:

ssl_session_cache    shared:SSL:10m;
ssl_session_timeout  10m;

คำตอบ:


10

ฉันไม่แน่ใจเกี่ยวกับวิธีการทดสอบภายในเครื่อง แต่ถ้าไซต์ของคุณเป็นแบบสาธารณะ ssllabs จะมีเครื่องมือทดสอบที่ดี:

https://www.ssllabs.com/ssldb/index.html


21

คุณสามารถใช้ openssl เพื่อทดสอบในเครื่อง:

openssl s_client -connect example.com:443 -reconnect -no_ticket

หรือ :

openssl s_client -connect example.com:443 -no_ticket -sess_out /tmp/ssl_s
openssl s_client -connect example.com:443 -no_ticket -sess_in /tmp/ssl_s

(ใน-no_ticketตัวเลือกที่จำเป็นในการปิดการใช้งานฝั่งไคลเอ็นต์ TLS ตั๋วเซสชั่นซึ่งยังช่วยให้การเริ่มต้นใหม่เซสชั่น แต่การตั้งค่าที่แตกต่างกันในnginxและ จำกัด การทดสอบกับเซสชั่น SSL ฝั่งเซิร์ฟเวอร์แคชควบคุมการตั้งค่าของ OP.)

สำหรับคำสั่งแรกคุณจะได้ผลลัพธ์ดังนี้:

drop connection and then reconnect
CONNECTED(00000003)
---
Reused, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256

สำหรับอันสุดท้ายคุณจะได้รับสิ่งนี้ในกรณีที่เริ่มต้นเซสชันใหม่

SSL handshake has read 142 bytes and written 583 bytes
---
Reused, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256

หรือสิ่งนี้ในกรณีที่ล้มเหลว:

SSL handshake has read 5855 bytes and written 722 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384

คุณสามารถเห็นการจับมือเป็นวิธีที่ใหญ่กว่าเมื่อมันใหม่


มันจะมีประโยชน์ถ้าคุณสามารถอธิบายความหมายของผลลัพธ์และวิธีการใช้มันเพื่อตรวจสอบว่าการเริ่มต้นใหม่ของเซสชันใช้งานได้หรือไม่
Kevin Cox

1
ตรวจสอบ "Reused, TLSv1 / SSLv3, Cipher คือ <cipher>"
Bastien Durel
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.