SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Implémentation d'OPENVPN sous Linux (Fedora 13)

   1. Installation du package Openvpn

Nous allons procéder à la mise en œuvre d'une solution d'interconnexion de sites
distants grâce à l'outil openvpn sous fedora 13.
Sur la ligne de commande en tant que super utilisateur, tapez la commande
comme à la figure ci-dessous:




Valider




Voilà il me propose un autre outil très intéressant qui assure la compression des
données sous le tunnel pour mieux gagner en vitesse de transmission: il s'agit de
l'outil « lzo », nous verrons cet outils dans les fichiers de configuration un peu
plutard


Dimitri Lembokolo                                                               1
Voilà donc on tape « O » pour confirmer l’installation




En effet openvpn tourne, il n'y seulement pas grand choses au niveau des sockets
tel a été le comportement après la commande netstat.
Vérifiant au niveau des paquets RPM :




Exact les paquets sont bien là.



Dimitri Lembokolo                                                            2
2. Génération des certificats d'authentification

Nous allons sur ce point générer les certificats et les clés qui vont permettre aux
clients et au serveur de s'authentifier mutuellement de telle sorte que personne
d'autres que vous ne puisse se connecter au VPN.
Pour ça nous allons se déplacer dans le répertoire easy-rsa d'openvpn :


cd /usr/share/openvpn/easy-rsa/




Voilà nous avons les outils nécessaires qui vont nous permettre de générer les
clés et les certificats pour les clients et serveur.

Première chose, nous allons modifier les valeurs des variables d'environnement
afin de ne pas avoir à répéter les renseignements à fournir à la génération des
clés,


Dimitri Lembokolo                                                                3
Pour cela nous allons éditer le fichier « vars » ci-dessus :
Voici la liste des paramètres par défaut à modifier, ils sont généralement en bas
du fichier sous fedora .
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"




Après sauvegarde du fichier, relancer la prise en charge de ces nouvelles
variables :




Remarque : il va supprimer le dossier keys (ancien endroit où il conservait les
clés) contenu dans le répertoire qu'il indique, à priori il n'y a même pas de
répertoire keys car nous sommes à présent dans ce répertoire.
Donc nous n'avons rien à craindre nous allons lancer le script ./clean-all.




Dimitri Lembokolo                                                                 4
Là il m'a créé un répertoire « keys » qui contiendra toutes nos clés.
Vous pourrez vérifier qu'à présent ce répertoire ne contient que deux fichiers
crées par le script build-all (index.txt et serial qui sont important pour la
génération des certificats server et clients).




Dimitri Lembokolo                                                                5
Création des certificats.
Premièrement nous allons faire une autorité de certification.




Voilà vous remarquerez que vous aviez déjà les valeurs mémorisées dans le
fichier « vars ».
Il ne s'agira que de renseigner le nom de la CA (Certification Authority), pour
les valeurs entre crochets appuyé sur Entrée et il prendra la valeur par défaut.
A présent nous venons de créer l'autorité de certification qui est dans le
répertoire « keys ». Ce certificat est le certificat racine qui va ensuite nous
permettre de créer le certificat serveur et les certificats clients.
Donc la partie publique de ce certificat devrait être déposé au niveau des clients
pour qu'ils puissent s'authentifier au niveau du serveur pour qu'ils reconnaissent
tous les certificats qui seront créés à partir de cette autorité.
Là nous allons créer le certificat pour le serveur (cette machine même que je
dénomme bonal).
Ce certificat nous allons l'appeler « srvrdimi », nous allons le signer nous-même
et ensuite, nous allons le générer comme va le montrer cette manipulation.
Nous n'allons pas donner un challenge password ni optional .....Pour la création
des certificats.




Dimitri Lembokolo                                                               6
Très bien il ne reste plus qu'à faire la même opération pour le client, en se
servant du script « build-key clientdimi » : Le certificat du client nous allons
l'appeler « clientdimi».



Dimitri Lembokolo                                                                  7
Dimitri Lembokolo   8
Examinons le contenu du répertoire keys.




Excellent nous voyons que la CA a été généré, la partie certificat server a été
générée de même que la partie certificat client.
A présent il ne nous reste qu'à créer les paramètres Diffie-helmann :
Diffie-Hellma (D-H) est un algorithme à clé publique utilisé pour assurer un
partage de clé secrètes.




Très bien, là nous avons l'ensemble des informations cryptographiques dont
nous avions besoin pour configurer notre VPN.

Dimitri Lembokolo                                                                 9
3. Configuration et lancement du serveur

Il nous reste à récupérer le fichier de configuration du serveur « server.conf » et
le mettre dans lerépertoire /usr/share/openvpn/easy-rsa/2.0/keys/
Alors chez moi il est par défaut installé dans le répertoire
/usr/share/doc/openvpn-2.1/sample-config-files




Très bien là nous allons éditer ce fichier pour y positionner les variables qui vont
nous intéresser pour la mise en place du vpn.




Dimitri Lembokolo                                                               10
Vérification de l’adresse IP de la machine




On édite le fichier server.conf




Les principaux paramètres sont les suivants :
local a.b.c.d
Mettre son adresse IP si on veut notre machine soit le serveur (chez moi « local


Dimitri Lembokolo                                                            11
192.168.1.66 »).

