Bagaimana saya harus memeriksa apakah dimulainya kembali sesi SSL berfungsi atau tidak?

11

Saya menggunakan nginx, dan ingin menerapkan pembukaan kembali sesi SSL. Bagaimana seharusnya saya menguji jika berfungsi?

Saya telah mengaktifkan pengaturan ini:

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

Jawaban:

21

Anda dapat menggunakan openssl untuk menguji secara lokal:

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

Atau :

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

(The -no_ticketopsi diperlukan untuk menonaktifkan tiket sesi sisi klien TLS yang juga memungkinkan sesi pembukaan kembali tetapi pengaturan yang berbeda dalam nginx, dan membatasi tes untuk sesi SSL server-side caching kontrol konfigurasi OP.)

Untuk perintah pertama Anda akan mendapatkan output seperti ini:

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

Untuk yang terakhir, Anda akan mendapatkan ini jika sesi dilanjutkan:

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

atau ini jika terjadi kegagalan:

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

Anda dapat melihat jabat tangan jauh lebih besar ketika baru.

Bastien Durel
sumber
Akan sangat membantu jika Anda bisa menjelaskan apa arti output, dan bagaimana menggunakannya untuk menentukan apakah sesi kembali berfungsi.
Kevin Cox
1
periksa "Digunakan kembali, TLSv1 / SSLv3, Cipher adalah <cipher>"
Bastien Durel