Форум OlegON > Компьютеры и Программное обеспечение > Сеть

Настройка OCSP Stapling в Nginx : Сеть

22.11.2024 9:14


14.04.2015 12:56
В продолжение Как получить бесплатный сертификат для сайта/вебсервера (HTTPS), обратил внимание, что ssllabs почему-то говорит о том, что OCSP stapling у меня не работает. Решил разобраться, что же это такое:
Цитата:
Что такое OCSP?

OCSP (или Online Certificate Status Protocol) – это протокол, проверяющий, был ли отозван SSL-сертификат. Он был создан в качестве альтернативы CRL, с целью уменьшить время SSL-переговоров. В случае с CRL (Certificate Revocation List) браузер загружает список серийных номеров отозванных сертификатов и проверяет текущий сертификат, что увеличивает время SSL-переговоров. Используя OCSP, браузер посылает запрос к OCSP URL и получает ответ, содержащий состояние достоверности сертификата.

Что такое OCSP stapling?

OCSP stapling – это расширение TLS/SSL, целью которого является повышение производительности SSL-переговоров при сохранении конфиденциальности посетителя.

Две основные проблемы OCSP – это приватность и большая нагрузка на серверы центров сертификации.

Чтобы связаться с центром сертификации (или ЦС) и подтвердить статус сертификата, OCSP требуется браузер. Это нарушает конфиденциальность, поскольку ЦС знает, какой именно сайт был открыт и кто именно получает доступ к нему.

При большом количестве посетителей веб-сайта HTTPS OCSP-сервер ЦС должен обрабатывать все запросы посетителей.

OCSP stapling позволяет владельцу сертификата запрашивать сам OCSP-сервер и кэширует полученный ответ. Этот ответ «сшивается» (staple) с TLS/SSL рукопожатием через Certificate Status Request. В результате серверы ЦС не перегружаются запросами, а браузеры больше не раскрывают подробностей третьим лицам.
Решение до безобразия простое. В каждой директиве server у меня включен файлик, в котором есть такие строки
Код:
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/...../ca-certs.pem;
Соответственно, файлики, полученные в StartSSL, надо слить следующим образом:
Код:
cat ca.pem sub.class1.server.ca.pem >ca-certs.pem
после чего можно перезапустить nginx и убедиться, что все работает командой
Код:
echo QUIT | openssl s_client -connect olegon.ru:443 -status 2> /dev/null | grep -A 17 'OCSP response:' | grep -B 17 'Next Update'
OCSP response: 
======================================
OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: C = IL, O = StartCom Ltd. (Start Commercial Limited), CN = StartCom Class 1 Server OCSP Signer
    Produced At: Apr 13 12:35:04 2015 GMT
    Responses:
    Certificate ID:
      Hash Algorithm: sha1
      Issuer Name Hash: 6568874F40750F016A3475625E1F5C93E5A26D58
      Issuer Key Hash: EB4234D098B0AB9FF41B6B08F7CC642EEF0E2C45
      Serial Number: 050C9B2A58076C
    Cert Status: good
    This Update: Apr 13 12:35:04 2015 GMT
    Next Update: Apr 15 12:35:04 2015 GMT
14.04.2015 12:58
Да, кстати, ssllabs все равно говорит, что оно не работает :(
Часовой пояс GMT +3, время: 09:14.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.