0% ont trouvé ce document utile (0 vote)
0 vues13 pages

open ssh

Le document traite de l'administration et de la maintenance d'un système GNU/Linux, en mettant l'accent sur la sécurisation du trafic via OpenSSH et OpenVPN. Il explique les méthodes d'authentification, notamment par mot de passe et par clés, ainsi que l'utilisation de l'agent SSH pour faciliter les connexions sécurisées. Les sections détaillent également la création de clés et la gestion des sessions SSH pour assurer la confidentialité des communications.

Transféré par

Chahid Aittalb
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues13 pages

open ssh

Le document traite de l'administration et de la maintenance d'un système GNU/Linux, en mettant l'accent sur la sécurisation du trafic via OpenSSH et OpenVPN. Il explique les méthodes d'authentification, notamment par mot de passe et par clés, ainsi que l'utilisation de l'agent SSH pour faciliter les connexions sécurisées. Les sections détaillent également la création de clés et la gestion des sessions SSH pour assurer la confidentialité des communications.

Transféré par

Chahid Aittalb
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ADMINISTRATION ET MAINTENNACE D’UN

SYSTÈME GNU/LINUX

Sécurisation du trafic

SYSTÈME D’EXPLOITATION GNU/LINUX


CENTRE DES CLASSES DE PRÉPARATION DU BTS – ESSAOUIRA-

Mr. Mostafa ESSADDOUKI (essaddouki@[Link])


ADMINISTRATION ET MAINTENNACE D’UN SYSTÈME
BTS ESSAOUIRA SYSTEME D’EXPLOITATION GNU/LINUX
GNU/LINUX

Table des matières


I. OpenSSH ............................................................................................................................. 3
Utilisations de OpenSSH.........................................................................................................3
Gestion des authentifications ................................................................................................3
a. Authentification par mot de passe .................................................................................................. 3
b. Authentification par clés ................................................................................................................. 4
c. L’agent SSH ...................................................................................................................................... 6
Confidentialité des communications .....................................................................................7
a. Session interactive avec SSH ........................................................................................................... 7
b. Copie de fichiers avec SSH ............................................................................................................... 7
c. Utilisation d’applications dans des tunnels SSH .............................................................................. 8
d. Renvoi de sessions X11 via SSH ....................................................................................................... 9
II. OpenVPN .......................................................................................................................... 10
Les modes de fonctionnement OpenVPN ............................................................................10
a. Authentification............................................................................................................................. 10
b. Confidentialité ............................................................................................................................... 10
c. Fonctionnement réseau ................................................................................................................ 10
Création d’un tunnel point-à-point ......................................................................................11
a. Gestion de l’authentification ......................................................................................................... 11
b. b. Fichiers de configuration ........................................................................................................... 11
c. Mise en œuvre du tunnel VPN ...................................................................................................... 12

Mr Mostafa ESSADDOUKI (essaddouki@[Link]) 2


ADMINISTRATION ET MAINTENNACE D’UN SYSTÈME
BTS ESSAOUIRA SYSTEME D’EXPLOITATION GNU/LINUX
GNU/LINUX

I. OpenSSH
Utilisations de OpenSSH
Les sessions interactives sur les systèmes Unix ont d’abord été conduites par des terminaux
passifs, qui se bornaient à gérer les entrées et sorties, connectées à une unité centrale par un
port série. Les frappes au clavier étaient envoyées brutes à l’unité centrale, et l’unité centrale
envoyaient en retour des ordres d’affichage à l’écran. Les ordinateurs étant alors hors de prix,
le coût relativement modeste des terminaux passifs permettait de mutualiser l’utilisation d’un
ordinateur.

Avec la généralisation des réseaux IP et la démocratisation des ordinateurs personnels,


l’administration distante des systèmes Unix s’est faite ensuite par le protocole telnet. Le
principe est rigoureusement le même qu’avec les terminaux passifs, si ce n’est que les frappes
au clavier et ordres d’affichage sont envoyés dans des paquets telnet transportés par IP. Le
problème est que la gestion de la sécurité avec le protocole telnet est largement insuffisante :
une authentification est réalisée en texte clair, et aucune confidentialité n’est apportée aux
échanges entre le client et le serveur.

