Como revogar o certificado de cliente OpenVPN no Debian

1

Eu usei os programas easy-rsa/2.0 para criar certificados de servidor e cliente para o OpenVPN. Eu copiei os clientes para os clientes junto com ca.crt . Tudo bem.

Agora preciso revogar um certificado de cliente de um laptop roubado. Em /usr/share/doc/openvpn/examples/easy-rsa/2.0 há um script de revogação. Eu corri isso com sucesso e diz "Data Base Updated". Ele criou alguns arquivos em um subdiretório da pasta examples / doc.

Eu copiei o crl.pem para /etc/openvpn/crl.pem criado e adicionei crl-verify /etc/openvpn/crl.pem a server.conf .

Existe alguma maneira de verificar se fiz a coisa certa e se de fato bloqueará o acesso?

Além disso, não estou claro onde esse "Data Base" está armazenado ou a que se refere? Existe alguma maneira de inspecionar este banco de dados?

    
por artfulrobot 11.09.2012 / 14:12

3 respostas

5

No diretório easy-rsa há um arquivo 'revoke-full'. Quando você executa este script com seu usuário / chave como parâmetro, o arquivo index.txt no diretório easy-rsa / keys será atualizado.

Você verá um 'R' (para Revogado) na primeira coluna da esquerda para seu usuário.

    
por 11.09.2012 / 15:50
2

Use

./list-crl 

do diretório easy-rsa para exibir números de série de certificados revogados.

Verifique também os logs openvpn da mensagem "CRL CHECK FAILED".

    
por 18.07.2013 / 09:29
1

No meu servidor eu não tenho os scripts easy-rsa, mas você pode revogar certificados de cliente OpenVPN sem o easy-rsa manualmente usando openssl .

Muitas informações são obtidas de este recurso útil , mas se seu servidor OpenVPN é configurado como o meu, a autoridade de certificação é configurada juntamente com as configurações do servidor OpenVPN, com os certificados de cliente gerados no servidor (eu uso Ansible + Sovereign para configurar certificados para um número de usuários de uma só vez). p>

# as root in /etc/openvpn
openssl ca -config openssl-server-certificate.cnf -revoke /path/to/client.crt

Isso revoga o certificado e atualiza o banco de dados, mas você ainda precisa ter certeza de que o OpenVPN está verificando uma lista de revogação de certificado, edite o server.conf e verifique se há uma linha que comece com crl-verify . Se você não encontrar um, adicione-o:

crl-verify /usr/share/openvpn/openssl-server.crl

(Você pode usar qualquer caminho que quiser, mas a maioria dos servidores OpenVPN são configurados para serem executados como nobody:nobody , então você precisará de algum caminho que seja mundialmente executável - não /etc/openvpn )

E finalmente diga ao OpenSSL para gerar novamente a lista de revogação

openssl ca -config openssl-server-certificate.cnf -gencrl -out /usr/share/openvpn/openssl-server.crl

(ou onde quer que sua lista de revogação esteja). Reinicie o serviço OpenVPN e ele deverá inserir as alterações na configuração e usar a CRL ao verificar solicitações de conexão - se o certificado for revogado, a conexão será eliminada.

    
por 11.09.2018 / 16:16