Nous évoquions ici la mise en place d’un serveur OpenVPN ainsi que la création de clés ssl pour s’y connecter en toute sécurité.
Nous allons voir aujourd’hui comment révoquer la connexion depuis une clé ssl pourtant valide.
Différents cas peuvent vous donner envie de révoquer un certificat ssl comme par exemple le vol de clé. La manipulation n’est pas très compliquée vous allez voir. Il suffit de vous rendre dans le répertoire d’open vpn en y accédent comme suit :
cd /etc/openvpn/easy-rsa/
Nous allons ensuite initiliaser les variables d'environnement comme suit :
. ./vars
Puis nous allons révoquer le certificat cible (dans notre exemple "certname" qu'il vous faudra remplacer par le nom du certificat à révoquer) comme suit :
./revoke-full certname
Cette dernière va générer un fichier nommé "crl.pem" dans le répertoire "keys/". Également vous devriez voir s’afficher un message du genre “error 23 at 0 depth lookup:certificate revoked“, cela n’est nullement une erreur mais un message généré par le script qui indique que le certificat est bien révoqué (suite à un test très probablement).
Nous allons copier ce fichier à la racine du répertoire "/etc/openvpn/ via la commande suivante :
Nous rajoutons la lecture de ce fichier dans la configuration d'OpenVPN en modifiant le fichier normalement nommé " openvpn.conf" en y ajoutant la ligne "crl-verify crl.pem".
Et enfin nous allons relancer open vpn afin que la prise en compte des révoquations soient fonctionnelle.
Si vous souhaitez maintenant supprimer la révocation, il suffit de se rendre dans le fichier /etc/openvpn/easy-rsa/keys.index.txt, de remplacer le (ou les) R qui se trouve dans le (ou les) certificat révoqué par un V. De supprimer la 3ème colonne qui constitue un timestamp (date de la révocation) puis de déclencher la commande suivante :
source ./vars
openssl ca -gencrl -out "crl.pem" -config "$KEY_CONFIG"'
Et enfin de recopier, comme précédemment, le fichier crl.pem aux deux endroits cités plus haut.
J'espère que cet petit billet vous aura été utile !