Ошибка OpenVPN CRL has expired (просрочен список CRL)
TLS: Initial packet from [AF_INET]XXX.XXX.XXX.XXX:60382, sid=c9c9a1f3 02ce9312 VERIFY ERROR: depth=0, error=CRL hasexpired: CN=client_name OpenSSL: error:14089086:SSL routines: ssl3_get_client_certificate:certificate verify failed TLS_ERROR: BIO read tls_read_plaintext error TLS Error: TLS object -> incoming plaintext read error TLS Error: TLS handshake failed SIGUSR1[soft,tls-error] received, client-instance restarting
Сегодня речь пойдет об одном нюансе, связанном со списком отозванных сертификатов (Сertificate Revocation List, CRL) в OpenVPN. Данный механизм применяется, когда требуется блокировать доступ отдельных узлов к сети (в случае увольнения сотрудника или подозрения что выданный сертификат скомпрометирован).
В какой-то момент времени, может возникнуть ошибка OpenVPN CRL has expired (просрочен список CRL) и клиенты перестают подключаться. Убедиться, что проблема именно в этом довольно просто, достаточно закомментировать в конфиге сервера строку проверки отозванных сертификатов и перезапустить сервер.
crl-verify crl.pem
После чего клиенты спокойно начнут подключаться.
Обновление списка отозванных сертификатов OpenVPN
Для решения проблемы со списком CRL надо этот список обновить. Делается это элементарно, о чём я уже рассказывал в статье про отзыв пользовательских сертификатов OpenVPN на FreeBSD 10/11:
# cd /usr/local/etc/openvpn/easy-rsa # ./easyrsa.real gen-crl
Почему возникла данная проблема? Дело в том, что периодичность обновление списка отозванных сертификатов задаётся в переменной default_crl_days в конфиге /usr/local/openvpn/easy-rsa/openssl-1.0.cnf:
default_crl_days= $ENV::EASYRSA_CRL_DAYS # how long before next CRL
Сами значения переменных задаются в файле /usr/local/openvpn/easy-rsa/vars. По умолчанию обновление списка CRL происходит каждые 180 дней (можно задать своё значение, например 365 дней) :
#set_var EASYRSA_CRL_DAYS 180
Комментариев: 3
Ой спасибо добрый человек. Два дня искал в чем проблема.
очень помогло. сегодня по той же причине openVPN сервер перестал принимать соединения и отрубил все которые были
Сегодня такая же проблема была. Всё заработало!