RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


linux:nginx:ocsp_stapling_comodo

OCSP stapling в Nginx

В этом посте будет слишком много 🙉 вероятно это раздражает, но ничего не поделаешь 🙊 Провожу тайный эксперимент в Dokuwiki 🙈

В примере будет сертификат Sectigo (Comodo) 🔒

Сначала нужно собрать цепочку сертификатов (CA Bundle) ⛓

$ cat foobar_com.crt foobar_com.ca-bundle > ssl_bundle.crt

В зависимосте от типа сертификата в архиве могут быть другие файлы:

  • AddTrustExternalCARoot.crt / Root CA Certificate / Корневой сертификат
  • COMODORSAAddTrustCA.crt / Intermediate CA Certificate / Промежуточный сертификат
  • COMODORSADomainValidationSecureServerCA.crt / Intermediate CA Certificate
  • foobar_com.crt - Сертификат домена

В этом случае команда выглядит так

$ cat foobar_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl_bundle.crt

Да, так советует делать инструкция от Comodo. Но в таком случае на SSLLabs будет предупреждение Chain issues - Contains anchor. Поэтому AddTrustExternalCARoot.crt нужно исключить 🤯 и правильная команда выглядит так

$ cat foobar_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > ssl_bundle.crt

Далее нам нужен файл, содержащий сертификаты (корневой+промежуточный) для проверки ответов OCSP

$ cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > foobar_com_ocsp.crt

Если нужно скачать сертификаты 🤷‍♂️

Пример конфигурационного файла для OCSP stapling

server {
    listen 443 ssl;
    server_name foobar.com;
    ssl_certificate /etc/ssl/foobar_com.crt;
    ssl_certificate_key /etc/ssl/foobar_com.key;
    ssl_trusted_certificate /etc/ssl/foobar_com_ocsp.crt
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 1.1.1.1 8.8.8.8 valid=300s ipv6=off;
    resolver_timeout 5s;
}

Слишком маленькое значение resolver_timeout (менее 5 секунд) может вызвать ошибку 🧙

"ssl_stapling" ignored, host not found in OCSP responder "ocsp.comodoca.com"

Если настроен фаервол, то не забудьте разрешить вашему серверу исходящие соединения к OCSP URL.

Узнаем OCSP URL

$ openssl x509 -in /etc/ssl/foobar_com.crt -noout -ocsp_uri
http://ocsp.comodoca.com

Адрес OCSP сервера - http://ocsp.comodoca.com

Раз уж теперь известен OCSP сервер, то можно провести тест через консоль с openssl.

$ openssl ocsp -issuer intermediate.crt -cert foobar_com.crt -url http://ocsp.comodoca.com -no_nonce

Успешный вывод команды выглядит так

Response verify OK
/etc/ssl/foobar_com.crt: good
        This Update: Apr 29 04:51:34 2020 GMT
        Next Update: May  6 04:51:34 2020 GMT

Если вдруг Responder Error: unauthorized, то читаем RFC5019

Также рекомендую очень полезную статью - Настройка и оптимизация OCSP

🏁

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
linux/nginx/ocsp_stapling_comodo.txt · Последнее изменение: 2021/01/07 15:43 — 127.0.0.1