Отзыв, обновление и ротация 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 относится прежде всего к проверке статуса серверного сертификата клиентами и не заменяет контроль отзыва клиентских сертификатов на входе.
Ротация без остановки всего сервера¶
- Подготовьте новый ключ и CSR по корпоративной политике.
- Получите новый сертификат и полную цепочку.
- Сверьте сертификат и ключ. Для неэкспортируемого аппаратного ключа выполните пробную подпись через PKCS#11.
- Разместите новую версию файлов или URI рядом со старой.
- Подмените конфигурацию на новые пути, выполните
nginx -t. - Примените
systemctl reload nginx, неrestart, чтобы рабочие соединения обслуживались по штатной схеме graceful reload. - Повторите TLS-проверку и проверку имени сервера.
- Оставьте возможность обратного переключения, пока не завершена проверка всех целевых клиентов.
reload позволяет обновить конфигурацию без намеренной остановки всей службы, но не гарантирует отсутствие проблем с TLS для несовместимых клиентов. Поэтому обязательны предварительное тестирование и наблюдение после переключения.
Ошибки¶
См. диагностику ГОСТ-TLS.