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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить