cookieOptions

понедельник, 23 февраля 2015 г.

Отзыв пользовательских сертификатов OpenVPN


В качестве примера, отзовём сертификат пользователя client2. Пример будет для Linux/BSD/Unix. 

cd /usr/local/etc/openvpn 
. ./vars 
./revoke-full client2 

В результате видим примерно следующее: 

Using configuration from /usr/local/etc/openvpn/openssl.cnf 
DEBUG[load_index]: unique_subject = "yes" Revoking Certificate 04. 
Data Base Updated


 или 

Using configuration from /usr/local/etc/openvpn/openssl.cnf 
DEBUG[load_index]: unique_subject = "yes" 
client2.crt: /C=RU/ST=NN/O=TEST/CN=client2/emailAddress=me@myhost.ru 
error 23 at 0 depth lookup:certificate revoked 

Обратите внимание на "Ошибку 23" в последней строке, указывающую на неудавшуюся попытку проверки отозванного сертификата. Скрипт revoke-full как раз и создает CRL (certificate revocation list) - crl.pem. Этот файл (не является секретным) должен быть скопирован в каталог, видимый OpenVPN сервером, а путь к нему прописан в конфиге 

server.conf. crl-verify /usr/local/etc/openvpn/crl.pem 

Теперь при подключении, все клиентские сертификаты будут проверяться на наличие в CRL, и если таковое будет найдено, в соединении будет отказано. При использовании crl-verify в OpenVPN, CRL-файл перечитывается по умолчанию каждый час. Таким образом, если в момент добавления сертификата в исключения, клиент уже установил связь, то он будет продолжать работу. Чтобы изменения применились наверняка перезапустите демон OpenVPN сервера. При отзыве сертификата бывает ещё ошибка такого вида: 

error on line 282 of config file '....openvpn/easy-rsa/openssl.cnf' 

Решается комментированием следующих строчек в openssl.cnf: 

#[ pkcs11_section ] 
#engine_id = pkcs11 
#dynamic_path = /usr/lib/engines/engine_pkcs11.so 
#MODULE_PATH = $ENV::PKCS11_MODULE_PATH 
#PIN = $ENV::PKCS11_PIN #init = 0 

Напоследок замечу, что возможно сгенерировать новую пару сертификат/ключ с тем же именем, как у отозванного ранее сертификата. Например в случае, когда пользователь забыл свой пароль на предыдущий сертификат, и его отозвали по этой причине.

Комментариев нет:

Отправить комментарий