Le protocole SSH vise à apporter des services d’authentification et de confidentialité à des


échanges entre clients et serveur pour le transport sécurisé de données. Il est dans la plupart des
cas simples utilisé en tant que « telnet sécurisé » mais il est aussi capable d’assurer le transport
sécurisé d’autres protocoles applicatifs. L’implémentation open source du protocole SSH est
« OpenSSH », créé et maintenu par les membres du projet OpenBSD.

Gestion des authentifications


a. Authentification par mot de passe
L’utilisation la plus simple du client SSH, qui consiste à ouvrir une session shell distante de
façon sécurisée sur réseau IP, exploite un mode d’authentification simple, à savoir utiliser un
compte local sur le serveur et demander au client de s’authentifier avec le nom et le mot de
passe de ce compte présent sur le serveur. Le mot de passe est alors vérifié et l’authentification
est validée. Toutefois, cette phase d’authentification par mot de passe sert uniquement à vérifier
la validité du client. Lequel client peut à son tour avoir des doutes sur l’identité et la légitimité
du serveur : en clair, suis-je bien en train de parler à mon serveur, ou à un faux serveur qui
exploiterait les commandes tapées pour récupérer des informations sur mes systèmes ? Pour
éviter tout risque d’usurpation du serveur, le client réalise une vérification de l’identité du
serveur à la première connexion. En fait, une empreinte numérique du serveur est réalisée, et

Mr Mostafa ESSADDOUKI (essaddouki@[Link]) 3


ADMINISTRATION ET MAINTENNACE D’UN SYSTÈME
BTS ESSAOUIRA SYSTEME D’EXPLOITATION GNU/LINUX
GNU/LINUX

après validation de cette empreinte par le client, elle est conservée dans un fichier appelé
known_hosts, présent dans un répertoire caché .ssh dans le répertoire personnel de l’utilisateur.

Exemple de fichier known_hosts

Le fichier known_hosts présente une (très longue) ligne par serveur connu.
srv1:~# cat .ssh/known_hosts
|1|LPx02U8nHnkSb0czyqVrdXPcW04=|jS0/QdS0HydzPZj8QXxHXC4j6EM= ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAQEAv+kXth0/RSAroNfqeV+IkEMetdWRWYBvbNOqUDDSL/fLylB
ip9l
e40xfTe1jFXuYqAWR+mQMo8Pg37/PUWeetlBCvG4F486UbqUn2Ol5B/1GZqzG7nvbOLcp7CDr6v
mqgr
k2QZvUZcohWC4L9S6zzvk3EmQ1AMa+BKo4m+FCG9E1mK4bFtvchVqL1amzGg1jd2QuTzMGNibTd
rEi9
gSr2TrJ5Se9AhNQkIzZPvqvVADitiggcYNetxaNkPKfW8DdClq+qOVVAQuWnZiO63Mp/0+b+JEu
tFgN
sX8mkt9nx34Yws7s3BnIuT7oU+shynuy/vj5But4uUry5tFaTxXCw==
srv1:~#

b. Authentification par clés


Une méthode sans doute plus fiable pour authentifier les connexions SSH consiste à utiliser des
clés d’authentification stockées localement sur le disque de l’utilisateur. L’authentification par
clés ne dispense pas obligatoirement de la saisie d’un mot de passe, mais garantit à l’utilisateur
que la machine distante est bien celle avec laquelle on veut travailler et non pas une usurpatrice.

Création de la paire de clés sur le client

Pour que le serveur puisse être formellement identifié, il doit disposer de la clé publique du
client. Cette clé lui permettra de chiffrer des données déchiffrables par le seul client propriétaire
de la clé privée correspondante. l convient donc dans un premier temps de générer cette clé
publique sur le client. Comme il s’agit de cryptographie asymétrique, la génération d’une clé
publique est obligatoirement simultanée à celle de la clé privée correspondante. La commande
ssh-keygen permet de créer ces clés publiques et privées.

