• Aucun résultat trouvé

Les réseaux des EPLEFPA. Guide «Clients OpenVPN»

N/A
N/A
Protected

Academic year: 2022

Partager "Les réseaux des EPLEFPA. Guide «Clients OpenVPN»"

Copied!
27
0
0

Texte intégral

(1)

Guide « Clients OpenVPN »

Chantier national DRTIC http://drtic.educagri.fr/ Mai 2010

(2)

Table des matières

1Introduction...3

2Installation du Client...4

3Configuration...8

3.1Client d'une IpCop...9

3.2Client d'une PfSense...15

4Autres OS...24

4.1MacOsX...24

4.2Linux...27

4.3Exemple Ubuntu...27

(3)

L'installation, la configuration et l'utilisation d'un client OpenVPN suppose qu'un serveur ait été installé et que vous ayez connaissance de son adresse et de son paramétrage. Dans le cadre des établissements de l'enseignement agricole public, les distributions recommandées (IpCop ou PfSense) implémentent toutes deux un serveur OpenVPN. Si toutefois vous utilisez un autre système pour la sécurisation de votre réseau local, il est néanmoins possible d'installer cette solution sur un serveur Linux, VmWare ou HyperV de votre infrastructure. Avec OpenVPN, les notions de client et de serveur sont confondues au sein d'un même logiciel téléchargeable en format .tar ou en version .exe pour Windows. OpenVPN existe sous licence GPL dite

« community Software » et en version commerciale appelé « Access Server » intégrant des fonctionnalités évoluées et soumise à l'achat de licences.

Le site de référence est : http://www.openvpn.eu/

Le site commercial est : http://www.openvpn.net/

Il est à noter que si vous utilisez une distribution IpCop comme serveur, vous devez y ajouter un add-on nommé Zerina conformément à le documentation IpCop. Ce module complémentaire est téléchargeable dans une rubrique dédiée du site de référence :

(4)

2 Installation du Client

Le client OpenVPN existe pour les trois principaux systèmes d'exploitation présent sur les postes de travail, à savoir Linux, MacOSX et les différentes versions de Windows. Il existe également une version utilisable sur les PocketPC. Vous trouverez toutes ces versions (ou les liens y conduisant) sur le site de référence dans la rubrique

« sofware » :

La version pour MacOSX porte le nom de « Tunnelblick » et est téléchargeable sur le site d'hébergement de projet de google à l'adresse : http://www.tunnelblick.net/ ou sur les sites habituels de téléchargement comme clubic, zdnet, macupdate, …

Nous allons voir la procédure d'installation d'un client Windows puisque ce système d'exploitation représente encore la grande majorité des postes des utilisateurs. Le paramétrage est sensiblement le même sur les autres OS et nous les aborderons en fin de document.

(5)

Exécutez l'installeur :

(6)
(7)

Lorsque l'installation est terminée, vous trouvez sur votre bureau un raccourci nommé OpenVPN GUI qui vous permettra de démarrer le client OpenVPN qui ira se loger dans votre barre de tâche. Lors de la connexion au serveur, le client modifie les tables de routage du système, il est donc important de l'exécuter en tant qu'administrateur sur les OS récents (Vista, Seven, Ubuntu, …).

Avant de pouvoir l'utiliser, il nous faut le configurer manuellement grâce à un fichier de configuration stocké dans le répertoire d'installation du logiciel.

(8)

3 Configuration

L'installation a créée une arborescence dans le dossier Program Files (ou Programmes) où l'on va retrouver les répertoires contenant les binaires, les drivers, les logs, des exemples de configurations et surtout le dossier de configuration :

Le dossier config devra contenir impérativement le fichier de configuration « .ovpn » et les certificats permettant l'authentification et le chiffrement du tunnel. La procédure varie légèrement selon que votre serveur soit une IpCop ou une PfSense . Nous allons donc aborder ici les deux cas.

L'objet n'est pas de traiter des serveurs pour lesquels vous vous reporterez aux documentations correspondantes. N'oubliez toutefois pas de paramétrer les règles de Firewall de vos serveur IpCop ou PfSense de façon à autoriser les connexions depuis le Wan sur le port 1194 qui est celui par défaut d'OpenVPN.

(9)

3.1 Client d'une IpCop

Conformément à ce que vous trouverez dans la documentation de cette distribution, c'est l'IpCop qui génère et exporte les certificats nécessaires au fonctionnement du tunnel mais elle génère également le fichier de configuration « config.ovpn ».

Sur votre IpCop, dans l'onglet « RPVs/OpenVPN », dans la section « Autorités de certification » vous devez récupérer en cliquant sur les icônes disquettes le certificat racine (cacert.pem) et le certificat système (servercert.pem) que vous avez généré au moment de la configuration du module Zerina.

(10)

Vous devez ensuite, dans la section « Client status and control », cliquez sur « Ajouter », sélectionner

« RPV système à réseau (RoadWarrior) » et de nouveau « Ajouter », afin de créer le certificat du client. Il faut alors nommer la connexion (ex : PrenomNom) et générer un certificat en donnant un CN (toujours PrenomNom

??), en complétant les champs optionnels, en choisissant la France comme pays et en appliquant un mot de passe pour le futur fichier PKCS12.

(11)

du client (certificat + fichier .ovpn) en cliquant sur l'icône bleu OVPN au bout de la ligne nouvellement créée.

Vous récupérez alors un fichier .zip à installer dans le répertoire config du client en compagnie des deux fichiers .pem précités.

(12)

Vous décompressez le fichier .zip dans le dossier config :

Dès lors, vous pouvez tester votre vpn et voir la configuration en effectuant un click droit sur l'icône du client openpvn de la barre de tâche.

Click droit / Edit Config pour visualiser le contenu du fichier de configuration :

(13)

votre client OpenVPN GUI doit avoir été exécuté en tant qu'administrateur pour pouvoir modifier les tables de routage. Le lociciel vous demande alors le mot de passe du certificat p12 choisit lors de sa génération sur le serveur IpCop :

La connexion s'établie ensuite en affichant tous les détails de la phase de connexion :

(14)

L'icône d'OpenVpn GUI devient vert et averti que la connexion est établie :

Un click droit / Disconnect suffit ensuite à interrompre la connexion et à revenir à l'état initial. L'icône d'OpenVpn GUI redevient alors rouge.

(15)

A la différence de l'IpCop, la distribution PfSense ne prévoie pas (pour l'instant) d'outils graphiques permettant la génération des différents certificats et clefs nécessaires au fonctionnement du tunnel La création de ces différents fichiers doit être réalisée manuellement avec le logiciel OpenVPN depuis un PC sous Windows ou sous Linux. Vous pouvez également télécharger sur le portail du monde Opensource un petit logiciel libre appelé XCA qui vous permettra de créer une base de données, protégée par un mot de passe, qui génèrera puis stockera les couples certificat/clef de l'autorité de certification, du serveur PfSense puis des différents clients.

Dans un souci de cohérence, nous utiliserons la création manuelle des certifications sur un système Windows à l'aide du logiciel OpenVPN téléchargé et installé conformément au chapitres 2 et 3 du présent document. Ouvrez une fenêtre de type terminal (CMD) et positionnez-vous dans le répertoire easy-rsa du logiciel OpenVPN, en principe C:\Program Files\OpenVPN\easy-rsa :

Initialisez la configuration en exécutant la commande init-config :

(16)

Editez le fichier var (appelé vars.bat sur Windows) et modifiez les paramètres KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, et KEY_EMAIL qui se trouvent à la fin du fichier. Ne laissez aucun de ces paramètre vide.

Ensuite, initialisez la PKI (Infrastructure de gestion de clefs) à l'aide des commandes vars puis clean-all

(17)

Générez le certificat maître et la clé de l'Autorité de Certification (CA) grâce à la commande build-ca et répondre aux questions. Vous noterez que la plupart des informations saisies sont les valeurs par défaut inscrite dans les variables du fichier «vars.bat». Le seul paramètre qui doit être spécifiquement saisi est le CN (Common Name) qui représente le nom de votre PfSense qui est l'autorité de certification.

(18)

l'étape précédente, la plupart des paramètres sont les paramètres par défaut. Lorsque le CN ( Common Name) vous est demandé, vous devez saisir server . Vous conservez ensuite les réponses par défaut jusqu'aux deux questions «Sign the certificate [y/n]» et «1 out of 1certificate requests certified, commit [y/n]» où vous devez répondres par y.

(19)

commande « build-key client1 ». Pour chaque client, il faut saisir le «Common Name» approprié lorsque la question vous sera posée, par exemple «client1», «client2», «client3». Le CN (Common Name) est unique pour chaque client.

Vous conservez les réponses par défaut jusqu'à la question « A challange Password [] : » qui vous permet de protéger le certificat du client par un mot de passe, ce que nous conseillons. Puis à nouveau les réponses par défaut jusqu'aux deux questions «Sign the certificate [y/n]» et «1 out of 1 certificate requests certified, commit [y/n]» où vous devez répondres par y.

(20)

(notre PfSense) grâce à la commande « build-dh ».

Nous avons maintenant toutes les clés nécessaires générées et stockées dans le répertoire « keys ». Nous allons pouvoir passer à la phase de configuration du serveur OpenVPN sur notre PfSense puis sur les clients distants.

Il est nécessaire de sauvegarder toutes ces clés car en cas de besoin de nouveaux clients, il faudra bien sûr utiliser ces fichiers. La configuration du serveur ne se fait qu'une fois et celle des clients peut être étalée dans le temps,

(21)

documentation PfSense. Nous nous intéressons ici aux certificats. Changez la méthode d'authentification

«Authentication method» à PKI.

Maintenant nous devons copier et coller les clés nécessaires au serveur en utilisant votre éditeur de texte favori pour ouvrir les fichiers du répertoire « keys » en mode texte. Vous devez toujours copier-coller les sections ---BEGIN CERTIFICATE--- et ---END CERTIFICATE---- ainsi que tout ce qui se trouve entre ces deux tags, comme sur l'image ci-dessous.

Le contenu du fichier ca.crt correspond à « CA certificate ».

Le contenu du fichier server.cert correspond à « Server certificate ».

Le contenu du fichier server.key correspond à « Server key ».

Le contenu du fichier dh1024.pem correspond à « DH paraleters ».

Saisissez une description intelligente dans le champ «Description», comme «Clients nomades EPL xxx»

puis cliquez sur «Save». La partie Serveur est terminée et nous allons passer au paramétrage du client qui est très semblable au cas traité dans le chapitre IpCop.

(22)

deux, puis récupérer les certificats et les clefs nécessaires que l'on vient de générer pour les installer dans le répertoire config du client. Les fichiers sont : ca.crt (le certificat AC), server.crt (le certificat de la PfSense), PcFranck.crt (le certificat du bon client) et PcFranck.key (la bonne clef du bon certificat …). Vous copiez ensuite le fichier de configuration modèle situé dans le dossier « sample-config » et nommé « client.ovpn » dans le dossier config. Vous obtenez donc :

Vous l'éditez ensuite avec votre éditeur préféré pour le modifier (ou l'écraser complètement) avec les paramètres ci après :

float

port 1194 → (port par défaut de OpenVPN)

dev tun

dev-node VPN → (nom de la connexion Tap-Win32)

proto udp

remote 80.80.80.33 1194 → (adresse IP publique du serveur Pfsense) ping 10

persist-tun persist-key tls-client