port 1194
Le port par défaut est 1194, vous pouvez mettre le port 443 qui est un port
réservé pour le protocole https qui traverse rapidement les firewall et les proxy.
En général tous les proxy d'entreprise qui filtre les entrées laissent passer le
trafic sur ce port car de toute façon c'est un contenu chiffré que le proxy ne veut
pas récupérer.

proto tcp
Évidemment le protocole tcp est un bon choix, par défaut il est en udp.

dev tun
Ok nous nous allons prendre comme interface tun pour tunnel.

ca ca.crt
cert srvrdimi.crt
key srvrdimi.key

Les parametres Diffie hellman
dh dh1024.pem

Exact nous l'avions créé sous ce nom.
C'est une clé de 1024bit, a noter également que nous pouvions bien entendu en
faire de 2048 bit pour plus de sécurité mais là c'est un compromis entre
performance du tunnel et sécurité du lien.
1024bit est plutôt un bon choix dans notre contexte
A noter qu’on n’a pas besoin de spécifier le chemin d'accès à ces clé et
certificats.

Server 10.8.0.0 255.255.255.0
Nous donnerons cette plage par défaut au serveur.
A noter également que si vous utilisez déjà ces adresses sur votre LAN il faudra
bien en prendre une autre plage que vous n'utilisez pas.
A chaque fois qu'un client se connectera au vpn, le serveur lui attribuera une
adresse Ip contenue dans cette plage.
Bien vérifier en bas du fichier l'utilisation de la librairie lzo pour la compression
des données.
Comp-lzo

Utiliser l'utilisateur et son groupe nobody par défaut pour lancer le serveur.
user nobody (le décommenté)
group nobody (le décommenté)

Dimitri Lembokolo                                                                12
verb 3
Le niveau 3 de log me paraît plutôt bien pour un serveur de production.
Si jamais vous avez des problèmes avec le serveur, il ne démarre pas ....vous
pourrez mettre la verbosité maximal qui est de 9.
On sauvegarde et on lance le service par le script contenu dans /etc/init.d/




Parfait tout marche comme on veut c’est vraiment informatique ça.




Dimitri Lembokolo                                                               13
Excellent openvpn est au niveau des sockets démarrés.
Il ne reste plus qu'à s'occuper des clients sous Windows maintenant.
A noter également que nous pouvons avoir des clients Linux et c'est
pratiquement la même manipulation.




Dimitri Lembokolo                                                      14
INSTALLATION DU CLIENT OPENVPN

Alors après avoir installé et configuré notre serveur OpenVPN sous notre fedora
nous allons nous intéresser aux clients.
A savoir aussi, on est sur Windows donc c’est clic… suivant… suivant on n’a
pas besoin d’être intelligent pour le faire.

   1. Configuration du client

Nous avons opté pour l'installation d'un client sous Windows sachant que sous
linux c'est pratiquement la même chose que pour la parte serveur.
Vous allez vous rendre sur ce lien et télécharger l'outil client :
http://openvpn.se/files/install_packages/openvpn-2.0.5-gui-1.0.3-install.exe

Exécutez et il vous posera quelques questions et vous installerez les drivers des
interfaces réseaux virtuelles TUN/TAP :
Le répertoire d'installation sera C:/ProgramFiles /OpenVPN




On a installé le client sous Windows XP et on a ces répertoires là que vous
voyez.


Dimitri Lembokolo                                                             15
Ouvrons le dossier sample-config qui contient des exemples de fichiers de
configuration.




Ok ensuite nous allons copier le fichier client dans le répertoire config .s'il n'y
est déjà pas.




Il nous faudra également récupérer les informations cryptographiques de la


Dimitri Lembokolo                                                                 16
partie client sur le serveur et les copier dans ce répertoire config sous Windows.
Nous allons utiliser winSCP pour ce faire.
Mon serveur à l'adresse IP 192.168.1.66 et voilà :




Cliquer sur login




Dimitri Lembokolo                                                              17
Voilà j'ai les informations contenues dans le fichier /usr/share/openvpn/easy-
rsa/2.0/keys dans la partie de droite (sous linux) et je dois copier la Ca, les clé
client et le certificats client.




Ok !

Dimitri Lembokolo                                                                 18
A présent on fait clic droit sur le fichier client et on a la possibilité de l'éditer ou
de lancer le service.
Nous allons l'éditer pour renseigner nos paramètres.




Dimitri Lembokolo                                                                    19
Voilà c'est comme le fichier de conf du serveur sous linux.
Les principaux paramètres à modifier :
Client
proto tcp
dev tun comme sur le serveur
remote 192.168.1.66 1194 (remote : on renseigne l’adresse IP de son serveur
vpn et le numéro de port, pour mon cas c’est 192.168.1.66 et le numéro de port
1194).




 La partie la plus importante est la ligne « remote ».
