Skip to content
EN

Что такое OCSP и OCSP Stapling

Коротко:

OCSP (Online Certificate Status Protocol) — протокол проверки, не отозван ли SSL-сертификат. Без OCSP Stapling браузер сам делает запрос к OCSP-серверу CA — это +100-300ms на каждое новое TLS-соединение и утечка URL-ов в CA. OCSP Stapling: сервер заранее получает ответ OCSP и "прикрепляет" его к TLS handshake. Быстрее и приватнее.

Ниже: подробности, пример, смежные термины, FAQ.

Проверить SSL своего сайта →

Подробности

  • Без Stapling: клиент → OCSP responder (CA) → 200 OK или revoked
  • С Stapling: сервер периодически запрашивает OCSP → кэширует ответ → включает в TLS handshake
  • Stapling работает даже когда OCSP responder CA временно недоступен
  • Must-Staple флаг в сертификате — требует Stapling, запрещает fallback к прямому OCSP
  • nginx: ssl_stapling on; ssl_stapling_verify on;

Пример

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /path/chain.pem;
resolver 1.1.1.1 valid=60s;

Смежные термины

OCSP и OCSP Stapling — краткий обзор

OCSP (Online Certificate Status Protocol) — это протокол, который позволяет проверять статус сертификатов SSL/TLS в реальном времени. OCSP Stapling — это усовершенствованная версия OCSP, при которой информация о статусе сертификата прикрепляется к TLS-соединению сервером, что снижает нагрузку на OCSP-серверы и ускоряет процесс проверки. В этом случае клиенту не нужно делать отдельный запрос к OCSP-серверу, что значительно повышает производительность и безопасность.

Как работает OCSP?

OCSP позволяет клиентам (обычно браузерам) проверять статус SSL/TLS-сертификатов без необходимости загружать весь список отозванных сертификатов. Вместо этого, клиент отправляет запрос на OCSP-сервер, который возвращает статус сертификата: действующий, отозванный или неизвестный. Запрос включает в себя информацию о сертификате, например, его серийный номер.

Пример запроса OCSP выглядит следующим образом:

GET /ocsp HTTP/1.1
Host: ocsp.example.com
Content-Type: application/ocsp-request

На ответ клиент получает статус сертификата, который может выглядеть так:

HTTP/1.1 200 OK
Content-Type: application/ocsp-response

При этом важно учитывать, что OCSP-серверы могут быть перегружены, что приводит к задержкам в обработке запросов. Также возможны ситуации, когда сервер недоступен, что может вызвать проблемы с доступом к сайтам.

Для обеспечения надежности и скорости многие администраторы используют OCSP Stapling, который позволяет серверам кешировать статус сертификатов и отправлять его вместе с TLS-соединением. Это позволяет избежать необходимости в каждом запросе обращаться к OCSP-серверу.

OCSP Stapling: реализация и преимущества

OCSP Stapling позволяет серверам предоставлять клиентам информацию о статусе сертификатов без необходимости делать отдельные запросы к OCSP-серверу. Это достигается путем периодического опроса OCSP-сервера и кеширования полученного ответа на сервере, который использует сертификат.

Для настройки OCSP Stapling на веб-сервере, например, на Nginx, необходимо выполнить следующие шаги:

  1. Убедитесь, что у вас установлен SSL-сертификат, поддерживающий OCSP Stapling.
  2. Добавьте следующие строки в конфигурационный файл вашего сервера:
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=30s;
ssl_trusted_certificate /path/to/ca-bundle.crt;

В этом примере используются публичные DNS-серверы Google. Параметр valid=30s указывает, что кешированные ответы будут действительны в течение 30 секунд.

Преимущества OCSP Stapling включают:

  • Скорость: уменьшает время загрузки страниц за счет отсутствия необходимости в дополнительных запросах.
  • Безопасность: снижает риск атак типа «человек посередине», так как клиенту не нужно обращаться к сторонним OCSP-серверам.
  • Нагрузка на сервер: уменьшает количество запросов к OCSP-серверам, что позволяет им работать более эффективно.

Таким образом, OCSP Stapling является важным инструментом для повышения безопасности и производительности веб-сайтов, использующих SSL/TLS-сертификаты.

СертификатСрок, издатель, домены (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?

Не технически, но strongly recommended. Ускорение +100-300ms и защита приватности пользователей.

Работает с Let's Encrypt?

Да, полностью. Let's Encrypt выдаёт OCSP responses через их OCSP responder ocsp.int-x3.letsencrypt.org.

Что такое CRL и чем отличается?

CRL (Certificate Revocation List) — список всех отозванных сертификатов CA. OCSP запрашивает статус одного сертификата — быстрее и легче.

Запустить инструмент, который описан в этой статье

Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.