Перейти к содержанию

Отзыв, обновление и ротация TLS-сертификатов Nginx

Безопасная эксплуатация ГОСТ-HTTPS требует не только выдачи сертификата, но и контроля срока действия, отзыва и плановой замены ключей.

Контроль срока и параметров

openssl x509 -in /etc/nginx/gost/server-chain.pem \
  -noout -subject -issuer -dates -fingerprint -sha256

openssl x509 -in /etc/nginx/gost/server-chain.pem \
  -checkend 2592000 -noout

Вторая команда проверяет, не закончится ли срок действия в следующие 30 дней; код завершения важнее текстового сообщения.

CRL при проверке клиентских сертификатов

ssl_client_certificate /etc/nginx/gost/trusted-client-ca.pem;
ssl_verify_client on;
ssl_crl /etc/nginx/gost/client-ca-revocations.pem;

Для цепочки с несколькими УЦ объедините соответствующие CRL в контролируемый PEM-файл, после проверки их подписей и срока действия. Просроченный или неполный CRL может привести к неверной политике допуска клиентов.

OCSP stapling относится прежде всего к проверке статуса серверного сертификата клиентами и не заменяет контроль отзыва клиентских сертификатов на входе.

Ротация без остановки всего сервера

  1. Подготовьте новый ключ и CSR по корпоративной политике.
  2. Получите новый сертификат и полную цепочку.
  3. Сверьте сертификат и ключ. Для неэкспортируемого аппаратного ключа выполните пробную подпись через PKCS#11.
  4. Разместите новую версию файлов или URI рядом со старой.
  5. Подмените конфигурацию на новые пути, выполните nginx -t.
  6. Примените systemctl reload nginx, не restart, чтобы рабочие соединения обслуживались по штатной схеме graceful reload.
  7. Повторите TLS-проверку и проверку имени сервера.
  8. Оставьте возможность обратного переключения, пока не завершена проверка всех целевых клиентов.

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

Ошибки

См. диагностику ГОСТ-TLS.