Génération d’un couple de clés

ssh-keygen -t algorithme
Où algorithme représente l’algorithme employé pour la génération des clés du client. Il peut
s’agir de RSA (version 1 ou 2 de SSH) ou DSA (version 2 de SSH). RSA et DSA sont deux
algorithmes de chiffrage asymétriques souvent utilisés pour l’authentification. Si l’algorithme
n’est pas précisé, la valeur par défaut RSA est employée.

Mr Mostafa ESSADDOUKI (essaddouki@[Link]) 4


ADMINISTRATION ET MAINTENNACE D’UN SYSTÈME
BTS ESSAOUIRA SYSTEME D’EXPLOITATION GNU/LINUX
GNU/LINUX

Génération d’un couple de clés avec les valeurs par défaut

On génère ici un couple de clés avec l’algorithme par défaut (RSA) pour l’utilisateur tata. La
représentation graphique (randomart) de la clé n’est pas systématique et dépend de la version
de la commande.
tata@stotion:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tata/.ssh/id_rsa):
Created directory ’/home/tata/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/tata/.ssh/id_rsa.
Your public key has been saved in /home/tata/.ssh/id_rsa.pub.
The key fingerprint is:
f3:5c:f1:34:6c:1b:a6:4c:5b:c4:6d:30:48:01:76:f4 tata@stotion
The key’s randomart image is:
+--[ RSA 2048]----+
| o+=++o |
| . ..+..o|
| o E. |
| o X + |
| S = o |
| + . |
| o |
| |
| |
+-----------------+
tata@stotion:~$

La commande ssh-keygen provoque la création de deux fichiers, par défaut dans un répertoire
.ssh situé directement dans le répertoire personnel de l’utilisateur. Ces deux fichiers sont par
défaut id_rsa pour la clé privée et id_rsa.pub pour la clé publique correspondante. Même si ça
n’est pas obligatoire, il est vivement recommandé de protéger la clé privée par un mot de passe
qui sera demandé lors de sa création.

Contenus de fichiers de clés privées et publiques


On observe le contenu des fichiers de clés privées et publiques. Notez que
les droits par défaut sont limités sur le fichier de clé privée, et ouverts
sur le fichier de clé publique.
tata@stotion:~/.ssh$ ls -l
total 8
-rw------- 1 tata tata 1743 2010-09-03 09:38 id_rsa
-rw-r--r-- 1 tata tata 394 2010-09-03 09:38 id_rsa.pub
tata@stotion:~/.ssh$ cat id_rsa.pub
ssh-rsa
JumEUMYkOaNi+WM4nVbkzC7rkUnlXQMxu/EpZLoraNySMHZjUgYiWiRuM4pI0zatPfjVlwPtGzf
WhoDnC2g7xWi+ZRgT2Q1PcbqYKt4xLio+Eei0dvlgu5r5hSvymOdWbXwykywoloIxnzIPiUe7CA
xm+K
CBA23LQw73pREd1gS6Gd2Zb5Byv/oI6etqs4WOmcJa40Ymvtfbjw== tata@stotion
tata@stotion:~/.ssh$ cat id_rsa
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,B08C4C3C4B021A76

Mr Mostafa ESSADDOUKI (essaddouki@[Link]) 5


ADMINISTRATION ET MAINTENNACE D’UN SYSTÈME
BTS ESSAOUIRA SYSTEME D’EXPLOITATION GNU/LINUX
GNU/LINUX

