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

Как определить, правильно ли работает кеширование сеанса SSL с Apache 2.2?

У нас Apache 2.2.22 работает на Ubuntu 12.04.

SSL настроен и включен, с этими директивами в /etc/apache2/mods-enabled/ssl.conf:

SSLSessionCache shm:/var/www/apache-ssl-cache/ssl_scache(512000)
SSLSessionCacheTimeout  300
SSLMutex file:/var/www/apache-ssl-cache/ssl_mutex

SSL вроде работает. Мы можем получить доступ к сайту через HTTPS, даже в IE8 на Windows XP. Однако мы не уверены, правильно ли работает кэш сеанса SSL.

Мы видим много таких сообщений уровня INFO в журнале нашего виртуального хоста:

[info] [client <censored>] (70007)The timeout specified has expired: SSL input filter read failed.

или

[info] [client <censored>] (70014)End of file found: SSL input filter read failed.

или

[info] [client <censored>] (70014)End of file found: SSL handshake interrupted by system [Hint: Stop button pressed in browser?!]

Посев ГПСЧ также, кажется, происходит довольно часто. К сожалению, невозможно достоверно сказать, для какого разветвленного дочернего процесса apache засевается ГПСЧ:

[info] Seeding PRNG with 656 bytes of entropy

Значит, эти сообщения указывают на то, что кеш сеанса SSL не работает (в разветвленных дочерних процессах apache)?

РЕДАКТИРОВАТЬ

Я нашел различные сайты, на которых упоминается использование openssl s_client -reconnect или gnutls-cli -Vr для тестирования кеширования сеанса SSL. Я считаю, что они отвечают только на часть вопроса: потому что обе программы Отключить затем повторно подключаются, они только подтверждают, что сеанс SSL кэширован и может быть повторно использован последовательно, но они не проверяют, можно ли использовать кешированный сеанс SSL одновременно несколькими разветвленными серверами одному и тому же клиенту. На самом деле это типичный сценарий использования современных браузеров при извлечении ресурсов с веб-сайта HTTPS).

Чтобы проверить, что кэшированный сеанс SSL может использоваться одновременно, первое тестовое соединение не должно быть закрыто до открытия следующего с использованием того же идентификатора / ключа сеанса SSL. К сожалению, ни у одной из утилит такой возможности нет.

Вы можете проверить наверняка, используя один из сайтов анализа SSL (например, Проверка SSL-сервера Qualys). Посмотрите на результат «теста возобновления сеанса»: если он говорит «Да», кеширование сеанса работает.