OCSP stapling in Nginx >=1.3.7
Gena Makhomed
gmm на csdoc.com
Ср Сен 19 22:53:02 UTC 2018
On 18.09.2018 23:08, Alexey wrote:
> Смотрели мы на реализацию получение OCSP ответов нгинксом, во первых
> если у нас много воркеров, то в каждом воркере кеш свой и в каждом из
> воркеров после включения, или перегрузки конфигурации кеш, естественно,
> слетает. и при достаточно большом трафике на https все воркеры сразу
> набрасываются на процедуру получения OCSP. Както малопродуктивно,
> учитывая что сам по себе ответ от ЦА меняется не часто. Первый (сколько
> то первых) ответ от воркера почти всегда в итоге улетает без OCSP. В
> итоге в систему выкатки конфигурации было привнесено средство получения
> готовых ocsp файлов (через openssl ocsp) для каждого используемого
> сертификата и раскладывание их по серверам по мере появления изменений.
> В таком виде процесс получения контролируем, ЦА получает 1 запрос в,
> условно, сутки, а не по куче от всех воркеров с каждого сервера
> одновременно. Ответы можно перепроверить. И даже первый ответ от нгинкса
> с готовым файлом улетает с OCSP всегда. Ошибки получения, если такие
> случаются ловятся в одном месте, а не по куче еррор логов по всем
> серверам. Опять же единичные ошибки ни к чему страшному не приводят,
> всегда есть день-другой запаса по сроку действия прошлого ответа, а если
> конфигурацию у нгинкса перегрузили, то весь кеш сразу и слетел.
Это не работает, если надо иметь одновременно ECDSA и RSA сертификаты.
В https://trac.nginx.org/nginx/ticket/990 о проблеме подробно написано.
> флаг Must Staple мы не используем, но если кто то планирует, то
> отдавать на откуп получение ответов НГИНКСу, наверное совсем не стоит.
Получать OCSP-ответы и держать их в кэше
- это вполне себе работа для веб-сервера.
> зы, кстати если у нгинкса проблемы с получением OCSP от ЦА, но в кеше
> чтото еще есть с прошлых разов, то, кажется, он отдает последний
> закешированный ответ и после окончания его действия, что хуже, чем его
> вообще не отдавать. некоторые браузеры таки начинают ругаться. (понятно,
> что если получать файл внешним скриптом, то это тоже надо бы
> обрабатывать и както реагировать. но тут свой скрипт, делай что хочешь.
> Можно просто выкинуть из конфига соотв команду, если нет достаточно
> свежего файла.)
Эта проблема была исправлена еще в 2015 году:
https://trac.nginx.org/nginx/ticket/425#comment:4
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru