Skip to content

Как включить OCSP Stapling

Коротко:

OCSP Stapling — сервер сам периодически получает OCSP-ответ от CA и "прикрепляет" к TLS handshake. Без stapling каждый клиент делает свой OCSP-запрос → +100-300ms + утечка URL в CA. Настройка в nginx: 3 директивы + resolver. Pro + secure by default.

Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.

Пошаговая настройка

  1. Получите chain.pem от CA (для Let's Encrypt — в /etc/letsencrypt/live/example.com/)
  2. В server block nginx добавьте: ssl_stapling on; ssl_stapling_verify on;
  3. Укажите trusted certificate: ssl_trusted_certificate /path/to/chain.pem;
  4. Добавьте resolver (DNS для запросов к OCSP): resolver 1.1.1.1 8.8.8.8 valid=60s;
  5. nginx -t && systemctl reload nginx
  6. Проверьте: openssl s_client -connect example.com:443 -status < /dev/null 2>&1 | grep -A2 "OCSP Response"
  7. Enterno SSL покажет OCSP Stapling как "Enabled"

Рабочие примеры

СценарийКонфиг
nginx minimal configserver { listen 443 ssl; ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; resolver 1.1.1.1 valid=60s; }
ApacheSSLUseStapling On\nSSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
Проверка успехаopenssl s_client -connect example.com:443 -status | grep "OCSP Response Status"
Must-Staple (enforce)certbot certonly --must-staple -d example.com # cert имеет must-staple extension

Типичные ошибки

  • Забыть resolver — nginx не сможет резолвить OCSP host → stapling не работает
  • chain.pem содержит только server cert (без intermediate) — validation fails
  • Слишком агрессивный resolver timeout — stapling иногда выключается
  • Must-Staple cert + OCSP down — клиент не сможет подключиться (harsh, но secure)
  • На первом запросе nginx делает fresh OCSP fetch — 1-2 слабых клиентов могут увидеть задержку
СертификатСрок, издатель, домены (SAN)
ЦепочкаПроверка промежуточных и корневых CA
TLS-протоколВерсия TLS и набор шифров
УязвимостиHeartbleed, POODLE, слабые шифры

Почему нам доверяют

TLS 1.3
поддержка
Полная
цепочка CA
<2с
результат
30/14/7
дней до истечения

Как это работает

1

Введите домен

2

Проверка цепочки TLS

3

Дата истечения и уязвимости

Что проверяет SSL-тест?

SSL/TLS — протокол шифрования, который защищает данные между браузером и сервером. Наш инструмент анализирует сертификат, цепочку доверия, версию TLS и известныеуязвимости.

Детали сертификата

Издатель, срок действия, алгоритм подписи, покрываемые домены (SAN) и тип валидации (DV/OV/EV).

Цепочка доверия

Проверка полной цепочки: от конечного сертификата через промежуточные до корневого CA.

Анализ TLS

Версия протокола (TLS 1.2/1.3), набор шифров, поддержка Perfect Forward Secrecy (PFS).

Оповещения об истечении

Создайте монитор — получайте уведомления в Telegram и email за 30/14/7 дней до истечения.

DV vs OV vs EV сертификаты

DV (Domain Validation)
  • Подтверждение только владения доменом
  • Выдаётся за минуты автоматически
  • Бесплатно через Let's Encrypt
  • Подходит для большинства сайтов
  • Самый распространённый тип
OV / EV
  • Проверка организации (OV) или расширенная проверка (EV)
  • Выдаётся за 1-5 рабочих дней
  • Стоимость от $50 до $500/год
  • Для финансов, e-commerce, госсайтов
  • Повышает доверие пользователей

Кому это нужно

DevOps

мониторинг SSL-сертификатов

Безопасность

аудит TLS-конфигурации

SEO

HTTPS как фактор ранжирования

E-commerce

доверие покупателей

Частые ошибки

Истёкший сертификатБраузеры блокируют сайт с истёкшим SSL. Настройте автопродление или мониторинг.
Неполная цепочка сертификатовБез промежуточного CA некоторые браузеры и боты не смогут верифицировать сертификат.
Mixed content на HTTPS-сайтеHTTP-ресурсы на HTTPS-странице — замок в браузере пропадает, снижается доверие.
Использование TLS 1.0/1.1Устаревшие версии TLS содержат известные уязвимости. Используйте TLS 1.2+ или 1.3.
Несовпадение домена в сертификатеСертификат должен покрывать все домены сайта, включая www и поддомены.

Лучшие практики

Настройте автопродлениеLet's Encrypt + certbot с cron — сертификат обновляется автоматически каждые 60-90 дней.
Включите HSTSЗаголовок Strict-Transport-Security заставляет браузер всегда использовать HTTPS.
Используйте TLS 1.3TLS 1.3 быстрее (1-RTT handshake) и безопаснее — убраны устаревшие шифры.
Мониторьте срок действияСоздайте монитор на Enterno.io — получайте уведомления задолго до истечения.
Проверяйте цепочку после обновленияПосле обновления сертификата убедитесь, что промежуточные сертификаты установлены.

Получите больше с бесплатным аккаунтом

Мониторинг SSL-сертификатов, история проверок и уведомления за 30 дней до истечения.

Зарегистрироваться (FREE)

Больше по теме

Часто задаваемые вопросы

Обязательно ли OCSP Stapling?

Нет технически, но Qualys SSL Labs снижает grade на A-. Mozilla рекомендует. Browsers с Must-Staple cert требуют.

Сколько часто nginx запрашивает OCSP?

nginx кэширует response на несколько часов (не настраивается напрямую, зависит от cache control в OCSP response).

Let's Encrypt поддерживает OCSP?

Да, полностью. Their OCSP responder ocsp.int-x3.letsencrypt.org 24/7.

Как проверить что stapling работает?

<a href="/ssl">Enterno SSL</a> → секция TLS → "OCSP Stapling: Active" + <code>openssl s_client -status</code>.