Я настроил свой OpenVPN, и пока он работает правильно. В последнее время мне пришлось отозвать один сертификат, и после использования easy-rsa revoke-full я увидел, что в index.txt этот конкретный пользователь был отозван. Я также заметил, что crl.pem имеет новую метку времени, поэтому он действительно был обновлен. Проблема началась через 1 месяц, когда все пользователи были заблокированы, как я добавил строку server.conf в verify-crl и путь к crl.pem
#CRL-VERIFY - for revoking users
crl-verify /etc/openvpn/easy-rsa/keys/crl.pem
Итак, мой вопрос: использовал ли я сценарий easy-rsa 2.x revoke-full и вижу, что индекс пометил этот конкретный сертификат для отзыва. Если я также обнаружил, что метка времени /keys/crl.pem является текущей меткой времени, и после перезапуска службы openvpn (для хорошей меры), почему она все еще блокируется.
Конечно, я могу удалить verify-crl, но дело не в этом.
Certificate Revocation List (CRL):
Version 1 (0x0)
Signature Algorithm: XXXXXXXXXXXXXXXX
Issuer: /C=DE/ST=xxxxxx/L=xxxxxx/O=xxxxxxxxxx/OU=xxxxxxxxxx/CN=xxxxxxxxxx/emailAddress=lol@xxxxxxxxxx
Last Update: May 1 07:10:34 2019 GMT
Next Update: May 31 07:10:34 2019 GMT
Revoked Certificates:
Serial Number: 0B
Revocation Date: Mar 29 19:37:51 2019 GMT
Я вижу, что следующее обновление запланировано на 31 мая, поэтому я хотел бы узнать пошаговую процедуру, как отозвать сертификат, возможно, я что-то пропустил.
Проблема началась через 1 месяц, когда все пользователи были заблокированы
Я столкнулся с той же проблемой. Я обнаружил, что openVPN + easy-rsa по умолчанию создает только CRL, действительный в течение 30 дней, и когда этот CRL истечет, openVPN будет не допускать никаких соединения.
Так как сертификаты не отзываю который часто я просто (1) создал сценарий для повторного создания CRL и (2) изменил срок действия CRL на 6 месяцев.
Вот мой regen-crl
скрипт, который запускается в /etc/openvpn/easy-rsa
--- обратите внимание на вариант -crldays 180
:
#!/bin/sh
CRL="crl.pem"
if [ "$KEY_DIR" ]; then
cd "$KEY_DIR"
rm -f "$RT"
# set defaults
export KEY_CN=""
export KEY_OU=""
export KEY_NAME=""
# required due to hack in openssl.cnf that supports Subject Alternative Names
export KEY_ALTNAMES=""
# generate a new CRL -- try to be compatible with
# intermediate PKIs
$OPENSSL ca -crldays 180 -gencrl -out "$CRL" -config "$KEY_CONFIG"
$OPENSSL crl -text -in "$CRL"
else
echo 'Please source the vars script first (i.e. "source ./vars")'
echo 'Make sure you have edited it to reflect your configuration.'
fi
Мне также пришлось изменить /etc/openvpn/easy-rsa/openssl.cnf
чтобы соответствовать, изменив эту строку в [CA_default]
раздел:
default_crl_days= 180 # how long before next CRL