web-dev-qa-db-ja.com

OpenVPNがユーザーを取り消す-CRL検証の問題

OpenVPNを構成しましたが、これまでのところ正常に機能しています。最近、1つの証明書を取り消す必要があり、easy-rsa revoke-fullを使用した後、index.txtで特定のユーザーが取り消されていることを確認しました。また、crl.pemには新しいタイムスタンプが付いているので、実際に更新されました。 1か月後に問題が発生し、verify-crlとcrl.pemへのパスにserver.confの行を追加したため、すべてのユーザーがブロックされました。

#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

次の更新が5月31日に予定されていることがわかります。証明書を取り消す方法を段階的に知りたいのですが、何かを見逃しました。

3
dovla091

すべてのユーザーがブロックされたという問題が1か月後に始まった

私はこれと同じ問題に遭遇しました。 openVPN + easy-rsaは、デフォルトでは、30日間有効なCRLのみを生成し、その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
3
simpleuser