В продолжение
Как получить бесплатный сертификат для сайта/вебсервера (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