Jak sprawdzić, czy wznowienie sesji SSL działa, czy nie?


11

Używam nginx i chcę wdrożyć wznawianie sesji SSL. Jak powinniśmy przetestować, czy działa?

Włączyłem te ustawienia:

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

Odpowiedzi:



21

Możesz użyć openssl do testowania lokalnego:

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

Lub:

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_ticketopcja jest potrzebna, aby wyłączyć biletów sesji TLS po stronie klienta , które umożliwiają także wznowienie sesji, ale jest inne ustawienie w nginx, i ograniczają test na stronie serwera sesji SSL buforowanie kontroli konfiguracji PO Użytkownika).

Dla pierwszego polecenia otrzymasz wynik w następujący sposób:

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

W ostatnim przypadku otrzymasz to w przypadku wznowienia sesji:

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

lub to w przypadku awarii:

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

Widać, że uścisk dłoni jest znacznie większy, gdy jest nowy.


Przydałoby się wyjaśnienie, co oznacza dane wyjściowe i jak go użyć, aby ustalić, czy wznowienie sesji działa.
Kevin Cox,

1
sprawdź „Ponownie użyty, TLSv1 / SSLv3, Cipher is <cipher>”
Bastien Durel,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.