ca ca.crt → (Certificat de l'AC)

cert PcFranck.crt → (Certificat selon le client nomade ciblé) key PcFranck.key → (Clef selon le client nomade ciblé) ns-cert-type server

pull

comp-lzo → (Compression si validée sur le serveur)

verb 3

(23)

client openpvn de la barre de tâche.

Click droit / Edit Config pour visualiser le contenu du fichier de configuration :

Cick droit / Connect pour établir la communication. N'oubliez pas que sous plusieurs OS(Vista, Seven), votre client OpenVPN GUI doit avoir été exécuté en tant qu'administrateur pour pouvoir modifier les tables de routage. Le fonctionnement est alors identique à celui décrit pour IpCop. OpenVPN vous demande alors le mot de passe du certificat crt choisit lors de sa génération puis initialise la connexion en affichant tous les détails de la phase de connexion. Lorsqu'elle est établie, l'icône d'OpenVpn GUI devient vert et averti que tout fonctionne correctement.

Un click droit / Disconnect suffit ensuite à interrompre la connexion et à revenir à l'état initial. L'icône d'OpenVpn GUI redevient alors rouge.

(24)

Le paramétrage des clients VPN sous Linux ou MacOsX est strictement identique à celui décrit ci- dessus pour les PC sous Windows. La différence se situe au niveau de l'installation du client et dans l'emplacement des fichiers.

4.1 MacOsX

Rendez-vous sur le site officiel du client OpenVPN pour Mac « TunnelBlick » et téléchargez le client Tunnelblick_3.0.dmg et installez le :

(25)

Répondre aux questions. Une fois terminé vous obtenez :

Lancez le client en cliquant sur Launch et donnez votre mot de passe. Une fois le message de bienvenue de Tunnelblick affiché, il nous reste qu'à le configurer de la même façon qu'un client Windows (cf. chapitre 3) pour l'utiliser. Vous aurez alors le choix de : Install and edit sample configuration file (Installer et modifier le fichier de configuration), Open configuration folder (Ouvrir le dossier de configuration) ou Quitter.

Nous allons cliquer sur Open configuration folder (Ouvrir le dossier de configuration) qui se situe sous /Users/{votre nom utilisateur}/Library/openvpn/Configurations. Dans certaines version, il peut être sous /Users/

{votre nom utilisateur}/Library/Application Support/Tunnelblick/Configurations

(26)

Il vous faut y déposer les certificats et clefs nécessaires ainsi que le fichier .ovpn :

Il vous suffit alors de vous connecter. Lorsque vous lancerez l'application Tunnelblick, celle-ci apparaîtra dans la barre de menu du finder en haut à droite, à côté de l’icône SpotLight. Cliquez sur son l'icône dans le finder et sélectionnez Connecter 'Le nom de la clé VPN'. Dans notre exemple, il s'agit de Connecter 'medhi'. Pour vous déconnectez, même opération en choisissant Déconnecter.

(27)

4.2 Linux

Comme pour Windows ou Mac OS, la configuration du client OpenVPN consiste à l'installer sur la machine puis à paramétrer le fichier de configuration .ovpn et déposer les certificats et clefs nécessaires dans le répertoire de configuration.

Sous Linux, beaucoup de distributions intègrent de manière native un client vpn compatible avec OpenVPN intégré aux outils graphiques de paramétrage du réseau. Dans ce cas reportez vous aux sites de votre distribution. Vous pouvez également installer le package OpenVPN que ce soit en rpm, en .deb ou via les dépots Ubuntu. Il vous suffit alors de repérer ou se trouve répertoire config du client pour y déposer les bons fichiers.

4.3 Exemple Ubuntu

A titre d'exemple, voici la configuration sur un OS Ubuntu :

Pour installer le client OpenVPN, il suffit d'installer le paquet openvpn disponible dans les dépôts officiels. On pourra aussi installer le paquet installer le paquet network-manager-openvpn (pour Ubuntu) ou installer le paquet kvpnc (Kubuntu) pour avoir une interface graphique qui permet de simplifier l'utilisation.

Pour la configuration sans interface graphique, vous devez copier (ou modifier) le fichier .ovpn ainsi que les certificats et clefs dans le répertoire config du client OpenVPN, comme sous Windows ou sous Mac.

C'est, en principe sous /etc/openvpn/

Avec network-manager-openvpn, un clic sur l'icône de network-manager situé dans la barre de tâches montre un champ Connexions VPN, qui permet de configurer le VPN. L'interface est assez intuitive, mais aussi assez limitée par rapport aux nombreuses options disponibles dans le fichier de configuration. Pour une utilisation basique, ou si les réglages envoyés par le serveur au client vous conviennent ce moyen est suffisant, ce qui est généralement le cas.

Pour ceux qui utilisent Kubuntu, il faut utiliser Kvpnc qui est une interface graphique très complète pour gérer de nombreux types de VPN. Elle vous permettra de configurer presque aussi finement votre configuration qu'en éditant à la main le fichier de configuration.

Pour se connecter au VPN sans interface graphique, il faut lancer dans un terminal la commande « sudo openvpn fichierdeconfiguration ». Les droits d'administration sont nécessaires car openvpn va créer une interface réseau virtuelle, la configurer avec ifconfig et changer les tables de routages.

Pour se connecter avec network-manager, il suffit de faire un click droit sur l'icône network-manager de la barre de tâches puis de choisir « connexions VPN / Se connecter à NomduVpn ». Dans cette configuration, on évite d'avoir son mot de passe à rentrer, ce plugin reposant sur un démon lancé au démarrage avec les privilèges d'administration.

Références

Documents relatifs

Une fois votre fichier confidentiel est importé avec succès et le tunnel est en mode connecté, vous pouvez maintenant accéder aux ressources électroniques à partir

[r]

❚ définir les différentes actions que pourra réaliser l’utilisateur dans cette fenêtre (cliquer dans tel ou tel item du menu, dans tel composant : bouton, item d'une liste...).

[r]

Pour les autres systèmes d’exploitation (Linux, MacOS, iOS, Android), télécharger le fichier de configuration classique en cliquant sur “Profil VPN SSL pour clients mobile OpenVPN

#Ici je définis un tunnel dans une des extrémités sera mon interface tun0 qui sera créer pour cette communication, if config la première ip est l’ip du serveur la seconde et l’ip

De plus, nous allons le configurer pour utiliser l’annuaire des utilisateurs présent dans Zimbra (basé sur openldap) pour centraliser toutes les

ca.crt : ce fichier est le certificat de notre VPN, ce fichier est public et doit être diffusé sur chaque élément du VPN (clients et serveurs).. ca.key : ce fichier permet de