OpenVPN позволяет подключаться клиентам, сертификат которых подписан не использующимся CA
-
Собственно проблема в следующем:
- На сервере использовался сертификат 3 уровня, подписанный через два промежуточных от самозаверенного Root (CA №1);
- Этим CA №1 был подписан сертификат пользователя (UserCert №1);
- Этим CA №1 был подписан сертификат сервера (ServerCert №1);
- Срок сертификата CA №1 близился к истечению, в связи с чем через тот-же промежуточный CA был выпущен сертификат ему на замену (CA №2);
- Этим CA №2 был подписан сертификат пользователя (UserCert №2);
- Этим CA №2 был подписан сертификат сервера (ServerCert №2);
- Все сертификаты СА №1 были отозваны и добавлены в RevocationList, ни один сертификат (в том числе самого CA №1) из Cert. Manager'а не удалялся);
- В настройках OpenVPN-сервера были заменены Peer Certificate Authority (с CA №1 на CA №2), Peer Certificate Revocation list (на новый, соответственно), Server certificate (ServerCert №1 на ServerCert №2).
В итоге:
- Пользователь с сертификатом и ключом UserCert №2 подключается к серверу.
- Тот-же пользователь с Revoke сертификатом UserCert №1, СА которого (CA №1) не выбран в настройках OpenVPN-сервера также успешно подключается к серверу.
При этом в логах сервера действительно зафиксирована проверка сертификатов со статусом OK.
Таким образом - поведение, когда любой сертификат, который подписан присутствующим в Cert.Manager'е, но не выбранным в настройках сервера сертификатом, принимается сервером как валидный является нормальным?
-
Подозреваю что столкнулись с багом openssl:
https://redmine.pfsense.org/issues/9889 -
@viktor_g Спасибо за ссылку, возможно это отчасти так, но обратите внимание - сертификаты не только отозваны в старом СА, но и сам старый СА не используется в сервере OpenVPN. Именно этот факт настораживает
Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.