Alors pour que vous puissiez connecter un client depuis la Brazzaville et le
serveur se trouvant chez Dakar à Mbour il faut indiquer une adresse IP publique
et statique.
Et c'est d'ailleurs l'objectif du VPN (Interconnexion de sites distants)
Il est aussi à rappeler que nous pouvons connecter au serveur autant de clients
que nous voulons, il faut juste à chaque fois générer les informations
cryptographiques au niveau du répertoire easy-rsa du serveur et les déployer par
la suite sur le client.
On met alternative pour les gens qui ne voudront pas utiliser une IP publique il
existe des solutions comme dyndns, No-IP entre autres qui permette de fixer une
adresse IP publique de par son nom.
Par exemple si j'utilisais une ADSL d'orange qui en général attribue des adresses

Dimitri Lembokolo                                                            20
Ip publiques mais trouve le moyen de les changer à chaque fois que l'on se
connecte ou qui fixe un certain délai pour renouveler les adresses IP des clients
(c'est une politique ....sinon les gens en feront des IP fixes et voilà)
Je peux temporairement avoir une Ip du type 196.200.80.18 mais qui
certainement va changer au bout d'un certain temps, alors pour permettre à mes
clients openvpn de toujours se connecter au serveur, je fais correspondre cette
adresse avec un nom comme bonaldimi.dyndns.org .
Et là je vais tout simplement installer un client sur mon serveur qui se chargera
de faire la correspondance entre mon Ip et mon nom d'hôte de telle sorte que je
puisse au niveau de mes fichiers de config client openvpn renseigner la variable
« remote bonaldimi@dyndns.org »).
Et là j'ai mis un nom d'hôte qui pointera toujours sur mon Ip que l'ADSL me
donne.




Exemple http-proxy 192.168.1.20 8080
Si vous n'utilisez pas de proxy comme moi présentement, ignoré .....
Autre point important il faut obligatoire indiquer l'emplacement des clés et
certificats.
Vu que nous les avons dans le répertoire courant, on n’a pas besoin d'indiquer
un chemin absolu.




Dimitri Lembokolo                                                             21
Ca : certificat de l'autorité de certification
Clientdimi.crt : le certificat du client
Clientdimi.key : la clé associée au certificat du client.
De la même manière on vérifie l'utilisation de la lib lizo pour la compression des
données dans le tunnel VPN.
Voilà on sauvegarde le fichier et on lance le service en cliquant droit sur le
fichier de conf du client et Start.




Dimitri Lembokolo                                                             22
Partie linux
Lancer le serveur




Sous Windows maintenant (sur la barre de tâches : double cliqué sur l’icône
suivant)




                                                  Faite un double clic sur icône




Dimitri Lembokolo                                                              23
Tentative de connexion du client au serveur (tout marche comme on veut et c’est
trop ki koi… !)




Dimitri Lembokolo                                                          24
Voilà ce qui se passe du côté serveur (LINUX)




Dimitri Lembokolo                               25
Le client arrive à se connecter et le serveur lui a attribué l'ip 10.8.0.6
C'est trop cool ......
Au niveau du serveur voici mes différentes interfaces et le serveur ayant pris
l'adresse 10.8.0.1




Coté Windows, le poste a une nouvelle interface virtuelle que voici avec
l'adresse 10.8.0.6.




On ne cherche pas à savoir comment ça marche tant que sa marche….
Pour tout commentaire ou difficultés rencontrées, rendez-vous sur le blog
http://lapensedujour.blogspot.com




                                                               To be continued…

Dimitri Lembokolo                                                                26

Weitere ähnliche Inhalte

Was ist angesagt?

VPN - Virtual Private Network
VPN - Virtual Private NetworkVPN - Virtual Private Network
VPN - Virtual Private Networkjulienlfr
 
Guide d'installation d'un cyber cafe
Guide d'installation d'un cyber cafeGuide d'installation d'un cyber cafe
Guide d'installation d'un cyber cafeMANASSE OYEWUMI
 
pfSense presentation
pfSense presentationpfSense presentation
pfSense presentationSimon Vass
 
Rapport d’installation d’un serveur de messagerie avec le Webmail Roundcube
Rapport d’installation d’un serveur de  messagerie avec le Webmail RoundcubeRapport d’installation d’un serveur de  messagerie avec le Webmail Roundcube
Rapport d’installation d’un serveur de messagerie avec le Webmail RoundcubeBalla Moussa Doumbouya
 
Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Ousmane BADJI
 
VPN site-to-site.pdf
VPN site-to-site.pdfVPN site-to-site.pdf
VPN site-to-site.pdfgorguindiaye
 
Mise en place de la solution d’authentification Radius sous réseau LAN câblé
Mise en place de la solution d’authentification Radius sous réseau LAN câbléMise en place de la solution d’authentification Radius sous réseau LAN câblé
Mise en place de la solution d’authentification Radius sous réseau LAN câbléCharif Khrichfa
 
Presentation pfe ingenieur d etat securite reseau et systemes
Presentation pfe ingenieur d etat securite reseau et systemesPresentation pfe ingenieur d etat securite reseau et systemes
Presentation pfe ingenieur d etat securite reseau et systemesHicham Moujahid
 
Vpn site to site avec les équipements JUNIPER
Vpn site to site avec les équipements JUNIPERVpn site to site avec les équipements JUNIPER
Vpn site to site avec les équipements JUNIPERHermann Gbilimako
 
Mise en place d'un reseau securise par Cisco ASA
Mise en place d'un reseau securise par Cisco ASAMise en place d'un reseau securise par Cisco ASA
Mise en place d'un reseau securise par Cisco ASAOusmane BADJI
 

