Maxim Dounin
September 11, 2018 12:00PM
Hello!

On Tue, Sep 11, 2018 at 05:40:19PM +0300, Gena Makhomed wrote:

> On 11.09.2018 15:38, Maxim Dounin wrote:
>
> >>> Лучше всего - сделать так, чтобы OpenSSL научился проверять
> >>> OCSP-ответы не полной цепочкой сертификатов вплоть до доверенного
> >>> root'а, а ровно так, как и должно быть по стандарту - с помощью
> >>> одного только сертификата issuer'а. Тогда проблема исчезнет.
>
> >> А разработчики OpenSSL разве знают об этой проблеме?
> >> На гитхабе https://github.com/openssl/openssl/issues
> >> я не нашел issue в которой бы описывалась эта проблема.
>
> > О проблеме писалось ещё до того, как OpenSSL переехал на github,
> > и вроде бы даже был тикет на rt.openssl.org про это.
> > Но я не следил, и не планирую.
>
> > Этим летом в кои-то веки документировали саму функцию
> > OCSP_basic_verify(), используемую для проверки OCSP-ответов. И
> > если самого факта недостаточно для понимания проблемы, то стоит
> > прочитать эту самую документацию, она доставляет.
>
> Почитал документацию
> https://www.openssl.org/docs/manmaster/man3/OCSP_basic_verify.html
> там говорится о флаге OCSP_TRUSTOTHER, смысл примерно такой:
>
> : ... or if the signer certificate was found in certs and
> : the flags contain OCSP_TRUSTOTHER. Otherwise the function
> : continues by validating the signer certificate.
>
> О том же написано и в CHANGELOG:
>
> *) New OCSP verify flag OCSP_TRUSTOTHER. When set the "other"
> certificates passed by the function are trusted implicitly.
> If any of them signed the response then it is assumed
> to be valid and is not verified.
>
> Насколько я понимаю, это и есть та самая проверка с помощью
> одного только сертификата issuer'а, о которой Вы говорите?
>
> Если это то, что надо, то сейчас уже ничто не мешает сделать
> в nginx директиву ocsp_stapling_verify включенной по-умолчанию?
> И для ее работы не нужно будет прописывать ssl_trusted_certificate?

В зависимости от того, каким сертификатом подписан OCSP-ответ -
этого может быть достаточно или нет. RFC 6960 допускает два
варианта подписи в OCSP-ответах:

- issuer подписывает OCSP-ответ сам; или
- issuer выпускает сертификат, которым подписываются OCSP-ответы
(и этот сертификат включается в OCSP-ответ).

В обоих случаях для проверки OCSP-ответа достаточно знать
issuer'а, однако второй случай в OpenSSL не работает (впрочем, я
давно не порверял; но если верить "документации", в этом месте
ничего не зименилось). При этом по понятным причинам мало кто
использует собственно CA для подписи OCSP-ответов, соответственно
не работает это приблизительно всегда.

> >> Но даже если вдруг новые версии OpenSSL научатся проверять OCSP-ответы
> >> с помощью одного только сертификата issuer'а - проблема не исчезнет.
>
> >> Потому что останется огромное количество операционных систем,
> >> в которых будет установлена старая версия OpenSSL, например,
> >> CentOS/RHEL. Новые версии этой системы выходят очень редко.
>
> >> И потребуется как минимум 5-10 лет, прежде чем новые версии
> >> OpenSSL вытеснят старые версии OpenSSL из всех дистрибутивов.
>
> > Никто не мешает не использовать OCSP stapling. Либо же не
> > использовать ocsp_stapling_verify. При разумном поведении
> > браузеров - от отсутствия проверки на стороне nginx'а проблем быть
> > не должно. Если же браузеры по какой-то причине предпочитают
> > вести себя неразумно - что ж, это их выбор.
>
> ocsp_stapling_verify в nginx можно без проблем использовать
> и прямо сейчас, только для этого надо прописать дополнительно
> ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
>
> Насколько я понял из предыдущего обсуждения, нет разумных причин,
> чтобы выключать использование OCSP stapling и ocsp_stapling_verify.
>
> И вместе с тем, есть причины, чтобы их включать:
> OCSP stapling - сайт у клиентов будет открываться быстрее.
> ocsp_stapling_verify - не будет проблем с неразумными браузерами.

