Angristan : Installer facilement un serveur OpenVPN sur Debian, Ubuntu et CentOS
dimanche 20 mars 2016 à 18:52Plein de tutoriels sur le web expliquent comment installer OpenVPN sur votre serveur. Mais pourquoi ne pas se faciliter la vie et laisser un script le faire à votre place ? :D
Il y a une petite perle sur GitHub qui permet cela : OpenVPN-install, développé par Nyr. C'est un script qui installe automatiquement un serveur OpenVPN et qui génère la configuration client. Il a quelques fonctionnalités sympathiques comme le choix du port ou des DNS et la détection du NAT.
Seulement, je trouvais qu'il lui manquait quelques fonctionnalités et qu'il était trop faible en chiffrement... Du coup j'ai fait un fork ! C'est à dire que j'ai pris le code de Nyr, et je l'ai modifié à ma sauce. (Les 2 sont sous licence MIT)
Features
- Logs désactivés
- Meilleur chiffrement (voir ci-dessous + les 2 modes)
- TLS 1.2 uniquement au lieu de TLS 1.0
- AES-256-CBC et SHA-512 pour HMAC (au lieu de BF-128-CBC et SHA1)
- Les serveurs DNS de FDN
- Les serveurs DNS OpenNIC les plus proches de votre serveur (comme dans ce script)
- La dernière version de OpenVPN (2.3.10) grâce à EPEL pour CentOS et swupdate.openvpn.net pour Debian et Ubuntu
Pour faire court, j'ai amélioré les paramètres de chiffrement. Le script original utilise les paramètres par défaut de OpenVPN, et c'est pas vraiment ça...
Il a y a 2 variantes du script que j'appelle "fast" et "slow". Il y en a une qui a un chiffrement renforcé, et qui peut donc amener à avoir un débit plus lent, mais c'est vraiment relatif à votre serveur/client/connexion. :)
Ce que j'ai mis plus haut concernant TLS, HMAC, etc est inclus dans les 2 variantes.
Slow (chiffrement hardcore)
- Certificat signé avec une clé privée RSA de 4096 bits (2048 par défaut)
- Clé Diffie-Hellman de 4096 bits (2048 par défaut)
- AES-GCM 256 bits pour le tunnel chiffré (Blowfish 128 bits par défaut)
- Certificat signé avec SHA-384 (SHA1 par défaut)
Fast (moins hardcore)
Note : c'est moins hardcore mais ça reste tout à fait sécurisé.
- Certificat signé avec une clé privée RSA de 2048 bits (défaut)
- Clé Diffie-Hellman de 2048 bits (défaut)
- AES-GCM 128 bits pour le tunnel chiffré (Blowfish 128 bits par défaut)
- Certificat signé avec SHA-256 (SHA1 par défaut)
Si vous êtes parano ou que vous utilisez votre VPN dans un endroit susceptible de surveiller la connexion, je vous conseille "slow", bien que le chiffrement utilisé dans "fast" est théoriquement incassable également.
Voici ce que je compte rajouter quand j'aurais le temps :
- Possibilité de choisir si on veut un mot de passe pour le client
- Possibilité d'installer "fast" et "slow" sur le même serveur
- Compatibilité IPv6
Compatibilité
Le script est 100% compatible avec les distributions suivantes :
- Debian 7
- Debian 8
- Ubuntu 12.04 LTS
- Ubuntu 14.04 LTS
- Ubuntu 15.10
- CentOS 6
- CentOS 7
Installation
Il suffit de télécharger le script et de l'exécuter :
wget --no-check-certificate https://raw.githubusercontent.com/Angristan/OpenVPN-install-nyr/master/openvpn-install.sh
chmod +x openvpn-install.sh
./openvpn-install.sh
Lors de la première exécution, il va installer le serveur et générer un client. Vous pouvez le relancer autant de fois que vous le voulez avec la commande suivante :
./openvpn-install.sh
Vous pourrez alors ajouter des clients, supprimer des clients ou encore désinstaller complètement OpenVPN.
Alors, heureux ?
Simple comme bonjour !
Vous pouvez voir tous les changements de mon fork par rapport au script original ici.
N'hésitez pas à me faire parvenir vos retours, suggestions, ou éventuellement rapports de bug ! :)
L'article Installer facilement un serveur OpenVPN sur Debian, Ubuntu et CentOS a été publié sur Angristan
Original post of Angristan.Votez pour ce billet sur Planet Libre.
Articles similaires
- Angristan : Changer le fuseau horaire et mettre à l’heure un serveur sous Debian (28/04/2015)
- Thomas Tourlourat : CentOS – Installer le module h264 streaming pour Lighttpd (12/06/2012)
- Angristan : Changer le fuseau horaire et mettre à l’heure un serveur sous Debian (29/01/2015)
- Angristan : Compiler et installer Nginx avec le module PageSpeed pour Debian (23/08/2015)
- Angristan : Installer HHVM avec fallback PHP-FPM sous Debian 8 et Nginx (17/10/2015)