Bonjour à tous, cela fait un petit moment que je n'ai pas publié et me revoilà avec ce petit article sur les VPN. Pourquoi
VPN est un acronyme pour Virtual Private Network, il s'agit d'une interconnexion entre 2 réseaux réseaux locaux à travers un réseau publique (Internet). Vous pouvez voir un VPN comme un moyen d’étendre votre réseau privée à travers internet.
Un VPN repose sur un protocole de tunnel qui sécurise (cryptage) la liaison de bout en bout. Plusieurs protocoles de tunnels existent (PPTP, L2TP, IPsec, SSH, SSL,.... ) agissants à différents niveaux du modèle OSI et qui définissent le type du VPN.
OpenVPN est un serveur d’accès utilisant le protocole SSL. Openvpn étant open source, il constitue une solution rapide et peu chère pour réaliser des interconnexions réseaux. Une riche documentation existe sur internet abordant les différents aspects de mise en oeuvre et de la configuration. De façon générale un VPN est employé dans 2 configurations distinctes:
Openssl est une "boîte à outils cryptographique" regroupant des bibliothèques d'algorithme de chiffrement. C'est cet ensemble de bibliothèques qui réalise le chiffrement de bout en bout des liaisons VPN. Openssl est également utilisé pour la génération des certificats serveurs et clients.
Les certificats sont des outils "clés" dans la mise en place de VPN en effet, ils permettent d'identifier de façon unique les différentes parties intervenant dans l'interconnexion. A l'etape précedente, nous avons copié un certain nombre de scripts (clean-all, build-dh et pkitool entre autre). L'exécution de ces scripts permettra de générer les différents certificats dont nous avons besoin.
Une fois les différents certificats générés, les certificats doivent être installés (copiés) dans le répertoire /etc/openvpn
Démarrage du client Windows
Dans la barre de lancement rapide vous trouverez l'icone du client OpenVPN, un clique droit ouvre le menu contextuel dans lequel vous trouverez l'option connect.
ATTENTION cette option ne sera disponible que si le fichier de configuration client.ovpn est installé dans le répertoire /config.
Et voilou!!!!! votre VPN est up. Après si vous lez tunner tout ça, il suffit de jouer un peu avec le fichier de configuration. Ceci fera peut être l'objet d'un prochain article. En attendant n'hésitez pas à commenter, critiquer ou faire des propositions d'articles à ce sujet ou sur autre chose.
@+
Qu'est ce qu'un VPN ?
VPN est un acronyme pour Virtual Private Network, il s'agit d'une interconnexion entre 2 réseaux réseaux locaux à travers un réseau publique (Internet). Vous pouvez voir un VPN comme un moyen d’étendre votre réseau privée à travers internet.
Comment ça marche?
Un VPN repose sur un protocole de tunnel qui sécurise (cryptage) la liaison de bout en bout. Plusieurs protocoles de tunnels existent (PPTP, L2TP, IPsec, SSH, SSL,.... ) agissants à différents niveaux du modèle OSI et qui définissent le type du VPN.
OpenVPN
OpenVPN est un serveur d’accès utilisant le protocole SSL. Openvpn étant open source, il constitue une solution rapide et peu chère pour réaliser des interconnexions réseaux. Une riche documentation existe sur internet abordant les différents aspects de mise en oeuvre et de la configuration. De façon générale un VPN est employé dans 2 configurations distinctes:
- Entre deux sites distants, on parle ici de VPN site à site.
- Entre un site et des utilisateurs distants (Road Warriors).
Mise en place
Résolution des dépendances
apt-get updateapt-get build-dep openvpn
Installation
openvpn
Sudo apt-get install openvpn
Installation
et configuration de openssl
Openssl est une "boîte à outils cryptographique" regroupant des bibliothèques d'algorithme de chiffrement. C'est cet ensemble de bibliothèques qui réalise le chiffrement de bout en bout des liaisons VPN. Openssl est également utilisé pour la génération des certificats serveurs et clients.
sudo mkdir /etc/openvpn/easy-rsa
sudo mkdir /etc/openvpn/jailsudo mkdir /etc/openvpn/clientconfsudo cp –r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsasudo chown -R $USER /etc/openvpn/easy-rsasudo vi /etc/openvpn/easy-rsa/vars
Cette derniere manipulation permet d'obtenir un certificats personnaliser avec les valeurs indiquées précédement.
Génération des clés et certificats
Les certificats sont des outils "clés" dans la mise en place de VPN en effet, ils permettent d'identifier de façon unique les différentes parties intervenant dans l'interconnexion. A l'etape précedente, nous avons copié un certain nombre de scripts (clean-all, build-dh et pkitool entre autre). L'exécution de ces scripts permettra de générer les différents certificats dont nous avons besoin.
cd /etc/openvpn/easy-rsaSource vars./clean-all./build-dh./pkitool --initca./pkitool --server serverSudo openvpn --genkey --secret keys/ta.key
Installation des certificats
Une fois les différents certificats générés, les certificats doivent être installés (copiés) dans le répertoire /etc/openvpn
sudo cp /keys/ca.crt keys/ta.key keys/server.crt keys/server.key /keys/dh1024.pem /etc/openvpn/
Configuration de openvpn
la configuration de OpenVPN passe par l'edition de son
fichier de configuration. Pardéfaut ce fichier n'existe pas, il faut donc le
créer.
sudo vi /etc/openvpn/server.conf
Démarrage du service
sudo openvpn server.conf
Installation et configuration
du client windows
Le client windows peut être téléchargé
ici
Une fois installé, copiez les
fichiers client.ovpn, clientVPN1.crt,
clientVPN1.key et ca.crt dans le repertoire de configuration openvpn :
C:\Program Files\OpenVPN\config
Démarrage du client Windows
Dans la barre de lancement rapide vous trouverez l'icone du client OpenVPN, un clique droit ouvre le menu contextuel dans lequel vous trouverez l'option connect.
ATTENTION cette option ne sera disponible que si le fichier de configuration client.ovpn est installé dans le répertoire /config.
Et voilou!!!!! votre VPN est up. Après si vous lez tunner tout ça, il suffit de jouer un peu avec le fichier de configuration. Ceci fera peut être l'objet d'un prochain article. En attendant n'hésitez pas à commenter, critiquer ou faire des propositions d'articles à ce sujet ou sur autre chose.
@+