TzO6ofHOv8sVRDoPj+o7dXfPuXDJaOmQSGhDkWUTC9iGHYnGdHgsig5EKWEez0Zj
YucF9doTpLCv9UsRac6WHRjlQb7AUjk9phEjrKYW4gAfoXNcFY5IiC7fca9i8NQk
YCj4mtzmbJAFc0W9Ax8g0UzZ8bwElIacI28pAdSvVqVHQ6omnVBoWhXhgWTUZaKp
2XbY5gJ7miKW3Y9IPZ3JLukB3j4rTZ0bu8j/UedyXuogpZgYF2vW0GfvtBbfP31F
(...)
RZfBnf+3+KxTvnAtJsMSZc4Glg+9Gch9V+mjU2SfW+T+bUnYLB/6Mpo1aq/akj3r
0G6w12SgjqiOuuXnsCdU8Ox1olCqiHFrk0DyPmwoxcSQygpm2r7FIwL4MPxbELJO
zfk+0wJOmsUANJzeBKd4LXmZykYsAOmf3zZNlS+iU/ZhCBqFmn3/5w==
-----END RSA PRIVATE KEY-----
tata@stotion:~/.ssh$

ssh-agent : variables courantes

SSH_AGENT_PID Le pid de l’agent en cours d’exécution.


SSH_AUTH_SOCK Le socket créé par le processus.

À chaque connexion, le serveur regarde dans le répertoire local de l’utilisateur essayant de se


connecter si un répertoire .ssh/authorized_keys existe, et s’il contient la clé publique du client.
Si c’est le cas, l’authentification du serveur peut être réalisée par le client. Le client devra donc
copier son fichier de clé publique dans le répertoire ~/.ssh.authorized_keys du serveur par le
moyen de son choix. (clé usb, copie réseau).

c. L’agent SSH
Pour les administrateurs ayant fréquemment besoin d’accéder à plusieurs machines par SSH,
un « agent SSH », lancé par la commande ssh-agent, permet de conserver en mémoire les clés
privées utilisées pour les authentifications. Les clés privées sont transmises une fois pour toutes
à l’agent par la commande ssh-add. Si un mot de passe de protection de la clé est nécessaire, il
est demandé à cette occasion. Les clés sont ensuite disponibles sans intervention directe de
l’utilisateur pour toute authentification.

La commande ssh-add consulte le répertoire .ssh dans le répertoire personnel de l’utilisateur et


recherche d’éventuelles clés privées dans les fichiers id_rsa, id_dsa, et identity. Les clés
stockées par l’agent SSH peuvent être consultées par la commande ssh-add -l.

Lancement de l’agent par la commande ssh-agent

L’agent alimente des variables lors de son fonctionnement qui permettent de le gérer plus
facilement.
tata@stotion:~$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-sRuvox4519/agent.4519; export SSH_AUTH_SOCK;
SSH_AGENT_PID=4520; export SSH_AGENT_PID;
echo Agent pid 4520;
tata@stotion:~$

Prise en compte de clés par l’agent SSH

Mr Mostafa ESSADDOUKI (essaddouki@[Link]) 6


ADMINISTRATION ET MAINTENNACE D’UN SYSTÈME
BTS ESSAOUIRA SYSTEME D’EXPLOITATION GNU/LINUX
GNU/LINUX

La commande ssh-add sans argument permet la prise en compte des clés par l’agent SSH qui
doit naturellement avoir été lancé auparavant.
tata@stotion:~$ ssh-add
Enter passphrase for /home/tata/.ssh/id_rsa:
Identity added: /home/tata/.ssh/id_rsa (/home/tata/.ssh/id_rsa)
tata@stotion:~$
Visualisation des clés privées stockées par le ssh-agent

La commande ssh-add -l permet de vérifier que les clés ont bien été prises en compte par l’agent.
tata@stotion:~$ ssh-add -l
2048 f3:5c:f1:34:6c:1b:a6:4c:5b:c4:6d:30:48:01:76:f4 tata@stotion (RSA)
2048 f3:5c:f1:34:6c:1b:a6:4c:5b:c4:6d:30:48:01:76:f4 /home/tata/.ssh/id_rsa
(RSA)
tata@stotion:~$