Was ist angesagt? (20)

Vpn
VpnVpn
Vpn
 
VPN - Virtual Private Network
VPN - Virtual Private NetworkVPN - Virtual Private Network
VPN - Virtual Private Network
 
Les Vpn
Les VpnLes Vpn
Les Vpn
 
Openvpn avec un client windows
Openvpn avec un client windows Openvpn avec un client windows
Openvpn avec un client windows
 
Guide d'installation d'un cyber cafe
Guide d'installation d'un cyber cafeGuide d'installation d'un cyber cafe
Guide d'installation d'un cyber cafe
 
pfSense presentation
pfSense presentationpfSense presentation
pfSense presentation
 
présentation sur le vpn
présentation sur le vpn présentation sur le vpn
présentation sur le vpn
 
Rapport d’installation d’un serveur de messagerie avec le Webmail Roundcube
Rapport d’installation d’un serveur de  messagerie avec le Webmail RoundcubeRapport d’installation d’un serveur de  messagerie avec le Webmail Roundcube
Rapport d’installation d’un serveur de messagerie avec le Webmail Roundcube
 
Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7
 
VPN site-to-site.pdf
VPN site-to-site.pdfVPN site-to-site.pdf
VPN site-to-site.pdf
 
Mise en place de la solution d’authentification Radius sous réseau LAN câblé
Mise en place de la solution d’authentification Radius sous réseau LAN câbléMise en place de la solution d’authentification Radius sous réseau LAN câblé
Mise en place de la solution d’authentification Radius sous réseau LAN câblé
 
projet sur le vpn presentation
projet sur le vpn presentationprojet sur le vpn presentation
projet sur le vpn presentation
 
Cours Vlan
Cours VlanCours Vlan
Cours Vlan
 
cours DHCP IPv4 et IPv6
cours DHCP IPv4 et IPv6cours DHCP IPv4 et IPv6
cours DHCP IPv4 et IPv6
 
Tp voip
Tp voipTp voip
Tp voip
 
Presentation pfe ingenieur d etat securite reseau et systemes
Presentation pfe ingenieur d etat securite reseau et systemesPresentation pfe ingenieur d etat securite reseau et systemes
Presentation pfe ingenieur d etat securite reseau et systemes
 
Vpn site to site avec les équipements JUNIPER
Vpn site to site avec les équipements JUNIPERVpn site to site avec les équipements JUNIPER
Vpn site to site avec les équipements JUNIPER
 
Mise en place d'un reseau securise par Cisco ASA
Mise en place d'un reseau securise par Cisco ASAMise en place d'un reseau securise par Cisco ASA
Mise en place d'un reseau securise par Cisco ASA
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
 
vpn
vpnvpn
vpn
 

Andere mochten auch

Tuto Serveur Vocal Interactif (SVI ou IVR)
Tuto Serveur Vocal Interactif  (SVI ou IVR)Tuto Serveur Vocal Interactif  (SVI ou IVR)
Tuto Serveur Vocal Interactif (SVI ou IVR)Dimitri LEMBOKOLO
 
Installation de wink sous fedora
Installation de wink sous fedoraInstallation de wink sous fedora
Installation de wink sous fedoraDimitri LEMBOKOLO
 
Installation et configuration d'ads 2003
Installation et configuration d'ads 2003Installation et configuration d'ads 2003
Installation et configuration d'ads 2003Dimitri LEMBOKOLO
 
Lightweight directory access protocol
Lightweight directory access protocolLightweight directory access protocol
Lightweight directory access protocolDimitri LEMBOKOLO
 
Installation de windows 2003serveur
Installation de windows 2003serveurInstallation de windows 2003serveur
Installation de windows 2003serveurDimitri LEMBOKOLO
 
Openfire + Active Directory sur Windows 2008 R2
Openfire + Active Directory sur  Windows 2008 R2Openfire + Active Directory sur  Windows 2008 R2
Openfire + Active Directory sur Windows 2008 R2Dimitri LEMBOKOLO
 
Installation cisco call manager 6.0
Installation cisco call manager 6.0Installation cisco call manager 6.0
Installation cisco call manager 6.0Dimitri LEMBOKOLO
 
Comment enlever un mot de passe admin win 7 sans logiciel
Comment enlever un mot de passe admin win 7 sans logicielComment enlever un mot de passe admin win 7 sans logiciel
Comment enlever un mot de passe admin win 7 sans logicielDimitri LEMBOKOLO
 
Installation et configuration de openfire
Installation et configuration de openfireInstallation et configuration de openfire
Installation et configuration de openfireDimitri LEMBOKOLO
 
Asterisk to ip_rapport
Asterisk to ip_rapportAsterisk to ip_rapport
Asterisk to ip_rapportGilles Samba
 

Andere mochten auch (20)

Tuto Serveur Vocal Interactif (SVI ou IVR)
Tuto Serveur Vocal Interactif  (SVI ou IVR)Tuto Serveur Vocal Interactif  (SVI ou IVR)
Tuto Serveur Vocal Interactif (SVI ou IVR)
 
Rapport bluetooth
Rapport bluetooth Rapport bluetooth
Rapport bluetooth
 
