Як слід перевірити, чи відновлення відновлення сеансу SSL працює чи ні?


11

Я використовую nginx і хочу реалізувати відновлення сеансу SSL. Як слід перевірити, чи працює він?

Я ввімкнув ці налаштування:

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

Відповіді:


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>"
Bastien Durel
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.