L’agent SSH est avant tout une solution de gestion de clés et n’est pas destiné à créer
les clés SSH. L’agent SSH ne peut travailler que sur des clés déjà créées par la
commande ssh-keygen.
Confidentialité des communications
a. Session interactive avec SSH
La session interactive est ouverte depuis un client vers un serveur avec un compte utilisateur
présent sur le serveur.

Ouverture de session interactive avec SSH

ssh utilisateur@adresse_serveur
Session interactive avec SSH : option et paramètres
utilisateur Le compte utilisateur présent sur le serveur avec lequel on se
connecte.
adresse_serveur L’adresse IP du serveur auquel on se connecte.
Exemple d’ouverture de session interactive avec SSH
srv2:~# hostname ; whoami
srv2
root
srv2:~# ssh toto@[Link]
toto@[Link]’s password:

toto@srv1:~$ hostname ; whoami


srv1
toto
toto@srv1:~$

b. Copie de fichiers avec SSH


La commande scp s’appuie sur le démon SSH et permet de copier des fichiers de façon
sécurisée avec les services d’authentification et de confidentialité offerts par SSH. La copie
peut se faire du client vers le serveur ou depuis le serveur vers le client.

Copie de fichier du client vers le serveur avec scp

Mr Mostafa ESSADDOUKI (essaddouki@[Link]) 7


ADMINISTRATION ET MAINTENNACE D’UN SYSTÈME
BTS ESSAOUIRA SYSTEME D’EXPLOITATION GNU/LINUX
GNU/LINUX

scp fichier_local utilisateur@adresse_serveur:fichier_distant


Copie de fichier depuis le serveur vers le client avec scp

scp utilisateur@adresse_serveur:fichier_distant fichier_local

Copie de fichiers avec scp : options et paramètres


fichier_local Chemin relatif ou absolu du fichier local devant être copié.
fichier_distant Chemin absolu du fichier distant devant être copié.
utilisateur Compte utilisateur existant sur le serveur utilisé pour la copie.
adresse_serveur Adresse IP du serveur hébergeant le service SSH.
c. Utilisation d’applications dans des tunnels SSH
La création d’un tunnel SSH permet de sécuriser une communication client-serveur pour un
protocole à priori peu sécurisé. On établit depuis le poste client un tunnel SSH vers le serveur,
et tout le trafic entre ces deux machines est sécurisé. Le serveur génère alors un autre trafic non
sécurisé vers la machine cible du trafic. Les connexions des clients qui souhaitent emprunter le
tunnel se font en fait vers le client SSH.

Création d’un tunnel applicatif SSH

ssh -L port:cible_trafic:port_cible utilisateur@serveur


Tunnel SSH : options et paramètres
-L Renvoie un port local vers un serveur SSH (établissement de
tunnel).
port Le port local à renvoyer.
cible_trafic Adresse IP ou nom de la machine cible du trafic.
port_cible Port vers lequel renvoyer le trafic sur la machine cible.
utilisateur Compte utilisateur sur le serveur utilisé pour l’établissement du
tunnel.
serveur Adresse IP ou nom du serveur extrémité du tunnel.

Mr Mostafa ESSADDOUKI (essaddouki@[Link]) 8


ADMINISTRATION ET MAINTENNACE D’UN SYSTÈME
BTS ESSAOUIRA SYSTEME D’EXPLOITATION GNU/LINUX
GNU/LINUX

Dans ce fonctionnement, un tunnel est établi entre un client et un serveur. Sur le client, le trafic
à destination du port local est renvoyé au travers du tunnel SSH vers la machine cible sur le
port cible.

d. Renvoi de sessions X11 via SSH


Le serveur X ne prévoyant nativement pas de sécurité forte pour ses échanges clients-serveurs,
un usage courant de SSH consiste à faire circuler dans un tunnel SSH des applications
graphiques. Il faut pour cela autoriser le serveur SSH à relayer ce type de trafic, puis d’utiliser
un client compatible avec ce mode de fonctionnement.

L’autorisation du renvoi de sessions X via SSH se fait en modifiant le fichier de configuration


du serveur SSH /etc/ssh/sshd_config.