Installation de fedora 11
Installation de fedora 11Installation de fedora 11
Installation de fedora 11
 
Installation de wink sous fedora
Installation de wink sous fedoraInstallation de wink sous fedora
Installation de wink sous fedora
 
Installation et configuration d'ads 2003
Installation et configuration d'ads 2003Installation et configuration d'ads 2003
Installation et configuration d'ads 2003
 
Messagerie
MessagerieMessagerie
Messagerie
 
Lightweight directory access protocol
Lightweight directory access protocolLightweight directory access protocol
Lightweight directory access protocol
 
Installation de windows 2003serveur
Installation de windows 2003serveurInstallation de windows 2003serveur
Installation de windows 2003serveur
 
VPNIPSec site to site
VPNIPSec site to siteVPNIPSec site to site
VPNIPSec site to site
 
Configuration dns
Configuration dnsConfiguration dns
Configuration dns
 
Dhcp sous fedora 11
Dhcp sous fedora 11Dhcp sous fedora 11
Dhcp sous fedora 11
 
Tuto VP IPSEC Site-to-site
Tuto VP IPSEC Site-to-siteTuto VP IPSEC Site-to-site
Tuto VP IPSEC Site-to-site
 
GNS3, VoIP, ToIP
GNS3, VoIP, ToIPGNS3, VoIP, ToIP
GNS3, VoIP, ToIP
 
Openfire + Active Directory sur Windows 2008 R2
Openfire + Active Directory sur  Windows 2008 R2Openfire + Active Directory sur  Windows 2008 R2
Openfire + Active Directory sur Windows 2008 R2
 
Installation cisco call manager 6.0
Installation cisco call manager 6.0Installation cisco call manager 6.0
Installation cisco call manager 6.0
 
Comment enlever un mot de passe admin win 7 sans logiciel
Comment enlever un mot de passe admin win 7 sans logicielComment enlever un mot de passe admin win 7 sans logiciel
Comment enlever un mot de passe admin win 7 sans logiciel
 
Installation et configuration de openfire
Installation et configuration de openfireInstallation et configuration de openfire
Installation et configuration de openfire
 
Tutoriel nat pat
Tutoriel nat patTutoriel nat pat
Tutoriel nat pat
 
Cisco Call Manager
Cisco Call ManagerCisco Call Manager
Cisco Call Manager
 
Asterisk to ip_rapport
Asterisk to ip_rapportAsterisk to ip_rapport
Asterisk to ip_rapport
 

Ähnlich wie Implémentation d'openvpn

Reseau entreprise
Reseau entrepriseReseau entreprise
Reseau entrepriseSAIDRAISS2
 
Rapport TME_semaine_7_KAID_NHEK
Rapport TME_semaine_7_KAID_NHEKRapport TME_semaine_7_KAID_NHEK
Rapport TME_semaine_7_KAID_NHEKBelkacem KAID
 
10 commandes administrateur_a_connaitre
10 commandes administrateur_a_connaitre10 commandes administrateur_a_connaitre
10 commandes administrateur_a_connaitreWenceslas Dima
 
Procédure ocs glpi_jeremy_chatel_2012_final
Procédure ocs glpi_jeremy_chatel_2012_finalProcédure ocs glpi_jeremy_chatel_2012_final
Procédure ocs glpi_jeremy_chatel_2012_finalcisco7878
 
Mise en place d'active directory sous windows serveur 22
Mise en place d'active directory sous windows serveur 22Mise en place d'active directory sous windows serveur 22
Mise en place d'active directory sous windows serveur 22ImnaTech
 
SOLARIS 10 - Exercise - FR - 2008
SOLARIS 10 - Exercise - FR - 2008SOLARIS 10 - Exercise - FR - 2008
SOLARIS 10 - Exercise - FR - 2008Sonny Brabez
 
Vpn d’acces avec cisco asa 5500 et client
Vpn d’acces avec cisco asa 5500 et clientVpn d’acces avec cisco asa 5500 et client
Vpn d’acces avec cisco asa 5500 et clientManassé Achim kpaya
 
Weos tunnel ssl hôte à site
Weos   tunnel ssl hôte à siteWeos   tunnel ssl hôte à site
Weos tunnel ssl hôte à siteFabian Vandendyck
 
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trRapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trCheikh Tidiane DIABANG
 
