Ваш сертификат VPN истекает сегодня: что на самом деле останавливается
Истекающий сертификат останавливает новые аутентификации и повторные проверки, но не всегда пакеты, которые уже идут. Найдите объект, проверьте часы, затем продлите.
Оповещение об истечении срабатывает, туннель всё ещё передаёт трафик, и никто не согласен, важна ли дата. Важна, но не всегда в тот момент, который напечатан на сертификате. Истёкший сертификат останавливает новые аутентификации и останавливает повторные проверки, которые некоторые реализации выполняют внутри долгоживущей сессии. Умрёт ли ваш существующий туннель в полночь, зависит от протокола, клиента и настроек повторного согласования на сервере. Планируйте продление до даты и проверяйте его новым входом, а не сессией, которая уже была открыта.
Выясните, какой сертификат на самом деле истекает
Развёртывание содержит серверный конечный сертификат, учётные данные клиента, один или несколько промежуточных сертификатов и якорь доверия, и они не истекают одновременно. Читайте сертификат, названный в ошибке, и цепочку, с которой он был предъявлен, а не первый файл в каталоге профиля. Серверный конечный сертификат, который чисто продлевается, всё равно может отказать, если промежуточный над ним истёк. Прежде чем что-то менять, запишите субъект, издателя, not-after и место развёртывания каждого файла.
Якорь доверия обычно самый долгоживущий объект и наименее вероятная причина.
Почему живая сессия может пережить дату
Аутентификация происходит при установке соединения, а некоторые протоколы позже повторно проверяют подлинность. OpenVPN повторно согласует канал данных по таймеру, поэтому повторное согласование с истёкшим сертификатом завершается отказом, даже если туннель работает уже часы. Реализации, которые никогда не перепроверяют, могут нести установленную сессию за дату истечения, и поэтому «всё ещё работает» не является доказательством. Ни одно из этих поведений нельзя запланировать.
Считайте дату крайним сроком для новых входов, а время жизни сессии — заёмным временем.
Проверьте часы, прежде чем винить сертификат
Срок действия оценивается по локальным часам, поэтому устройство с неверным временем сообщает об ошибке срока для полностью актуального сертификата. Проверьте клиент, сервер и любое устройство на пути.
Часы, которые сбрасываются при загрузке, объясняют сбои, появляющиеся только после отключения электричества.
Продлите через орган, который его выдал
Сохраните идентичность, назначение и совместимую конфигурацию ключа. Если продление вводит нового издателя или закреплённый сертификат, клиентам нужно согласованное обновление доверия, а не замена файла на сервере. Защищайте закрытые ключи при выпуске и распространении, потому что продлённый сертификат не отзывает скомпрометированный старый ключ. Сброс пароля не является продлением, что бы ни говорил тикет.
Опубликуйте новую цепочку полностью, потому что конечный сертификат без промежуточного — это половина продления, которая работает только на машинах, уже сохранивших его в кеше.
Докажите это новым входом, сохраните путь отката
После развёртывания установите новое разрешённое соединение с представительного клиента и проверьте реальное приложение. Убедитесь, что цепочка доставляется так, как ожидают клиенты, и что любая информация об отзыве доступна. Сохраните откат, не зависящий от доверия к истёкшему материалу, чтобы вернуться в прежнее состояние, не ослабляя проверку. Удаляйте устаревшие файлы только после проверки замены.
Существующие сессии могут ещё отражать прежнее состояние, поэтому они ничего не доказывают ни в одну сторону.
Порядок, который я использую в этот день
Подтвердите истекающий объект и его цепочку, затем подтвердите часы:
- Какой сертификат истекает и к какой цепочке он относится.
- Развёрнут и опубликован ли каждый промежуточный сертификат.
- Часы клиента и сервера совпадают в разумных пределах.
- Новый вход успешен с представительного клиента.
- Информация об отзыве доступна.
- Существует откат, который не ослабляет проверку.
Затем продлите, разверните полную цепочку, проверьте новым входом и только после этого уберите лишнее. Сроки действия и правила их оценки определены в RFC 5280, и дата не станет неожиданностью, если мониторинг следил за объектом, который действительно истекает.