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