OCSP stapling in Nginx >=1.3.7

Alexey ngnx8810773a83 на avksrv.org
Вт Сен 18 20:08:07 UTC 2018


День добрый

18.09.2018 20:03, Maxim Dounin пишет:
> Hello!
>
> Проблема для начала в том, что в OpenSSL нет возможности подождать
> получения OCSP-ответа, не блокируя рабочий процесс nginx'а.
>
Смотрели мы на реализацию получение  OCSP ответов нгинксом, во первых 
если у нас много воркеров, то в каждом воркере кеш свой и в каждом из 
воркеров после включения, или перегрузки конфигурации кеш, естественно, 
слетает. и  при достаточно большом трафике на https все воркеры сразу 
набрасываются на процедуру получения OCSP. Както малопродуктивно, 
учитывая что сам по себе ответ от ЦА меняется не часто. Первый (сколько 
то первых) ответ от воркера почти всегда в итоге улетает без OCSP.  В 
итоге в систему выкатки конфигурации было привнесено средство получения 
готовых ocsp файлов (через openssl ocsp) для каждого используемого 
сертификата и раскладывание их по серверам по мере появления изменений. 
В таком виде процесс получения контролируем, ЦА получает 1 запрос в, 
условно, сутки, а не по куче от всех воркеров с каждого сервера 
одновременно. Ответы можно перепроверить. И даже первый ответ от нгинкса 
с готовым файлом улетает с OCSP всегда. Ошибки получения, если такие 
случаются ловятся в одном месте, а не по куче еррор логов по всем 
серверам. Опять же единичные ошибки ни к чему страшному не приводят, 
всегда есть день-другой запаса по сроку действия прошлого ответа, а если 
конфигурацию у нгинкса перегрузили, то весь кеш сразу и слетел.

флаг Must Staple мы не используем,  но если кто то планирует, то 
отдавать на откуп получение ответов НГИНКСу, наверное совсем не стоит.

зы, кстати если у нгинкса проблемы с получением OCSP от ЦА, но в кеше 
чтото еще есть с прошлых разов, то, кажется, он отдает последний 
закешированный ответ и после окончания его действия, что хуже, чем его 
вообще не отдавать. некоторые браузеры таки начинают ругаться. (понятно, 
что если получать файл внешним скриптом, то это тоже надо бы 
обрабатывать и както реагировать. но тут свой скрипт, делай что хочешь. 
Можно просто выкинуть из конфига соотв команду, если нет достаточно 
свежего файла.)

/Алексей


Подробная информация о списке рассылки nginx-ru