Назад | Перейти на главную страницу

OpenVPN отозвать пользователя - проблемы проверки CRL

Я настроил свой 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