使用OpenVPN/EasyRSA 3设置(用于CA和VPN入口点的拆分机器),我面临的问题是,无论我生成什么CRL,OpenVPN似乎都无法处理它。
进展顺利的事情
我遵循这些准则来设置相应的机器:
所有关于客户端的签名请求、他们的实际签名、连接到VPN、名称服务器推送、私有名称解析等等都非常顺利。但是,我可以撤销CA上的证书(据我所知,没有“吊销请求”,而是证书在CA上直接被撤销),并生成相应的CRL,如下所示:
./easyrsa revoke doe.john.client
./easyrsa gen-crl撤销有效,证书在R上标记为index.txt;检查生成的CRL并比较证书ID也有效,ID是正确的。
openssl crl -noout -text -in <CRL-file>.pem现在,生成CRL之后的下一步是将其传输到OpenVPN服务器、更改文件权限(664)和更新OpenVPN的server.conf以使用它:
[... properly working OpenVPN server.conf]
crl-verify /etc/openvpn/crl.pem在通过systemctl重新启动服务并通过journalctl附加到日志之后,我开始对应该有效且尚未被撤销的客户端证书进行连接尝试。
我在日志上看到的是:
TLS: Initial packet from [AF_INET]<IP-REDACTED>:52786, sid=e545b723 a0690e44
<IP-REDACTED>:52786 VERIFY WARNING: depth=0, unable to get certificate CRL: CN=<COMMON-NAME-OF-VALID-CLIENT>
<IP-REDACTED>:52786 VERIFY WARNING: depth=1, unable to get certificate CRL: CN=<COMMON-NAME-OF-CA>
<IP-REDACTED>:52786 VERIFY ERROR: CRL not loaded
<IP-REDACTED>:52786 OpenSSL: error:1417C086:SSL routines:tls_process_client_certificate:certificate verify failed
<IP-REDACTED>:52786 TLS_ERROR: BIO read tls_read_plaintext error
<IP-REDACTED>:52786 TLS Error: TLS object -> incoming plaintext read error
<IP-REDACTED>:52786 TLS Error: TLS handshake failed这从本质上告诉我
stat crl.pem (否则日志确实表明该步骤失败),即文件权限是好的。openssl生成CRL (没有EasyRSA的方便功能)会产生同样的问题。我似乎无法处理这个问题,因为日志和任何在线或在线搜索指南似乎都没有指向类似的问题。亲爱的专家们,我是不是漏掉了什么东西?
如果你需要更多的细节,我很乐意提供它们。干杯!
发布于 2022-08-05 19:58:36
经过反复的反复,现在有了一个解决方案。我不知道任何更深层次的细节,但:
关键发现:在执行更新例程时,确保不要忘记某些服务器,尤其是关键/重要的服务器。
https://serverfault.com/questions/1107177
复制相似问题