Autorisation du renvoi des connexions X dans sshd_config.conf

X11Forwarding yes
Connexion depuis un client SSH

ssh -X utilisateur@serveur
Où utilisateur représente le compte utilisé pour la connexion, et serveur l’adresse IP ou le nom
du serveur auquel on se connecte. Les applications graphiques peuvent alors être lancées depuis
la session SSH cliente.

Mr Mostafa ESSADDOUKI (essaddouki@[Link]) 9


ADMINISTRATION ET MAINTENNACE D’UN SYSTÈME
BTS ESSAOUIRA SYSTEME D’EXPLOITATION GNU/LINUX
GNU/LINUX

II. OpenVPN
OpenVPN est une solution logicielle open source de création de tunnels sécurisés (VPN).
Contrairement aux VPN usuels, elle ne s’appuie pas sur IPsec mais sur SSL. Elle assure des
services d’authentification, de confidentialité et de contrôle d’intégrité.

Les modes de fonctionnement OpenVPN


a. Authentification
Les extrémités de tunnel, c’est-à-dire les deux machines assurant le chiffrage des flux sortants
et le déchiffrage des flux entrants, doivent être mutuellement authentifiées. Il ne faut pas qu’il
y ait de doute sur l’authenticité du correspondant. OpenVPN supporte plusieurs modes
d’authentification, mais les deux plus courants sont l’authentification par clé partagée, et
l’authentification par certificats numérique X509. La première solution est infiniment plus
simple à mettre en œuvre mais passe pour être moins sécurisée. La seconde, si elle est
recommandée, est toutefois beaucoup plus difficile à déployer si on n’a pas une connaissance
intime des infrastructures à clés publiques qui permettent de générer les certificats. Il est
souvent préférable d’avoir une solution à clé partagée qui fonctionne correctement plutôt
qu’une infrastructure à clé publique bancale mal maîtrisée et donc difficile à maintenir.

b. Confidentialité
La confidentialité des communications est assurée par la bibliothèque OpenSSL. Le chiffrage
des échanges est assuré par l’algorithme Blowfish par défaut, mais les algorithmes symétriques
courants sont utilisables (AES notamment).

c. Fonctionnement réseau
Le mode de fonctionnement le plus simple et le plus facile à appréhender est le mode point-à-
point dans lequel les deux protagonistes du vpn sont ceux qui doivent communiquer ensemble
de façon sécurisée : ils sont à les fois les extrémités de tunnel et les extrémités de trafic. Il est
aussi possible de relier deux réseaux entre eux en mode site-à-site. Deux serveurs OpenVPN
assurent alors la mise en place du tunnel, mais les extrémités de trafic sont les deux réseaux
reliés. Les serveurs OpenVPN assurent alors un rôle de routage entre les réseaux. Enfin, il est
possible de faire du VPN d’accès distant dans lequel une machine est reliée à un réseau.

OpenVPN peut fonctionner en mode bridgé, dans ce cas il mettra en connexion deux réseaux
distants, un peu comme si on avait ajouté un câble entre les switches des deux réseaux à relier,
fût-il un câble de 200 km. Ce mode de fonctionnement peut être considéré comme anecdotique,
et le mode routé est de loin le plus utilisé.

Mr Mostafa ESSADDOUKI (essaddouki@[Link]) 10


ADMINISTRATION ET MAINTENNACE D’UN SYSTÈME
BTS ESSAOUIRA SYSTEME D’EXPLOITATION GNU/LINUX
GNU/LINUX

Les paquets chiffrés sont transportés par UDP par défaut mais l’utilisation de TCP est possible.

Création d’un tunnel point-à-point


a. Gestion de l’authentification
La méthode d’authentification par clé partagée suppose la présence d’un fichier de clé au format
reconnu par OpenVPN. Ce fichier doit être présent sur le serveur et le client, et donc copié par
un moyen sécurisé (clé usb, scp). Le fichier peut être généré directement par la commande
openvpn.

Génération du fichier de clé secrète

openvpn --genkey --secret fichier_cle


