Para que um colaborador ou parceiro deixe de conseguir aceder à organização através do OpenVPN é necessário que o seu certificado seja revogado.
Na pasta "easy-rsa", (a mesma onde criam os novos certificados), deverá executar os comandos:
. vars
./revoke-full CommonName
Em que CommonName é o mesmo que o indicado aquando da criação do certificado do colaborador ou parceiro.
Exemplo:
. vars
./revoke-full antonio@empresa.pt
Deverá visualizar algum output e no meio dele deverá encontrar linhas semelhantes a:
Using configuration from ... Revoking Certificate XX. Data Base Updated Using configuration from .... ... error 23 at 0 depth lookup:certificate revoked
Isto significa que o certificado foi revogado com sucesso. Aconselhamos que mova os ficheiros relativos ao certificado revogado para outra directoria, de forma a evitar futuras confusões. Continuando o exemplo, bastaria executar:
cd /etc/openvpn/rsa-keys
mkdir -p revogados
mv antonio\@empresa.pt.* revogados
NOTA: tenha atenção à barra antes da arroba)
Quando revogar um certificado pela primeira vez, verifique que o OpenVPN tem configurado correctamente o caminho para o ficheiro crl.pem que foi criado/alterado pelos comandos anteriores. Por exemplo, se os seus certificados se encontram em /etc/openvpn/rsa-keys/ deverá assegurar que parâmetro de configuração
crl-verify rsa-keys/crl.pem
existe no ficheiro de configuração do OpenVPN (/etc/openvpn/openvpn.conf)
Tenha em atenção que a revogação de um certificado é permanente. Terá de gerar um novo certificado se pretender que o colaborador ou parceiro tenha novamente acesso. Poderá gerar um novo certificado com o mesmo nome/email do que aquele que acabou de revogar.
Nota final, apenas para servidores OpenVPN executados em regime de alta disponibilidade, (ie, em "cluster"):
Se o seu servidor OpenVPN é executado em regime de alta disponibilidade, (sobre um "cluster"), a geração e revogação de certificados deve ser efectuada no nodo 1 desse "cluster", e depois replicada para o nodo 2 através do comando:
/root/tools/cluster-sync/openvpn.sh