Académique Documents
Professionnel Documents
Culture Documents
Sous la coordination de :
Dr NGNOULAYE
II - SSH et Rsync
1. GÉNÉRALITÉ
Un VPN (Virtual Private Network) ou Réseau Privé Virtuel en français est connexion inter
réseau permettant de relier deux réseaux locaux différents de façon sécurisée par un protocole
de tunnelisation.
La tunnelisation est un protocole permettant aux données passant d'une extrémité à l'autre du
VPN d'être sécurisées par des algorithmes de cryptographie.
Le terme tunnel est utilisé pour symboliser le fait qu'entre l'entrée et la sortie du VPN les
données sont chiffrées et donc normalement incompréhensibles pour toute personne située entre
les deux extrémités du VPN, comme si les données passaient dans un tunnel. De plus, créer un
tunnel signifie aussi encapsuler un protocole dans un protocole de même niveau du modèle OSI
(IP dans IPSec par exemple).
2. PRÉSENTATION DE LA SIMULATION
Dans notre travail, nous avons opte pour la mise en place d’un serveur VPN mis en place par
le fournisseur d’accès internet permettant de relier deux sites distants qui possède déjà un
accès a internet pour chacun de ses site set qui souhaite connecte les deux de manière
sécurisée. Les outils utilisés pour réaliser notre présentation sont :
- GNS3 : il est disponible en téléchargement sur leur site officiel ;
- VMWARE WORKSTATION PRO : il est disponible en téléchargement sur leur site
officiel ;
- KALI LINUX 2021 : il est disponible en téléchargement sur leur site officiel ;
Le logiciel GNS3 a été utilisé car il permet de connecte des machines virtuelles a une
architecture réseaux réalisé sur celle-ci, ce qui nous permet de mettre un véritable laboratoire
en place sans avoir besoin de plusieurs machines différentes.
i. Configuration réseau
De plus il nous faut créer des interfaces réseaux pour chacun de nos sous réseaux sur
VMWare (ce qui les créera automatiquement sur la machine hôte), pour ce faire accéder à la
l’éditeur réseau de VMWare Virtual Network Editor
Ensuite créer de nouvelle carte réseau en cliquant sur add network et configurer les plages
d’adresses en fonction de votre architecture :
NB : Des cartes réseaux différentes permettent de mettre le VM dans les sous-réseaux
différents
Le package OPENVPN étant natif au sein de nos system nous pouvons donc directement
commencer la configuration ou d’abord saisir la commande apt-get install openvpn ce qui
mettra à jour le package si une mise à jour est disponible.
On va mettre en place une autorité de certification (CA : certificate authority) qui sera charger
de vérifier l’authenticité et la conformité de nos clés et de nous en génère au besoin, EasyRSA
sera donc utilisé et configuré à cet effet. Télécharger l’archive EasyRSA à partir du site
officiel, avec la commande :
wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.4/EasyRSA-3.0.4.tgz
EasyRSA est à présent installé avec un fichier de configuration qui va être modifié, pour
définir un certain nombre de paramètres pour notre autorité de certification (AC). Il faut aller
dans le répertoire EasyRSA-3.0.4, puis copier le fichier « vars.example », puis le nommer «
vars ». Ensuite on ouvre le fichier
Décommentons et changeons les paramètres par défaut des champs suivants selon notre
convenance puis enregistrer. Dans notre cas :
Ensuite lançons un script appelé « EasyRSA » avec l’option ‘init-pki’ pour créons une
infrastructure de clé publique. Il faudra se placer dans le répertoire /EasyRSA-3.0.4 ; puis
taper la commande init-pki
Exécutons à nouveau le script EasyRSA, avec l’option build-ca pour mettre en place l’AC et
créer deux fichiers nommés : ca.crt et ca.key, dont l’un (ca.crt) constitue le certificat public
de l’AC, pour que les deux parties client et serveur VPN, puissent s’informer mutuellement
qu’ils font partie du même réseau de confiance ; et l’autre (ca.key) constitue la clé privée que
l’AC utilise pour signer les certificats des serveurs et des clients.
Dans la suite, si on ne souhaite pas à chaque fois saisir un mot de passe lorsqu’on va interagir
avec l’AC, il faudra donc exécuter le script ./easyrsa build-ca avec l’option nopass, en
réponse on a :
Il sera demandé de donner un nom commun à notre AC, par souci de simplicité, nous avons
laissé le nom proposé par défaut et faire de même sur lors de toute la configuration, ensuite
taper la touche ENTRER.
A présent le serveur AC est prêt ; on va générer une clé de chiffrement et une demande de
certificat depuis ce même serveur, et ensuite transférer la demande à l’AC pour être signée.
Allons dans le répertoire EasyRSA-3.0.4 ; puis exécuter le script « easyrsa » avec les
commandes gen-req server avec l’option nopass , on obtient la réponse suivante :
Puisque notre AC et Openvpn sont sur la même machine, on peut signer la demande avec la
commande ./easyrsa sign-req server server, on obtient la réponse suivante :
A présent on va créer une clé robuste DIFFIE-HELMAN pour remplacer celle par default (de
2048) utilisé pour établir la connexion, pour cela exécuter le script ./easyrsa gen-dh, dans la
même optique générons une signature HMAC pour renforcer les vérifications TLS du serveur
avec la commande openvpn --genkey --secret ta.key, Ensuite copier les fichiers ta.key et
dh.pem dans le répertoire /etc/openvpn/server/.
Les clés et les certificats du client et du serveur ont été générées au cours des étapes
précédentes. On va à présent configurer le service OpenVPN pour utiliser ces informations
d’identification. On va utiliser un fichier nommé server.conf, qui est proposé avec
l’installation de OpenVPN. Ce fichier servira de base pour créer notre fichier de
configuration. Copions ce fichier dans le répertoire /etc/openvpn/, pour cela taper la
commande : cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz
/etc/openvpn/.
Décompressons le fichier et ouvrons le pour le modifier et obtenir un fichier similaire :
Enregistrons et fermons le fichier une fois terminé.
Ajuster le paramètre de transfert IP par défaut du serveur. Modifier pour cela le fichier :
/etc/sysctl.conf et décommentons la ligne
net .ipv4.ip_forward = 1
sudo sysctl -p
A présent on va configurer le pare-feu et ajouter des règles de masquage. Avant cela on doit
d’abord trouver l’interface réseau public de la machine ; Dans notre cas l’interface ici
s’appelle ens33.
Editer le fichier before.rules, en tapant la commande
DEFAULT_FORWARD_POLICY= ‘’ACCEPT’’
Ajouter aussi le port 1194 du VPN au pare feu, ainsi que le port 22 du SSH si celui-ci n’a pas
été rajouté avant.
Puis :
Taper la commande sudo systemctl start openvpn@server pour lancer le serveur, on peut
vérifier que le service a bien démarré en tapant : sudo systemctl status openvpn@server, on
devrait voir affiché l’état du serveur semblable à celui-ci :
Etape 8 : Création des fichiers de configuration client
Le client Linux nécessite la même installation que le serveur, c’est à dire qu’il faut y installer
le serveur openvpn. Une fois installer il faudra, de plus il faut créer un fichier de configuration
que celui-ci utilisera pour joindre le serveur et y copier les fichier ca.crt, dh.pem, ta.key ainsi
que les clés qui leurs sont propre. Le fichier de configuration aura la structure suivante :
Il est important de note qu’il existe un fichier de configuration client de base situe dans le
répertoire /usr/share/doc/openvpn/examples/sample-config-files/ qui peut servir de modèle.
Il est important de note que l’extension du fichier doit être .ovpn pour que la configuration
soit valide sur Windows
Pour vérifier si la connexion est établie in peut consulter les logs du serveur openvpn en
particulier le fichier openvpn-status.log qui nous donne la liste des clients connecte en temps
réel ou on peut aussi consulter les logs généraux qui sont stocke dans le fichier openvpn.log
V- Conclusion
Beaucoup de sites marchands proposent des offres pour des VPN. En ce qui nous concerne,
on peut enregistrer un grand nombre de clients dans notre serveur VPN, mais c’est travail
fastidieux qui demande beaucoup de patience. Il existe des solutions commerciales proposant
une interface graphique afin de créer rapidement des clients, on peut citer la solution
OpenVPN-as qui peut aussi être utilisée gratuitement, si on n’a que deux clients ; mais au-
delà, c’est un coût par licence que l’éditeur demandera.
Ce serveur VPN open source et gratuit, nous offre la possibilité de navigation, la protection de
nos codes et identifiants en toute sécurité.
Table des matières
I- INTRODUCTION .............................................................................................................. 2
II - SSH et Rsync ................................................................................................................... 2
1. SSH.................................................................................................................................. 2
2. RSYNC............................................................................................................................ 2
3. Commande Rsync et SSH ............................................................................................... 2
III - XRDP SUR UBUNTU .................................................................................................... 2
1. CONFIGURATION DE XRDP ...................................................................................... 2
2. CONFIGURATION DU PARE-FEU ............................................................................. 2
3. CONNEXION AU SERVEUR XRDP ........................................................................... 2
4. PROBLEMES RENCONTRES ...................................................................................... 2
IV - OPENVPN SUR UBUNTU ............................................................................................ 2
1. GÉNÉRALITÉ ................................................................................................................ 2
2. PRÉSENTATION DE LA SIMULATION ..................................................................... 2
i. Configuration réseau .................................................................................................... 4
ii. Configuration du serveur et test de connexion......................................................... 6
V- Conclusion ..................................................................................................................... 14