Comment installer VPN sur serveur Centos

Comment installer un VPN sur un serveur Centos?

Mis à jours 16 juillet 2024

Un VPN (Virtual Private Network) est crucial pour sécuriser vos communications en ligne et protéger vos données sensibles. En installant OpenVPN sur un serveur CentOS, vous pouvez créer un tunnel sécurisé qui garantit la confidentialité de vos données et protège contre les interceptions.

Ce guide vous montrera comment installer et configurer OpenVPN sur CentOS pour bénéficier d’une sécurité renforcée et d’un contrôle total sur vos connexions.

Pré-requis avant l’installation

Accès root au serveur

Pour installer et configurer OpenVPN, il est essentiel d’avoir un accès root à votre serveur. Cet accès vous permet d’exécuter toutes les commandes nécessaires à l’installation et à la configuration d’OpenVPN. Si vous n’avez pas cet accès, contactez votre administrateur système ou votre fournisseur d’hébergement web pour obtenir les privilèges nécessaires.

Mise à jour du système

Avant de commencer l’installation d’OpenVPN, assurez-vous que votre système d’exploitation et tous les paquets installés sont à jour. Les mises à jour garantissent que votre serveur bénéficie des derniers correctifs de sécurité et des améliorations de performance. Voici comment mettre à jour votre système sous CentOS :

  1. Connexion via SSH :
Putty

Utilisez un client SSH comme PuTTY pour vous connecter à votre serveur en utilisant vos identifiants root.

  1. Mettre à jour les paquets :

Exécutez la commande suivante pour mettre à jour tous les paquets installés :

yum update -y
  1. Redémarrer le serveur (si nécessaire) :

Après les mises à jour, il peut être nécessaire de redémarrer votre serveur pour appliquer les changements. Utilisez la commande suivante :

reboot

Installation de OpenVPN sur CentOS

Pour ce tutoriel, j’utiliserai un VPS Cloud de Infomaniak. Au fait, si vous n’avez jamais entendu parler d’Infomaniak, je vous recommande fortement d’y jeter un œil. Vous pouvez facilement déployer un VPS totalement fonctionnel en moins de trois minutes et ils sont incroyablement rapides.

En suivant ces étapes, vous aurez installé et configuré initialement OpenVPN sur CentOS, préparant ainsi votre serveur à fournir des connexions VPN sécurisées.

Téléchargement et installation

  1. Télécharger le référentiel EPEL :

OpenVPN n’est pas disponible dans le référentiel standard de CentOS. Vous devez installer le référentiel EPEL (Extra Packages for Enterprise Linux) :

yum install epel-release -y
  1. Installer OpenVPN et Easy-RSA :

Une fois le référentiel EPEL installé, vous pouvez installer OpenVPN et Easy-RSA avec la commande suivante :

yum install openvpn easy-rsa -y
  1. Configurer Easy-RSA :

Copiez les fichiers d’exemple Easy-RSA dans un répertoire de travail :

cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa/

Ensuite, accédez au répertoire Easy-RSA :

cd /etc/openvpn/easy-rsa/

Configuration initiale

  1. Initialiser le PKI :

Initialisez le PKI (Public Key Infrastructure) pour générer les certificats et les clés nécessaires :

./easyrsa init-pki
  1. Construire l’autorité de certification (CA) :

Construisez votre CA en exécutant la commande suivante et en suivant les instructions :

./easyrsa build-ca
  1. Générer la clé du serveur :

Créez une clé pour votre serveur OpenVPN :

./easyrsa gen-req server nopass

Ensuite, signer la demande de certificat du serveur avec votre CA :

./easyrsa sign-req server server
  1. Créer les clés Diffie-Hellman :

Générez les paramètres Diffie-Hellman nécessaires pour le chiffrement :

./easyrsa gen-dh
  1. Configurer le serveur OpenVPN :

Copiez les fichiers générés dans le répertoire de configuration d’OpenVPN :

cp pki/ca.crt pki/private/server.key pki/issued/server.crt /etc/openvpn/
cp pki/dh.pem /etc/openvpn/

Configuration d’OpenVPN

Configuration des fichiers de serveur et de client

  1. Configurer le fichier de configuration du serveur OpenVPN :

Créez un fichier de configuration pour le serveur OpenVPN :

nano /etc/openvpn/server.conf

Ajoutez les paramètres suivants au fichier server.conf :

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
  1. Configurer les fichiers de client OpenVPN :

Créez un répertoire pour les fichiers de client :

mkdir -p /etc/openvpn/client-configs
cp /usr/share/doc/openvpn*/sample/sample-config-files/client.conf /etc/openvpn/client-configs/base.conf

Ensuite, modifiez le fichier base.conf :