Про "быстрее" - есть нюансы. В частности, OCSP-ответ отправляется
клиенту, пытающемуся использовать OCSP stapling, в каждом
SSL handshake'е (а это местами может быть больно с точки зрения latency, не
говоря уже про трафик), в то время как в значительной части
случаев он клиенту на самом деле не нужен (например, уже есть в
кэше).

Про verify - тоже есть нюансы. Дискуссия, если я её правильно
понял, как раз о том, что включать verify обходится дороже с
административной точки зрения, чем хотелось бы. При этом плюсы -
призрачны, ибо защищают от атак, которых на практике не бывает
(а если бы они были - браузеры бы давно исправились).

Единственное несомненное преимущество OCSP stapling'а - это
меньшая нагрузка на инфраструктуру CA.

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

OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 06, 2018 11:28AM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 10, 2018 09:06AM

Re: OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 10, 2018 03:40PM

Re: OCSP stapling in Nginx >=1.3.7

Илья Шипицин September 10, 2018 04:24PM

Re: OCSP stapling in Nginx >=1.3.7

ngnx8810773a83 September 10, 2018 05:01PM

Re: OCSP stapling in Nginx >=1.3.7

Илья Шипицин September 11, 2018 03:08AM

Re: OCSP stapling in Nginx >=1.3.7

ngnx8810773a83 September 10, 2018 04:52PM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 10, 2018 11:22PM

Re: OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 11, 2018 04:12AM

Re: OCSP stapling in Nginx >=1.3.7

Илья Шипицин September 11, 2018 04:16AM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 11, 2018 08:40AM

Re: OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 11, 2018 10:42AM

Re: OCSP stapling in Nginx >=1.3.7

Илья Шипицин September 11, 2018 11:06AM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 11, 2018 12:00PM

Re: OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 11, 2018 03:00PM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 12, 2018 10:38AM

Re: OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 15, 2018 07:36AM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 16, 2018 07:38PM

Re: OCSP stapling in Nginx >=1.3.7

Илья Шипицин September 17, 2018 09:06AM

Re: OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 18, 2018 10:02AM

Re: OCSP stapling in Nginx >=1.3.7

Илья Шипицин September 18, 2018 12:20PM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 18, 2018 01:30PM

Re: OCSP stapling in Nginx >=1.3.7

Илья Шипицин September 18, 2018 01:50PM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 18, 2018 03:10PM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 18, 2018 01:04PM

Re: OCSP stapling in Nginx >=1.3.7

ngnx8810773a83 September 18, 2018 04:10PM

Re: OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 19, 2018 06:54PM

Re: OCSP stapling in Nginx >=1.3.7

ngnx8810773a83 September 19, 2018 07:46PM

Re: OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 18, 2018 05:28PM

Re: OCSP stapling in Nginx >=1.3.7

Илья Шипицин September 18, 2018 06:00PM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 19, 2018 03:26PM

Re: OCSP stapling in Nginx >=1.3.7

Илья Шипицин September 19, 2018 03:54PM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 19, 2018 02:58PM

Re: OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 19, 2018 06:32PM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 19, 2018 08:08PM

Re: OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 19, 2018 10:42PM

Re: OCSP stapling in Nginx >=1.3.7

Илья Шипицин September 20, 2018 02:32AM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 20, 2018 09:02AM

Re: OCSP stapling in Nginx >=1.3.7

Илья Шипицин September 20, 2018 09:52AM

Re: OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 20, 2018 01:56PM

Re: OCSP stapling in Nginx >=1.3.7

Maxim Dounin September 20, 2018 07:48PM

Re: OCSP stapling in Nginx >=1.3.7

Gena Makhomed September 21, 2018 12:42PM

How to Improve SEO with HTTPS and NGINX

Gena Makhomed September 15, 2018 11:22AM

Re: How to Improve SEO with HTTPS and NGINX

Maxim Dounin September 16, 2018 07:44PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 142
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