Come devo verificare se la ripresa della sessione SSL funziona o no?


11

Sto usando nginx e voglio implementare la ripresa della sessione SSL. Come dovrei testare se funziona?

Ho abilitato queste impostazioni:

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

Risposte:



21

Puoi usare openssl per testare localmente:

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

O :

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

(L' -no_ticketopzione è necessaria per disabilitare i ticket di sessione sul lato client TLS che permettono anche la ripresa della sessione, ma è una diversa impostazione in nginx, e limitano il test alla sessione SSL lato server caching controlli di configurazione della OP.)

Per il primo comando otterrai un output in questo modo:

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

Per l'ultimo, otterrai questo in caso di ripresa della sessione:

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

o questo in caso di fallimento:

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

Puoi vedere che la stretta di mano è molto più grande quando è nuova.


Sarebbe utile se tu potessi spiegare cosa significa l'output e come usarlo per determinare se la ripresa della sessione sta funzionando.
Kevin Cox,

1
verifica "Riutilizzato, TLSv1 / SSLv3, Cipher is <cipher>"
Bastien Durel
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.