openvpn吊销客户端证书

2019-04-16

用户证书吊销后,登陆OpenVPN显示VERIFY ERROR: depth=0, error=CRL has expired。 OpenSSL: error:140890B2:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:no certificate returned,TLS_ERROR: BIO read tls_read_plaintext error,TLS Error: TLS object -> incoming plaintext read error,TLS Error: TLS handshake failed,Fatal TLS error (check_tls_errors_co), restarting。

1、查看哪些证书被吊销
openssl crl -in crl.pem -text -noout
2、/opt/easyrsa3/server/pki/index.txt文件
可理解为openvpn 客户端的数据库,所有生成的openvpn 客户端包括可用的以及注销的都会在这里看到记录。文件中通过第一列标志识别是否为注销状态,V为可用,R为注销。
3、crl.pem说明:
该文件为吊销证书的名单,配合openvpn index.txt(可以理解为openvpn客户端的数据库)识别客户端是否可用。若未在配置文件中配置该行,则即使使用指令注销客户端后仍可以正常连接。

4、吊销过程
(1)/opt/easyrsa3/server路径下有easyrsa脚本,可以用来撤销openvpn客户端,具体可查看easyrsa脚本或者使用./easyrsa –help查看
(2)到/opt/easyrsa3/server使用./easyrsa revoke ${hospital_id},此时只是更新index.txt下数据库表示为R(注销),但经实践后发现部署标志为R的客户端,仍可以正常连接服务端。
(3)在/opt/easyrsa3/server/pki中找到crl.pem,将该文件的绝对路径配置到server.conf中。
(4)使用./easyrsa gen-crl更新crl.pem中内容,被撤销客户端无法正常连接。

5、几个常见问题:
(1)使用./easyrsa revoke ${id}撤销后,数据库中显示已撤销,但仍可以连上服务端
解决方法:在server.conf中添加配置crl-verify /opt/easyrsa3/server/pki/crl.pem,并使用./easyrsa gen-crl更新crl.pem文件

(2)服务端日志报错,无法读取crl.pem内容,但使用用户为root,查看属性为有查看等权限
解决方法:脚本中强制修改权限为666
在openvpn服务端配置文件新增配置:
crl-verify /opt/easyrsa3/server/pki/crl.pem

分类:Linux | 标签: |

相关日志

评论被关闭!