Guide de piratage d'un reseau wifi domestiquee (ou commentexploserune clef we...
Guide de piratage d'un reseau wifi domestiquee (ou commentexploserune clef we...Guide de piratage d'un reseau wifi domestiquee (ou commentexploserune clef we...
Guide de piratage d'un reseau wifi domestiquee (ou commentexploserune clef we...DICKO Yacouba
 

Ähnlich wie Implémentation d'openvpn (20)

Reseau entreprise
Reseau entrepriseReseau entreprise
Reseau entreprise
 
Serveur lamp
Serveur lampServeur lamp
Serveur lamp
 
rapport.pptx
rapport.pptxrapport.pptx
rapport.pptx
 
Rapport TME_semaine_7_KAID_NHEK
Rapport TME_semaine_7_KAID_NHEKRapport TME_semaine_7_KAID_NHEK
Rapport TME_semaine_7_KAID_NHEK
 
Rapport des travaux
Rapport des travauxRapport des travaux
Rapport des travaux
 
Serveur Zabbix
Serveur ZabbixServeur Zabbix
Serveur Zabbix
 
Openfire
OpenfireOpenfire
Openfire
 
10 commandes administrateur_a_connaitre
10 commandes administrateur_a_connaitre10 commandes administrateur_a_connaitre
10 commandes administrateur_a_connaitre
 
Procédure ocs glpi_jeremy_chatel_2012_final
Procédure ocs glpi_jeremy_chatel_2012_finalProcédure ocs glpi_jeremy_chatel_2012_final
Procédure ocs glpi_jeremy_chatel_2012_final
 
Mise en place d'active directory sous windows serveur 22
Mise en place d'active directory sous windows serveur 22Mise en place d'active directory sous windows serveur 22
Mise en place d'active directory sous windows serveur 22
 
SOLARIS 10 - Exercise - FR - 2008
SOLARIS 10 - Exercise - FR - 2008SOLARIS 10 - Exercise - FR - 2008
SOLARIS 10 - Exercise - FR - 2008
 
Vpn d’acces avec cisco asa 5500 et client
Vpn d’acces avec cisco asa 5500 et clientVpn d’acces avec cisco asa 5500 et client
Vpn d’acces avec cisco asa 5500 et client
 
Hady bah l3
Hady bah l3Hady bah l3
Hady bah l3
 
NextCloud
NextCloudNextCloud
NextCloud
 
D5 wsli.1207
D5 wsli.1207D5 wsli.1207
D5 wsli.1207
 
Weos tunnel ssl hôte à site
Weos   tunnel ssl hôte à siteWeos   tunnel ssl hôte à site
Weos tunnel ssl hôte à site
 
Expozimbra
ExpozimbraExpozimbra
Expozimbra
 
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trRapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
 
Guide de piratage d'un reseau wifi domestiquee (ou commentexploserune clef we...
Guide de piratage d'un reseau wifi domestiquee (ou commentexploserune clef we...Guide de piratage d'un reseau wifi domestiquee (ou commentexploserune clef we...
Guide de piratage d'un reseau wifi domestiquee (ou commentexploserune clef we...
 
Procedure ocs et glpi
Procedure ocs et glpiProcedure ocs et glpi
Procedure ocs et glpi
 

Implémentation d'openvpn

  • 1. Implémentation d'OPENVPN sous Linux (Fedora 13) 1. Installation du package Openvpn Nous allons procéder à la mise en œuvre d'une solution d'interconnexion de sites distants grâce à l'outil openvpn sous fedora 13. Sur la ligne de commande en tant que super utilisateur, tapez la commande comme à la figure ci-dessous: Valider Voilà il me propose un autre outil très intéressant qui assure la compression des données sous le tunnel pour mieux gagner en vitesse de transmission: il s'agit de l'outil « lzo », nous verrons cet outils dans les fichiers de configuration un peu plutard Dimitri Lembokolo 1
  • 2. Voilà donc on tape « O » pour confirmer l’installation En effet openvpn tourne, il n'y seulement pas grand choses au niveau des sockets tel a été le comportement après la commande netstat. Vérifiant au niveau des paquets RPM : Exact les paquets sont bien là. Dimitri Lembokolo 2
  • 3. 2. Génération des certificats d'authentification Nous allons sur ce point générer les certificats et les clés qui vont permettre aux clients et au serveur de s'authentifier mutuellement de telle sorte que personne d'autres que vous ne puisse se connecter au VPN. Pour ça nous allons se déplacer dans le répertoire easy-rsa d'openvpn : cd /usr/share/openvpn/easy-rsa/ Voilà nous avons les outils nécessaires qui vont nous permettre de générer les clés et les certificats pour les clients et serveur. Première chose, nous allons modifier les valeurs des variables d'environnement afin de ne pas avoir à répéter les renseignements à fournir à la génération des clés, Dimitri Lembokolo 3
  • 4. Pour cela nous allons éditer le fichier « vars » ci-dessus : Voici la liste des paramètres par défaut à modifier, ils sont généralement en bas du fichier sous fedora . export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Fort-Funston" export KEY_EMAIL="me@myhost.mydomain" Après sauvegarde du fichier, relancer la prise en charge de ces nouvelles variables : Remarque : il va supprimer le dossier keys (ancien endroit où il conservait les clés) contenu dans le répertoire qu'il indique, à priori il n'y a même pas de répertoire keys car nous sommes à présent dans ce répertoire. Donc nous n'avons rien à craindre nous allons lancer le script ./clean-all. Dimitri Lembokolo 4
  • 5. Là il m'a créé un répertoire « keys » qui contiendra toutes nos clés. Vous pourrez vérifier qu'à présent ce répertoire ne contient que deux fichiers crées par le script build-all (index.txt et serial qui sont important pour la génération des certificats server et clients). Dimitri Lembokolo 5
  • 6. Création des certificats. Premièrement nous allons faire une autorité de certification. Voilà vous remarquerez que vous aviez déjà les valeurs mémorisées dans le fichier « vars ». Il ne s'agira que de renseigner le nom de la CA (Certification Authority), pour les valeurs entre crochets appuyé sur Entrée et il prendra la valeur par défaut. A présent nous venons de créer l'autorité de certification qui est dans le répertoire « keys ». Ce certificat est le certificat racine qui va ensuite nous permettre de créer le certificat serveur et les certificats clients. Donc la partie publique de ce certificat devrait être déposé au niveau des clients pour qu'ils puissent s'authentifier au niveau du serveur pour qu'ils reconnaissent tous les certificats qui seront créés à partir de cette autorité. Là nous allons créer le certificat pour le serveur (cette machine même que je dénomme bonal). Ce certificat nous allons l'appeler « srvrdimi », nous allons le signer nous-même et ensuite, nous allons le générer comme va le montrer cette manipulation. Nous n'allons pas donner un challenge password ni optional .....Pour la création des certificats. Dimitri Lembokolo 6
  • 7. Très bien il ne reste plus qu'à faire la même opération pour le client, en se servant du script « build-key clientdimi » : Le certificat du client nous allons l'appeler « clientdimi». Dimitri Lembokolo 7
  • 9. Examinons le contenu du répertoire keys. Excellent nous voyons que la CA a été généré, la partie certificat server a été générée de même que la partie certificat client. A présent il ne nous reste qu'à créer les paramètres Diffie-helmann : Diffie-Hellma (D-H) est un algorithme à clé publique utilisé pour assurer un partage de clé secrètes. Très bien, là nous avons l'ensemble des informations cryptographiques dont nous avions besoin pour configurer notre VPN. Dimitri Lembokolo 9
  • 10. 3. Configuration et lancement du serveur Il nous reste à récupérer le fichier de configuration du serveur « server.conf » et le mettre dans lerépertoire /usr/share/openvpn/easy-rsa/2.0/keys/ Alors chez moi il est par défaut installé dans le répertoire /usr/share/doc/openvpn-2.1/sample-config-files Très bien là nous allons éditer ce fichier pour y positionner les variables qui vont nous intéresser pour la mise en place du vpn. Dimitri Lembokolo 10
  • 11. Vérification de l’adresse IP de la machine On édite le fichier server.conf Les principaux paramètres sont les suivants : local a.b.c.d Mettre son adresse IP si on veut notre machine soit le serveur (chez moi « local Dimitri Lembokolo 11
  • 12. 192.168.1.66 »). port 1194 Le port par défaut est 1194, vous pouvez mettre le port 443 qui est un port réservé pour le protocole https qui traverse rapidement les firewall et les proxy. En général tous les proxy d'entreprise qui filtre les entrées laissent passer le trafic sur ce port car de toute façon c'est un contenu chiffré que le proxy ne veut pas récupérer. proto tcp Évidemment le protocole tcp est un bon choix, par défaut il est en udp. dev tun Ok nous nous allons prendre comme interface tun pour tunnel. ca ca.crt cert srvrdimi.crt key srvrdimi.key Les parametres Diffie hellman dh dh1024.pem Exact nous l'avions créé sous ce nom. C'est une clé de 1024bit, a noter également que nous pouvions bien entendu en faire de 2048 bit pour plus de sécurité mais là c'est un compromis entre performance du tunnel et sécurité du lien. 1024bit est plutôt un bon choix dans notre contexte A noter qu’on n’a pas besoin de spécifier le chemin d'accès à ces clé et certificats. Server 10.8.0.0 255.255.255.0 Nous donnerons cette plage par défaut au serveur. A noter également que si vous utilisez déjà ces adresses sur votre LAN il faudra bien en prendre une autre plage que vous n'utilisez pas. A chaque fois qu'un client se connectera au vpn, le serveur lui attribuera une adresse Ip contenue dans cette plage. Bien vérifier en bas du fichier l'utilisation de la librairie lzo pour la compression des données. Comp-lzo Utiliser l'utilisateur et son groupe nobody par défaut pour lancer le serveur. user nobody (le décommenté) group nobody (le décommenté) Dimitri Lembokolo 12
  • 13. verb 3 Le niveau 3 de log me paraît plutôt bien pour un serveur de production. Si jamais vous avez des problèmes avec le serveur, il ne démarre pas ....vous pourrez mettre la verbosité maximal qui est de 9. On sauvegarde et on lance le service par le script contenu dans /etc/init.d/ Parfait tout marche comme on veut c’est vraiment informatique ça. Dimitri Lembokolo 13
  • 14. Excellent openvpn est au niveau des sockets démarrés. Il ne reste plus qu'à s'occuper des clients sous Windows maintenant. A noter également que nous pouvons avoir des clients Linux et c'est pratiquement la même manipulation. Dimitri Lembokolo 14
  • 15. INSTALLATION DU CLIENT OPENVPN Alors après avoir installé et configuré notre serveur OpenVPN sous notre fedora nous allons nous intéresser aux clients. A savoir aussi, on est sur Windows donc c’est clic… suivant… suivant on n’a pas besoin d’être intelligent pour le faire. 1. Configuration du client Nous avons opté pour l'installation d'un client sous Windows sachant que sous linux c'est pratiquement la même chose que pour la parte serveur. Vous allez vous rendre sur ce lien et télécharger l'outil client : http://openvpn.se/files/install_packages/openvpn-2.0.5-gui-1.0.3-install.exe Exécutez et il vous posera quelques questions et vous installerez les drivers des interfaces réseaux virtuelles TUN/TAP : Le répertoire d'installation sera C:/ProgramFiles /OpenVPN On a installé le client sous Windows XP et on a ces répertoires là que vous voyez. Dimitri Lembokolo 15
  • 16. Ouvrons le dossier sample-config qui contient des exemples de fichiers de configuration. Ok ensuite nous allons copier le fichier client dans le répertoire config .s'il n'y est déjà pas. Il nous faudra également récupérer les informations cryptographiques de la Dimitri Lembokolo 16
  • 17. partie client sur le serveur et les copier dans ce répertoire config sous Windows. Nous allons utiliser winSCP pour ce faire. Mon serveur à l'adresse IP 192.168.1.66 et voilà : Cliquer sur login Dimitri Lembokolo 17
  • 18. Voilà j'ai les informations contenues dans le fichier /usr/share/openvpn/easy- rsa/2.0/keys dans la partie de droite (sous linux) et je dois copier la Ca, les clé client et le certificats client. Ok ! Dimitri Lembokolo 18
  • 19. A présent on fait clic droit sur le fichier client et on a la possibilité de l'éditer ou de lancer le service. Nous allons l'éditer pour renseigner nos paramètres. Dimitri Lembokolo 19
  • 20. Voilà c'est comme le fichier de conf du serveur sous linux. Les principaux paramètres à modifier : Client proto tcp dev tun comme sur le serveur remote 192.168.1.66 1194 (remote : on renseigne l’adresse IP de son serveur vpn et le numéro de port, pour mon cas c’est 192.168.1.66 et le numéro de port 1194). La partie la plus importante est la ligne « remote ». Alors pour que vous puissiez connecter un client depuis la Brazzaville et le serveur se trouvant chez Dakar à Mbour il faut indiquer une adresse IP publique et statique. Et c'est d'ailleurs l'objectif du VPN (Interconnexion de sites distants) Il est aussi à rappeler que nous pouvons connecter au serveur autant de clients que nous voulons, il faut juste à chaque fois générer les informations cryptographiques au niveau du répertoire easy-rsa du serveur et les déployer par la suite sur le client. On met alternative pour les gens qui ne voudront pas utiliser une IP publique il existe des solutions comme dyndns, No-IP entre autres qui permette de fixer une adresse IP publique de par son nom. Par exemple si j'utilisais une ADSL d'orange qui en général attribue des adresses Dimitri Lembokolo 20
  • 21. Ip publiques mais trouve le moyen de les changer à chaque fois que l'on se connecte ou qui fixe un certain délai pour renouveler les adresses IP des clients (c'est une politique ....sinon les gens en feront des IP fixes et voilà) Je peux temporairement avoir une Ip du type 196.200.80.18 mais qui certainement va changer au bout d'un certain temps, alors pour permettre à mes clients openvpn de toujours se connecter au serveur, je fais correspondre cette adresse avec un nom comme bonaldimi.dyndns.org . Et là je vais tout simplement installer un client sur mon serveur qui se chargera de faire la correspondance entre mon Ip et mon nom d'hôte de telle sorte que je puisse au niveau de mes fichiers de config client openvpn renseigner la variable « remote bonaldimi@dyndns.org »). Et là j'ai mis un nom d'hôte qui pointera toujours sur mon Ip que l'ADSL me donne. Exemple http-proxy 192.168.1.20 8080 Si vous n'utilisez pas de proxy comme moi présentement, ignoré ..... Autre point important il faut obligatoire indiquer l'emplacement des clés et certificats. Vu que nous les avons dans le répertoire courant, on n’a pas besoin d'indiquer un chemin absolu. Dimitri Lembokolo 21
  • 22. Ca : certificat de l'autorité de certification Clientdimi.crt : le certificat du client Clientdimi.key : la clé associée au certificat du client. De la même manière on vérifie l'utilisation de la lib lizo pour la compression des données dans le tunnel VPN. Voilà on sauvegarde le fichier et on lance le service en cliquant droit sur le fichier de conf du client et Start. Dimitri Lembokolo 22
  • 23. Partie linux Lancer le serveur Sous Windows maintenant (sur la barre de tâches : double cliqué sur l’icône suivant) Faite un double clic sur icône Dimitri Lembokolo 23
  • 24. Tentative de connexion du client au serveur (tout marche comme on veut et c’est trop ki koi… !) Dimitri Lembokolo 24
  • 25. Voilà ce qui se passe du côté serveur (LINUX) Dimitri Lembokolo 25
  • 26. Le client arrive à se connecter et le serveur lui a attribué l'ip 10.8.0.6 C'est trop cool ...... Au niveau du serveur voici mes différentes interfaces et le serveur ayant pris l'adresse 10.8.0.1 Coté Windows, le poste a une nouvelle interface virtuelle que voici avec l'adresse 10.8.0.6. On ne cherche pas à savoir comment ça marche tant que sa marche…. Pour tout commentaire ou difficultés rencontrées, rendez-vous sur le blog http://lapensedujour.blogspot.com To be continued… Dimitri Lembokolo 26