J’ai trouvé par hasard l’autre jour un petit script qui peut aider les novices dans l’installation d’un serveur openvpn sous linux.

bourooopenvpn-install_-_Mozilla_Firefox_2016-01-12_21-58-11

Il permet d’installer et mettre en place un serveur en deux petites minutes. C’est interactif, on peux activer et configurer des fonctionnalité.

Voici comment exécuter:

wget goo.gl/OQALpo --no-check-certificate -O openvpn-install.sh && bash openvpn-install.sh

Ensuite asseyez-vous et laissez-vous guider.

Pour plus d’info, le github du script openvpn-install.

Sinon j’ai également fais un fork il y a quelques temps pour ajouter quelques fonctionnalité que je trouvais sympa. Ceci dit, il n’est pas du tout à jour et je ne le maintiens pas.

 

Dans un article précédent j’expliquais comment installer une seedbox en se basant sur transmission.
Ici je vais vous présenter un autre tutoriel, toujours sur le même sujet, mais en utilisant un autre service: Rtorrent avec l’interface graphique rutorrent.

Rtorrent est un client torrent en ligne de commande (CLI). De base, il est très léger. Mais bon pour l’utilisation quotidienne, c’est pas vraiment très pratique (même si c’est sexy).
C’est pourquoi on va le faire fonctionner avec Rutorrent, qui est une interface web pour gérer nos torrents.

L’avantage de cette combinaison c’est que nous allons pouvoir faire fonctionner une multitudes de plugins pour avoir beaucoup plus de fonctionnalités qu’un autre client torrent « web based ».

Rutorrent

Pour les fous furieux ils peuvent compiler (attention aux outils et à la version du compilateur), personnaliser et utiliser les outils sans problème mais ce n’est pas donné à tout le monde.

Si vous ne vous en sortez pas, Kerwood à fait un petit script bien sympa qui s’occupe de tout (compilation, install, selection des plugins,…). C’est rapide et efficace.

Je ne vais pas faire d’explication doublons, le Readme est très bien fait.

Il y a aussi une video ici.

 

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