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

11

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

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

ssl_session_cache    shared:SSL:10m;
ssl_session_timeout  10m;
Sabya
источник

Ответы:

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

(The -no_ticketопция необходима , чтобы отключить на стороне клиента TLS сессии билетов , которые также позволяют сессионный возобновление , но другой параметр в nginx, и ограничить тест на SSL сессии на стороне сервера кэширования управления конфигурационных параметров порядка) .

Для первой команды вы получите такой вывод:

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

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

Бастьен Дурель
источник
Было бы полезно, если бы вы могли объяснить, что означает вывод и как его использовать, чтобы определить, работает ли возобновление сеанса.
Кевин Кокс
1
проверка на "Повторно использованный, TLSv1 / SSLv3, Cipher is <cipher>"
Бастиен Дурел