IPsec Error: CERTIFICATE_REVOKED — Сертификат шлюза отозван по CRL/OCSP
Архитектура валидации цепочки сертификатов (PKI) и отзыв по CRL/OCSP
При использовании криптографической аутентификации на основе цифровых сертификатов X.509 (RSA/ECDSA) каждый шлюз обязан не только проверить подпись удостоверяющего центра (Certificate Authority, CA), но и удостовериться в актуальности статуса сертификата удаленного узла. Проверка выполняется двумя путями: 1) Скачивание периодических списков отзыва сертификатов (Certificate Revocation List, CRL) через точки распространения CDP (CRL Distribution Points); 2) Онлайн-запрос статуса по протоколу OCSP (Online Certificate Status Protocol, RFC 6960). Если серийный номер сертификата обнаружен в списке скомпрометированных или OCSP-ответчик возвращает статус Revoked, стек IKE немедленно отвергает соединение с генерацией фатальной ошибки CERTIFICATE_REVOKED.
Бизнес-риски
Невозможность подключения легитимных шлюзов после планового перевыпуска ключей; отключение удаленных филиалов при недоступности внешнего корпоративного сервера CA/OCSP (при строгой политике отзыва Soft/Hard Fail).
Сравнение методов проверки статуса сертификатов
| Метод | Протокол | Преимущества | Слабые места |
|---|---|---|---|
CRL | HTTP / LDAP | Кэширование списка локально на шлюзе. | |
OCSP | HTTP (порт 80/8888) | Мгновенный статус в реальном времени. | |
OCSP Stapling | Внутри IKE_AUTH | Пир сам прикрепляет подписанный ответ CA. |
Пошаговое восстановление работы PKI и устранение ошибки отзыва
Сценарий 1: Проверка серийного номера и перевыпуск сертификата
Если сертификат был отозван администратором безопасности (например, при плановом выводе оборудования из эксплуатации или подозрении на утечку закрытого ключа):
- Сгенерируйте новый закрытый ключ и запрос на подпись (CSR) на конечном шлюзе.
- Подпишите сертификат на доверенном корпоративном CA.
- Установите новый сертификат в хранилище шлюза и привяжите его к профилю IPsec.
# Генерация нового CSR запроса через OpenSSL на шлюзе
openssl req -new -newkey rsa:4096 -nodes -keyout /etc/ipsec.d/private/gateway_new.key \
-out /tmp/gateway_new.csr -subj "/CN=router-branch.corp.local/O=Company/C=RU"
# Проверка статуса сертификата через OCSP вручную
openssl ocsp -issuer ca_cert.pem -cert branch_cert.pem -url http://ocsp.corp.local:8888 -CAfile ca_cert.pemСценарий 2: Устранение недоступности CRL Distribution Point (CDP)
Если сертификат легитимен, но шлюз блокирует соединение из-за невозможности скачать свежий файл CRL (ошибка CRL Expired / CRL Unreachable):
# Временное переключение проверки CRL в неблокирующий режим (MikroTik RouterOS v7)
/ip ipsec profile set [find name="PROFILE_PKI"] check-certificate=yes-without-crl
# Проверка доступности URL списка отзыва (HTTP CDP)
/tool fetch url="http://pki.corp.local/crl/corp_ca.crl" dst-path=corp_ca.crl
/certificate import file-name=corp_ca.crlСценарий 3: Настройка тайм-аутов и кэширования CRL в Linux strongSwan
# Настройка плагина отзыва в /etc/strongswan.d/charon/revocation.conf
revocation {
# Не разрывать туннель, если сервер CRL временно оффлайн (Soft Fail)
crl_strict = no
crl_cache_time = 86400
}Типовые ошибки администраторов
- Блокировка исходящего HTTP-трафика на порт 80 для самого маршрутизатора: CDP-серверы часто публикуют CRL по протоколу HTTP. Фаервол блокирует опрос, вызывая отказ проверки сертификата.
- Истечение срока действия самого файла CRL (CRL Next Update): Если центр сертификации (Microsoft CA / FreeIPA) не сгенерировал вовремя свежий файл CRL, все зависимые шлюзы заблокируют туннели.
Инженеры ITSTM настроят отказоустойчивую инфраструктуру открытых ключей (PKI/CA), автоматическую публикацию CRL и быстрые сервисы OCSP.
Частые вопросы (FAQ)
Почему шлюз считает сертификат отозванным, если срок действия CRL еще не истек?
Если на шлюзе сбились системные часы (RTC), время проверки попадает вне интервала действия CRL (ThisUpdate / NextUpdate), что интерпретируется как невалидный статус.
Что такое Strict Revocation Checking (Hard Fail)?
В режиме Hard Fail шлюз безусловно блокирует соединение, если не смог связаться с CRL/OCSP сервером. В режиме Soft Fail туннель разрешается, если сам сертификат корректен, но статус отзыва временно недоступен.
Поддерживает ли MikroTik автоматическую загрузку CRL по расписанию?
Да, если в сертификате прописано поле CDP (crlDistributionPoints) и включена опция check-certificate=yes, RouterOS v7 самостоятельно скачивает и обновляет CRL.
Как удалить скомпрометированный сертификат из памяти strongSwan без перезапуска демона?
Выполните команду swanctl --purge-certs с последующей выгрузкой и загрузкой обновленного хранилища: swanctl --load-all.