client
dev tun
proto udp
remote your_server_ip 1194
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
cipher AES-256-CBC
verb 3

Configuration du pare-feu et redirection des ports

  1. Configurer le pare-feu :

Utilisez firewalld pour configurer les règles de pare-feu nécessaires :

firewall-cmd --add-service=openvpn --permanent
firewall-cmd --add-masquerade --permanent
firewall-cmd --reload
  1. Activer le transfert IP :

Modifiez le fichier sysctl.conf pour activer le transfert IP :

nano /etc/sysctl.conf

Décommentez ou ajoutez la ligne suivante :

net.ipv4.ip_forward = 1

Appliquez les changements :

sysctl -p

Installation et configuration de iptables-services

  1. Installer iptables-services :

Utilisez la commande suivante pour installer iptables-services :

yum install iptables-services -y
  1. Activer et démarrer iptables :

Activez et démarrez le service iptables pour qu’il soit actif au démarrage du serveur :

systemctl start iptables
systemctl enable iptables
  1. Configurer les règles de pare-feu :

Ajoutez les règles de pare-feu nécessaires pour OpenVPN en modifiant le fichier /etc/sysconfig/iptables :

nano /etc/sysconfig/iptables

Exemple de règles à ajouter :

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p udp --dport 1194 -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
-A FORWARD -i tun+ -j ACCEPT
-A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT

  1. Redémarrer iptables :

Appliquez les nouvelles règles en redémarrant iptables :

systemctl restart iptables

Tests et vérifications

Vérification du statut de OpenVPN

  1. Démarrer le service OpenVPN :

Lancez le service OpenVPN et assurez-vous qu’il est activé au démarrage :

systemctl start openvpn@server
systemctl enable openvpn@server
  1. Vérifier le statut du service :

Utilisez la commande suivante pour vérifier que le service OpenVPN fonctionne correctement :

systemctl status openvpn@server

Test de la connectivité

  1. Configurer un client OpenVPN :
  • Téléchargez et installez un client OpenVPN sur votre appareil (Windows, smartphone, etc.).
  • Importez le fichier de configuration client généré précédemment et connectez-vous au serveur VPN.
  1. Tester la connexion :

Une fois connecté, vérifiez votre nouvelle adresse IP pour vous assurer que le trafic utilise le VPN. Vous pouvez utiliser des sites comme WhatIsMyIP pour vérifier.

Conseils de sécurité supplémentaires

Mise à jour régulière de OpenVPN

  1. Mettre à jour OpenVPN :

Pour garantir que votre installation d’OpenVPN bénéficie des derniers correctifs de sécurité et des nouvelles fonctionnalités, mettez régulièrement à jour OpenVPN.

Vous pouvez le faire en utilisant les commandes suivantes :

yum update openvpn -y
  1. Surveiller les messages de sécurité :

Abonnez-vous aux annonces de sécurité d’OpenVPN pour rester informé des mises à jour critiques et des nouvelles vulnérabilités. Vous pouvez consulter le site officiel d’OpenVPN pour les dernières informations.

Bonnes pratiques de sécurité

  1. Utiliser des certificats et des clés sécurisés :

Assurez-vous que vos certificats et clés sont générés avec des algorithmes de chiffrement forts et stockés en lieu sûr. Renouvelez-les régulièrement pour minimiser le risque de compromission.

  1. Surveiller les logs d’OpenVPN :

Surveillez régulièrement les logs d’OpenVPN pour détecter toute activité suspecte ou tentative de connexion non autorisée. Utilisez des outils de surveillance et des alertes pour être informé en temps réel des anomalies.

  1. Limiter l’accès au serveur VPN :

Restreignez l’accès au serveur VPN en configurant des règles de pare-feu strictes et en utilisant des listes blanches d’IP pour autoriser uniquement les connexions provenant de sources fiables.

  1. Configurer des politiques de mots de passe fortes :

Utilisez des mots de passe complexes pour les comptes administratifs et les certificats VPN. Changez-les régulièrement et évitez de réutiliser les mêmes mots de passe pour plusieurs services.

Conclusion

Installer et configurer OpenVPN sur un serveur CentOS est une étape essentielle pour sécuriser vos communications en ligne et protéger vos données sensibles. En suivant ce guide, vous pouvez mettre en place un VPN robuste et fiable, garantissant la confidentialité et l’intégrité de vos connexions. Assurez-vous de suivre les meilleures pratiques de sécurité et de maintenir votre installation à jour pour bénéficier d’une protection continue contre les menaces.

Jacques Tremblay
Suivez moi
Les derniers articles par Jacques Tremblay (tout voir)

Check Also

Comment LiteSpeed web server se compare-t-il à Apache et nginx ?

Mis à jours 23 juin 2020 Vous songez à passer au serveur Web LiteSpeed web …