Maxim Dounin
August 21, 2016 03:34PM
Hello!

On Sat, Aug 20, 2016 at 04:29:44AM -0400, VVL wrote:

> Доброе утро! Ситуация следующая:
> Имеем: в основном конфигурационном сайте - nginx.conf включен OCSP
> следующими параметрами:
> ssl_stapling on;
> ssl_stapling_verify on;
> resolver 8.8.8.8 8.8.4.4 valid=300s;
> В виртуальном хосте дополнительно прописан stapling_file:
> ssl_stapling_file ...l/ocsp.der;
> Который не работает. Т.е. если создать искуственно долгий (или превышающий
> лимит) ответ от resolver-а, и проверять работу OCSP например командой
> openssl s_client -connect example.com:443 -status 2> /dev/null | grep -A 17
> 'OCSP response:' | grep -B 17 'Next Update'
> ,то он отрабатывает через раз (или реже, в зависимости от условий). Сначала
> было подозрение на http2/round robin, но их отключение результата не дало.
> При переносе ssl_stapling_file в основной конфигурационный файл, все
> заработало - OCSP отрабатывает каждый раз, даже если поставить заведомо
> нерабочий resolver.

В приведённой команде "openssl s_client" вы проверяете OCSP
stapling для сервера по умолчанию на данном IP, без использования
SNI (задаётся с помощью параметра "-servername"). А
конфигурируете его - в виртуальном сервере. От этого и не
работает.

Под переносом в основной конфигурационный файл, видимо, имеется в
виду указание соответствующей директивы на уровне http{}. В этом
случае значение наследуется во все блоки server{}, и
соответственно будет также использоваться в сервере по умолчанию,
если не переопределно там явно.

> Дальше, путем эксперимента было установлено, что такое
> поведение у многих параметров ssl_. Является ли это нормой, что эти
> параметры работают только в основном конфигурационном файле? А если нужны
> разные ssl_stapling_file для хостов?

Многие настройки SSL работают до обработки SNI, и, соответственно,
имеют смысл только сервере по умолчанию даже в случае
использования SNI. E.g., разные ssl_protocols для разных
виртуальных сервреров - задать не получится.

Однако в ssl_stapling_file это не относится, см. выше.

> Немного оффтопа:
> При генерации ocsp файла командой
> openssl ocsp -issuer sca.server2.crt -cert example.com.crt -url
> http://ocsp.startssl.com -header "Host" "ocsp.startssl.com" -respout
> ocsp.der -resp_text
> (сертификаты StartSSL), и последующей проверке >любого< сертификата этого
> CA, ocsp.der выдает good (нет возможности проверить отозванный). Разве он не
> должен записать статус только example.com.crt? Вес файла ~2кб.

Не совсем понятно, что означают слова "последующая проверка любого
сертификата". В файле ocsp.der после выполнения команды выше у
вас будет OCSP-ответ про конкретный сертификат, для других
сертификатов этот ответ не годится. Если вы его дальше пытаетесь
подсунуть браузерам с помощью ssl_stapling_file вместе вместе с
другим сертификатом - в зависимости от браузера он будет либо
проигнорирован, либо приведён к ошибке соединения.

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Странное поведение OCSP Stapling и параметров ssl_

VVL August 20, 2016 04:29AM

Re: Странное поведение OCSP Stapling и параметров ssl

Maxim Dounin August 21, 2016 03:34PM

Re: Странное поведение OCSP Stapling и параметров ssl

VVL August 22, 2016 03:50AM

Re: Странное поведение OCSP Stapling и параметров ssl

VVL August 22, 2016 07:59AM

Re: Странное поведение OCSP Stapling и параметров ssl

Maxim Dounin August 22, 2016 09:36AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 175
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready