Все статьи о SSL SSL и сертификаты

Отзыв сертификатов: OCSP, CRL и что происходит при компрометации сертификата

Отзыв сертификата — это процесс аннулирования SSL-сертификата до истечения срока его действия — обычно из-за компрометации закрытого ключа, ошибочной выдачи сертификата или смены владельца домена.

В теории отзыв — это механизм реагирования на инциденты в системе центров сертификации (CA). На практике это самое слабое звено инфраструктуры PKI. Вот почему и что приходит ему на смену.

Когда следует отзывать сертификат

  • Закрытый ключ скомпрометирован — утечка, кража или раскрытие (например, случайно закоммичен в публичный Git-репозиторий)
  • Сертификат выдан ошибочно — CA выдал сертификат для домена, который вам не принадлежит
  • Домен продан — вы больше не владеете доменом, указанным в сертификате
  • Смена ключей — вы выполняете ротацию ключей и хотите аннулировать старый сертификат
  • Сервер выведен из эксплуатации — сертификат больше не должен быть действительным

Как работает отзыв

CRL (Certificate Revocation List)

Первоначальный механизм отзыва. CA публикует список серийных номеров всех отозванных сертификатов. Браузеры загружают этот список и проверяют сертификат по нему.

Проблемы:

  • CRL со временем становятся очень большими (миллионы записей)
  • Браузеры должны загрузить весь список, прежде чем проверить любой сертификат
  • Медленно и ресурсоёмко — большинство браузеров давно прекратили проверку CRL

OCSP (Online Certificate Status Protocol)

Проверка в реальном времени. Вместо загрузки списка браузер спрашивает OCSP-сервер CA: “Этот сертификат отозван?”

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

Browser → OCSP Responder: "Is cert serial #12345 still valid?"
OCSP Responder → Browser: "Good" / "Revoked" / "Unknown"

Проблемы:

  • Конфиденциальность — CA знает, какие сайты вы посещаете (он видит каждый OCSP-запрос)
  • Задержка — добавляет дополнительный сетевой обмен к каждому новому HTTPS-соединению
  • Доступность — если OCSP-сервер недоступен, браузеры обычно применяют мягкую политику (принимают сертификат в любом случае), что делает отзыв неэффективным

OCSP Stapling (улучшенный вариант)

Сервер периодически получает OCSP-ответ и “прикрепляет” его к TLS-рукопожатию. Браузер получает статус отзыва без обращения к CA.

Преимущества:

  • Нет утечки конфиденциальности (браузер не обращается к CA)
  • Нет дополнительной задержки (ответ включён в рукопожатие)
  • Работает даже при медленном или недоступном OCSP-сервере CA

Настройка:

Nginx:

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;

Apache:

SSLUseStapling on
SSLStaplingCache "shmcb:/var/run/apache2/ssl_stapling(128000)"

CRLite (будущее)

CRLite от Mozilla сжимает все известные отзывы в компактный фильтр (~1,5 МБ), который распространяется с обновлениями Firefox. Браузер может проверить статус отзыва локально — без сетевого запроса, утечки конфиденциальности и задержки. По состоянию на 2026 год CRLite включён в Firefox и может быть принят другими браузерами.

Суровая правда об отзыве

На практике отзыв по большей части не работает:

  • Chrome не проверяет OCSP и CRL по умолчанию (опирается на собственные CRLSets — курируемое подмножество)
  • Safari проверяет OCSP, но с мягкой политикой (принимает сертификаты, если OCSP-сервер недоступен)
  • Firefox использует CRLite (лучший подход, но только для Firefox)
  • Мягкая политика OCSP означает, что целенаправленный злоумышленник может заблокировать проверку OCSP, и браузер примет отозванный сертификат

Вот почему индустрия движется к короткоживущим сертификатам как основной защите:

ПодходКак защищает
Отзыв (OCSP/CRL)Аннулирует скомпрометированный сертификат — но проверка ненадёжна
Короткий срок действия (90 дней → 47 дней)Скомпрометированный сертификат быстро истекает — проверка не нужна

Если сертификат действителен всего 47 дней, украденный ключ полезен максимум 47 дней. Это ограничивает ущерб, даже когда отзыв не работает.

Как отозвать сертификат Let’s Encrypt

Если ваш закрытый ключ скомпрометирован:

# With Certbot
sudo certbot revoke --cert-path /etc/letsencrypt/live/yourdomain.com/cert.pem --reason keycompromise

# With acme.sh
acme.sh --revoke -d yourdomain.com

После отзыва немедленно получите новый сертификат — отзыв не решает проблему, он лишь аннулирует старый сертификат. Используйте GetHTTPS для выпуска нового сертификата с новой парой ключей.

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

Стоит ли включать OCSP stapling?

Да. Это не гарантирует проверку отзыва (браузеры могут её игнорировать), но даёт общий положительный эффект: более быстрое TLS-рукопожатие (нет OCSP-запроса на стороне клиента), лучшая конфиденциальность (браузер не обращается к CA), а некоторые браузеры действительно учитывают прикреплённые OCSP-ответы. Включить бесплатно — Nginx и Apache поддерживают это 2-3 строками конфигурации.

Как быстро вступает в силу отзыв?

CRL публикуются периодически (от нескольких часов до дней). OCSP-ответы кэшируются (обычно на 1-4 часа). На практике отозванный сертификат может оставаться “действительным” для некоторых браузеров до 24 часов. Это ещё одна причина, по которой короткоживущие сертификаты приходят на смену отзыву как основному средству защиты.

Нужно ли отзывать сертификат при продлении?

Нет. Получение нового сертификата не требует отзыва старого. Старый сертификат просто истекает. Отзыв необходим только при компрометации закрытого ключа — не при обычном продлении.

Можно ли проверить, отозван ли сертификат?

# Check OCSP status
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -status 2>/dev/null | grep "OCSP Response Status"
# "successful" = OCSP stapling is working
# If empty, stapling is not enabled

Или проверьте на crt.sh — отозванные сертификаты отмечены в интерфейсе.

Похожие статьи

SSL и сертификаты 2026-05-07
Цепочка доверия сертификатов: подробное объяснение
Как браузеры проверяют SSL-сертификаты через цепочку от корневого CA к промежуточному CA и до вашего сертификата. Узнайте, почему важен порядок цепочки и как исправить ошибку 'сертификат не является доверенным'.
SSL и сертификаты 2026-05-07
Срок действия SSL-сертификатов: изменение на 47 дней
CA/Browser Forum проголосовал за сокращение срока действия SSL-сертификатов до 47 дней к 2029 году. Узнайте хронологию, что это значит для вашего сайта и как подготовиться.
SSL и сертификаты 2026-05-07
Что такое удостоверяющий центр (CA)?
Удостоверяющий центр подписывает SSL-сертификаты для подтверждения подлинности сайта. Узнайте, как работают CA, модель доверия, основные CA и почему Let's Encrypt изменил отрасль.
Развёртывание 2026-05-08
Как установить SSL-сертификат на Nginx
Пошаговое руководство по установке SSL-сертификата на Nginx. Охватывает загрузку файлов, полную конфигурацию серверного блока, лучшие практики TLS, HTTP/2, HSTS, настройку редиректов, тестирование и устранение 6 распространённых ошибок.
Получите бесплатный SSL-сертификат в браузере
Без установки, без аккаунта. Ваш приватный ключ никогда не покидает устройство.
Получить сертификат