已撤销OpenVPN的证书仍可以连接

时间:2020-06-10 10:24:47

标签: openssl ssl-certificate openvpn

尊敬的StackExchange社区

我有一个带有ubuntu 16.04的OpenVPN 2.3.10服务器Runnig,其中多个客户端(〜80)与Digital Ocean tutorial安装在一起。当我吊销证书时,它仍然可以像以前一样连接。...

我的服务器配置:

port 1197
proto udp
dev tun3

ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh2048.pem
topology subnet
server XXX.XXX.XXX.XXX XXX.XXX.XXX.XXX
local XXX.XXX.XXX.XXX

ifconfig-pool-persist ipp.txt

client-config-dir ccd
keepalive 10 120

tls-auth ta.key 0 
key-direction 0

cipher AES-128-CBC
auth SHA256

comp-lzo

user nobody
group nogroup

persist-key
persist-tun

status-version 2
status openvpn-status4.log

log-append  openvpn.server4.log

verb 3

management 127.0.0.1 5558

crl-verify crl/crl.pem

对于证书管理,我使用easy-rsa。

cd ~/openvpn-ca

source vars

要创建证书:./build-key cert_name

要撤消证书,请执行以下操作:./revoke-full cert_name然后将crl.pem文件复制到keys目录的/etc/openvpn/crl目录中,并更改所有权sudo chown nobody:nogroup /etc/openvpn/crl/crl.pem

相关事件服务器日志:

TLS: Initial packet from [AF_INET]XXX.XXX.XXX:60341, sid=4af4c75c e17bc520
CRL: CRL crl/crl.pem is from a different issuer than the issuer of certificate C=FR, ST=company_name, L=company_name, O=company_name, OU=company_name, CN=company_name, name=server, emailAddress=admin@company.com
VERIFY OK: depth=1, C=FR, ST=company_name, L=company_name, O=company_name, OU=company_name, CN=company_name, name=server, emailAddress=admin@company.com
CRL: CRL crl/crl.pem is from a different issuer than the issuer of certificate C=FR, ST=company_name, L=company_name, O=company_name, OU=company_name, CN=client_name, name=server, emailAddress=admin@company.com
VERIFY OK: depth=0, C=FR, ST=company_name, L=company_name, O=company_name, OU=company_name, CN=client_name, name=server, emailAddress=admin@company.com

如果我这样做了./list-crl,我可以看到我的证书确实已被撤销:

Certificate Revocation List (CRL):
        Version 1 (0x0)
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: /C=FR/ST=company_name/L=company_name/O=company_name/OU=company_name/CN=test2/name=server/emailAddress=admin@company.com
        Last Update: Jun 10 09:03:59 2020 GMT
        Next Update: Jun  8 09:03:59 2030 GMT
Revoked Certificates:
    Serial Number: 02
        Revocation Date: Feb 13 15:48:55 2018 GMT
    Serial Number: 03
        Revocation Date: Feb 13 15:50:38 2018 GMT
    Serial Number: 04
        Revocation Date: Feb 13 15:58:06 2018 GMT
    Serial Number: 05
        Revocation Date: Feb 13 16:59:54 2018 GMT
    Serial Number: 06
        Revocation Date: Feb 13 17:00:01 2018 GMT
    Serial Number: 07
        Revocation Date: Feb 13 17:06:43 2018 GMT
    Serial Number: 28
        Revocation Date: Jul  9 13:24:14 2018 GMT
    Serial Number: 29
        Revocation Date: Jul  9 13:24:30 2018 GMT
    Serial Number: 32
        Revocation Date: Jun  9 07:25:35 2020 GMT
    Serial Number: 58
        Revocation Date: Jun  9 07:26:01 2020 GMT
    Serial Number: 59
        Revocation Date: Jun  9 07:26:19 2020 GMT
    Serial Number: 9B
        Revocation Date: Jun  9 15:13:52 2020 GMT
    Serial Number: 9C
        Revocation Date: Jun  9 14:47:36 2020 GMT
    Signature Algorithm: sha256WithRSAEncryption
         XXXXX

我可以在 Issuer:块中看到一个固定的问题: CN = test2 ,但是我找不到从哪里来。

这种情况有点令人困惑,因为现在我设法通过iptables阻止客户端,因此它可以连接到VPN但不能访问任何内容,但是我宁愿解决该吊销问题。

你有什么主意吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

Openvpn通常被配置为通过nobody用户运行,因此请确保没有用户(/ etc / openvpn / crl)和crl.pem用户可以访问放置crl.pem文件的目录。用户也不可读。 我个人建议将crl.pem文件放在/ etc / openvpn内。

相关问题