Comment vérifier la validité d’un certificat

openssl x509 -in <nom du cert>.crt -noout -enddate

Comment voir si un certificat est révoqué ou pas

#supposons que le répertoire qui contient les certificats est /etc/openvpn/easy-rsa/keys
cat /etc/openvpn/easy-rsa/keys/index.txt
# Ou si on veux etre plus précis dans la recherche
cat /etc/openvpn/easy-rsa/keys/index.txt | grep <nom du cert.>

V = Actif et R = Revoked

Que faire quand votre CA (ca.crt) est expiré

Si votre certificat CA est expiré, il faut en générer un nouveau et le signer avec la clé CA.key existante. (Par défaut il est valide 10ans, mais ici on va mettre un peu plus 😀 .)

openssl x509 -in ca.crt -days 36500 -out ca_new.crt -signkey ca.key

ca.crt est l’ancien certificat, ca_new.crt est le nouveau fraichement généré, et le ca.key est la clé (qui ne changera pas pour ne pas devoir régénérer les certificats clients)

Nous pouvons tester notre nouveau certificat CA avec un certificat client:

openssl verify -CAfile ca_new.crt client.crt
client.crt: OK

On fait un backup de l’ancien certificat CA et on applique le nouveau

mv ca.crt ca.crt.old
mv ca_new.crt ca.crt

Maintenant, il faut distribuer et remplacer le nouveau ca.crt chez les clients.

Pensez aussi à vérifier la date d’expiration des certificats serveur et clients (voir ci-dessus).

Si vous y avez penser tôt assez, pour éviter les surprises vous pouvez mettre les deux CA dans le même fichier.

Si les certificats clients sont expirés il faut recréer ceux qui sont expirés (via build-key).
Si c’est le certificat du serveur qui est expiré, il faut sauvegarder l’ancien et générer un nouveau (via build-key-server).

Comment voir qui est connecté actuellement au VPN

Tout d’abord, dans votre fichier de configuration du serveur il faut déclarer le fichier status.

...
status /tmp/openvpn-status.log
...

Il suffit d’afficher le contenu de ce fichier

cat /tmp/openvpn-status.log
# Ou bien avec un rafraichissement automatique
watch cat /tmp/openvpn-status.log

 

Afficher les règles iptables en détails:

iptables -n -L -v

 Afficher les ports utilisés sur la machine ainsi que le PID du service en question

netstat -tanpu

 Compresser un dossier en tar.gz

tar czvf <nom_archive>.tar.gz <nom_dossier>

 Decompresser un tar.gz

tar xzvf <nom_archive>.tar.gz

 Faire une capture de paquet

tcpdump -i <interface>

 Autre options:

  • port XX : filtre sur le port en question
  • -v : mode verbose
  • -w <nom_du_fichier> : enregistre la capture dans un fichier (qui peut être ouvert avec wireshark)

Afficher/surveiller un fichier en continu

Très utile pour les logs notamment

tail -f <chemin_du_fichier>

Supprimer les fichiers plus vieux de X jours

Utile pour supprimer les vieux fichiers de backup

Dans l’exemple ci dessous supprime les fichiers vieux de > 3 jours dans /data/backups

cd /data/backups/ && find -type f -mtime +2 -exec /bin/rm -f {} \;

Faire un backup complet du système linux

tar cvpjf backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/root/backup.tar.bz2 --exclude=/mnt --exclude=/sys /