Назад | Перейти на главную страницу

Как мне проверить, работает ли возобновление сеанса SSL?

Я использую nginx и хочу реализовать возобновление сеанса SSL. Как мне проверить, работает ли он?

Я включил эти настройки:

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

Вы можете использовать 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

(The -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

Вы можете видеть, что рукопожатие намного больше, когда оно новое.

Я не уверен, как протестировать локально, но если ваш сайт является общедоступным, ssllabs предоставляют хороший инструмент для тестирования:

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