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 veut être plus précis dans la recherche
cat /etc/openvpn/easy-rsa/keys/index.txt | grep <nom du cert.>

V = Actif et R = Révoqué

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 10 ans, 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 fraîchement 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 pensé 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 rafraîchissement automatique
watch cat /tmp/openvpn-status.log

 

Si vous cherchez comment cloner (aspirer) un site web en local, il existe des aspirateurs de sites internet.

Le plus connu s’appelle HTTrack il est open source et fonctionne bien.

C’est utile pour sauvegarder/archiver un site, faire un miroir (et le mettre à jour) ou bien lorsqu’il y a un besoin d’accéder à des contenus hors ligne.

Attention, il ne sauvegarde que le contenu visible d’un site web (HTML/CSS et images) donc évidemment pas de code server-side ni de backend.

La sauvegarde peut prendre du temps en fonction de votre connexion internet.

Sur les distributions basées sur Debian on l’installe via

apt-get install httrack

Ensuite, pour le faire fonctionner, la syntaxe est :

httrack -w nomdusite.com

Assez simple, non ?

J’ai fait rapidement un petit script bash qui permet d’aspirer, archiver et compresser un site.

#!/bin/bash
## Aspirateur de site HTTRACK - M4t.xyz
path="/root/httrack" #Chemin de destination
projet=$1
compression=1 # 1 = activé ; 0 = désactivé

if [ $# -eq 0 ]
  then
    echo "Nom du site en argument SVP"
    exit 1
fi

httrack -w $projet -O $path/$projet -F "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1)" 
#le -F permet de changer d'user-agent afin d'éviter les bans...

if (( $compression == 1 )); then
        tar -czf $path/$projet.tar.gz $path/$projet && rm -R $path/$projet
fi

Il existe bien sûr une version pour Windows (WinHTTrack)

Bref, utile pour sauver des petits bouts de web (blogs, …).

Ayant récemment pu tester la Chromecast, j’ai pu faire une petite analogie avec un système XBMC/KODI.

Grâce à la Chromecast, nous pouvons transformer n’importe quelle TV HDMI en une petite station multimédia avec notre smartphone ou tablette.
Nous pouvons diffuser une vidéo YouTube sur la TV, une photo, une musique, tout cela depuis un périphérique Android. C’est génial, mais cela a ses limites, en effet, toutes les applications ne sont pas (encore compatibles) avec la fonction de diffusion Chromecast.

Pour ceux qui disposent d’un système XBMC/KODI, vous devez savoir que vous pouvez faire la même chose via l’application officielle XBMC remote ou via des concurrentes (par exemple celle-ci).

Pour ce faire, il faut donc une des applications « remote ». Rendez-vous ensuite dans votre galerie/gestionnaire de fichiers/application pour sélectionner le contenu que vous souhaitez diffuser, cliquez sur partager et choisissez de le partager avec XBMC/KODI remote (ici « Play on KODI »). C’est aussi simple que ça 😉

wpid-wp-1427649989455.png

Idem pour d’autres applications (même si elles ne supportent pas la fonctionnalité Chromecast, tant qu’elles peuvent partager un contenu).

Pour chaque média partagé, il faut que le système XBMC puisse le lire bien évidemment, qu’il ait l’application YouTube pour « caster » une vidéo YouTube par exemple.
Voici un autre exemple avec YouTube.

wpid-wp-1427650366696.png wpid-wp-1427650372749.png

Utile pour ceux qui aiment les fonctionnalités de la Chromecast mais avec plus de libertés et plus de flexibilité. XBMC/Kodi installé sur une Raspberry Pi.