Où fichier_cle représente le fichier contenant la clé secrète.

Exemple de génération de clé

On génère ici un fichier de clé secrète qui permettra l’authentification entre les machines aux
extrémités du tunnel.
srv2:/etc/openvpn# openvpn --genkey --secret [Link]
srv2:/etc/openvpn# cat [Link]
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
ae11344ce37de44dcce059ecf9fa573f
a2694d5531bc7ed144a12a099c4ef8ce
(... )
1d37552cd4f29ff6b719588056a60777
579cc2aff71bf339f5293bf08f2ce4df
-----END OpenVPN Static key V1-----
srv2:/etc/openvpn#

b. b. Fichiers de configuration
Les fichiers de configuration se trouvent par défaut dans un répertoire /etc/openvpn. Si l’usage
veut que les fichiers portent les noms [Link] et [Link], n’importe quel fichier avec
l’extension .conf fera l’affaire.

Format du fichier de configuration OpenVPN

remote serveur
dev tun
ifconfig IP_locale IP_distante
secret fichier_cle
route réseau_distant masque

Fichier de configuration OpenVPN : directives courantes


remote serveur Sur le client uniquement. serveur indique le nom ou l’adresse ip
du serveur auquel connecter le VPN.

Mr Mostafa ESSADDOUKI (essaddouki@[Link]) 11


ADMINISTRATION ET MAINTENNACE D’UN SYSTÈME
BTS ESSAOUIRA SYSTEME D’EXPLOITATION GNU/LINUX
GNU/LINUX

dev tun Crée une encapsulation de type tunnel (par opposition à


l’encapsulation ethernet bridgée).
ifconfig IP_locale Établit les adresses locales et distantes des extrémités de trafic.
IP_distante Ces adresses seront visibles sous forme d’interface virtuelle dans
la configuration réseau de l’hôte.
secret fichier_cle Indique le fichier contenant la clé partagée, identique sur les deux
machines.
route réseau_distant Paramètre client : indique l’adresse du réseau privé derrière le
masque serveur pour que le trafic à destination de ce réseau soit
correctement routé par le VPN.
Exemple de fichiers de configuration OpenVPN

Fichier de configuration côté serveur :


srv2:/etc/openvpn# cat [Link]
dev tun
ifconfig [Link] [Link]
secret [Link]
Fichier de configuration côté client :
srv1:/etc/openvpn# cat [Link]
remote srv2
dev tun
ifconfig [Link] [Link]
secret [Link]
route [Link] [Link]

c. Mise en œuvre du tunnel VPN


Une fois les fichiers créés sur le serveur et le client, il suffit de démarrer de part et d’autre le
service par son script de démarrage.

La validation de fonctionnement peut se faire par un ping entre les deux adresses de tunnel.
Une capture de trames permettra aussi d’observer un trafic entre les deux machines sur le port
UDP/1194 par défaut.

Exemple de test d’un tunnel point-à-point

On lance le service par son script normalisé, on vérifie la présence d’une interface virtuelle, et
on contrôle le fonctionnement du tunnel par un trafic quelconque.
srv1:~# ifconfig tun0
tun0: erreur lors de la recherche d’infos sur l’interface: Périphérique
non
trouvé
srv1:~# /etc/init.d/openvpn start
Starting virtual private network daemon: client.
srv1:~# ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-
00-00
inet adr:[Link] P-t-P:[Link] Masque:[Link]
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Mr Mostafa ESSADDOUKI (essaddouki@[Link]) 12


ADMINISTRATION ET MAINTENNACE D’UN SYSTÈME
BTS ESSAOUIRA SYSTEME D’EXPLOITATION GNU/LINUX
GNU/LINUX

srv1:~# ping [Link]


PING [Link] ([Link]) 56(84) bytes of data.
64 bytes from [Link]: icmp_seq=1 ttl=64 time=0.864 ms

Mr Mostafa ESSADDOUKI (essaddouki@[Link]) 13

Vous aimerez peut-être aussi