Академический Документы
Профессиональный Документы
Культура Документы
Présenté par
Encadranteur : Jurys:
Mr Rachid Boukharrazi
Mme Ibtihal Mouhib
Mr Mohammed Amrani
Dédicace
Rouweibaassirou
i
Laoualy Ibrahim Bassirou : bassiroulaouali@gmail.com
Mise en place d’un OpenVPN sous PfSense
Remerciement
notre travail.
ii
Laoualy Ibrahim Bassirou : bassiroulaouali@gmail.com
Mise en place d’un OpenVPN sous PfSense
Sigle et Abréviation
CA : Certificate Authority
iii
Laoualy Ibrahim Bassirou : bassiroulaouali@gmail.com
Mise en place d’un OpenVPN sous PfSense
1. Présentation de pfSense..................................................................................................................12
1.1 FreeBSD ...................................................................................................................................13
1.2 VirtualBox ................................................................................................................................13
2. Présentation OpenVPN....................................................................................................................14
2.1 Tableau de comparaison .............................................................................................................14
3. Installation et configuration de base de Pfsense ...........................................................................15
3.1 Activation d’une interface réseau ...............................................................................................16
3.2 Installation de Pfsense.................................................................................................................16
3.3 Poursuite de l'installation via l’interface web .............................................................................21
4. Installation du package OpenVPN Client Export Utility...................................................................24
5. Création d'une autorité de certification – CA..................................................................................24
6. Création d’utilisateur OpenVPN et certificat privé pour l’utilisateur..............................................26
7. Configuration du serveur OpenVPN ................................................................................................27
8. Configuration du Firewall ................................................................................................................30
9. Configurer OpenVPN côté "client" ..................................................................................................31
10. Export du client openVPN et la configuration .............................................................................31
Conclusion ...................................................................................................................................................33
Bibliographie................................................................................................................................................34
v
Laoualy Ibrahim Bassirou : bassiroulaouali@gmail.com
Mise en place d’un OpenVPN sous PfSense
Introduction générale
L’informatique a été depuis plusieurs décennie utilisé pour faciliter les taches souvent
difficile pour les humaines. Dans les entreprise, son utilisation est devenue indispensable non
seulement pour son bon déroulement de ses activités mais aussi pour rester en contact avec ses
partenaires distants. Pour une interconnexion sécurisée entre les sites distants d’une même
entreprise partageant les mêmes ressources ou avec des partenaires, on fait recours à des lignes
spécialisées (LS), cette solution bien qu’elle est efficace présente des contraintes de point de vue
cout de réalisation, de maintenance en cas de problème sur les câbles...
Lorsque cette raccordement va se faire à l’échelle d’un pays voire d’un continent, il faut
penser à une solution plus souple tout en minimisant le cout, relié les sites via l’internet peut être
une meilleur solution. Etant donné que l’internet est un réseau non sécurisé, les entreprise vont
recourt à la solution de VPN pour échanger leurs informations en toute sécurité à travers tunnel.
Dans notre rapport, nous allons essayer d’étudier cette solution de VPN à travers OpenVPN.
Ainsi ce rapport est scindé sur trois parties primordiales :
La première partie est portée sur les généralités des attaques dans un réseau.
La deuxième partie présente une étude quelques protocoles utilisés pour réaliser une connexion
VPN
La troisième est réservée pour la partie pratique mais avant dans cette partie nous avons donné
une présentation générale dans outils qui nous ont permis à faire ce travail.
La cybercriminalité se définit communément comme toute action illicite visant l’intégrité d’un
site informatique déterminé, ou bien menée à l’aide d’un outil informatique. Tout ordinateur
connecté à l’internet est potentiellement vulnérable à une attaque.
Une attaque est l'exploitation d'une faille d'un système informatique à des fins non connues par
l'exploitant du système et généralement préjudiciables.
Sur internet des attaques ont lieu en permanence, à raison de plusieurs attaques par minute sur
chaque machine connectée.
Afin de contrer ces attaques il est indispensable de connaître les principaux types
d'attaques afin de mettre en œuvre des dispositions préventives.
Dans le monde professionnel, les risques et les moyens de prévention sont essentiellement
évalués en raison de leurs coûts.
L’inconscience et l'ignorance ;
L’espionnage ;
Le détournement de mot de passe ;
Le sabotage ;
Etant donné que les systèmes informatiques mettent en œuvre les différentes
composantes, allant de l'électricité pour alimenter les machines au logiciel exécuté via le système
d'exploitation et utilisant le réseau.
Les attaques peuvent intervenir à chaque niveaux de la chaine chaîne, pour peu qu'il
existe une vulnérabilité exploitable.
3.2 Sniffing
Le reniflage (en anglais Sniffing) est une technique qui consiste à analyser le trafic pour
récupérer toutes les informations transitant sur un réseau.
3.3 Scanning
Le scanning consiste à balayer tous les ports sur une machine en utilisant un outil appelé
scanner. Le scanner envoie des paquets sur plusieurs ports de la machine. En fonction de leurs
réactions, le scanner va en déduire si les ports sont ouverts. C'est un outil très utile pour les
hackers. Cela leur permet de connaitre les points faibles d'une machine et ainsi de savoir par où
ils peuvent attaquer.
Pourtant, une attaque par social engineering bien menée peut se révéler très efficace. Elle n'est
donc pas à prendre à la légère.
Attaque par dictionnaire : Le logiciel teste tous les mots de passe stockés dans un
fichier texte. Cette méthode est redoutable car en plus de sa rapidité, elle aboutit
généralement puisque les mots de passe des utilisateurs lambda sont souvent des mots
existants.
Attaque hybride : le logiciel teste tous les mots de passe stockés dans un fichier texte et
y ajoute des combinaisons
Attaque brute-force : le logiciel teste toutes les combinaisons possibles Heureusement,
tester toutes les combinaisons prends beaucoup de temps. D'où l'utilité de changer de
mots de passe régulièrement.
3.6 Spoofing
L'usurpation (en anglais spoofing) consiste à se faire passer pour quelqu'un d'autre.
Voici quelques exemples d'usurpations :
o Usurpation de l'adresse IP
o Usurpation de l'adresse e-mail
o Usurpation WEB c’est le principe du phishing
3.8 Hijacking
Un pirate peut craquer (cible) le mot de passe de la session mais avec le mot de passe
robuste, cela lui prendra beaucoup de temps donc il passe au détournement de session.
Il existe plusieurs solutions de protections tant sur le niveau infrastructure que dans le réseau,
nous allons voir quelque solution
La meilleure façon de protéger votre ordinateur contre les logiciels malveillants, les logiciels
espions et les virus c’est d’avoir trois types de logiciels de sécurité installés sur votre ordinateur.
La plupart des logiciels de sécurité payants comprennent les trois éléments comme une suite de
sécurités.
4.1 Un pare-feu :
Le pare-feu cela agit comme un portier pour protéger votre ordinateur contre les attaques
entrantes par l’Internet, en surveillant et en filtrant le trafic de données entrant ou sortant de votre
ordinateur.
Celui-ci contribue à vous protéger contre les virus, les chevaux de Troie et autres
menaces de sécurité en scannant et en arrêtant les virus en cours d’installation sur votre
ordinateur. Si vous avez un virus installé sur votre PC, le logiciel antivirus sera en mesure de le
retirer.
Spyware est un logiciel malveillant qui se télécharge secrètement sur votre ordinateur.
Une fois installé, il peut surveiller votre activité, recueillir des informations sur vous et les
envoyer sur Internet, et même contrôler votre navigateur Web (appelé « hijacking » ou
«détournement»). Le logiciel anti-spyware scanne votre ordinateur pour détecter cela, et
Autres outils de sécurité utiles d’avoir installé sur votre PC comprennent les filtres anti-
spam pour bloquer les messages non sollicités et le contrôle parental pour vous aider à garder vos
enfants en sécurité en ligne.
4.5 Cryptage
Internet est un réseau non sécurisé, dès que l'on souhaite envoyer des informations
confidentielles à une autre personne, il faut donc les crypter. Il existe deux grands types de
chiffrement :
Le chiffrement à clé publique consiste en l'utilisation d'une clé différente pour crypter ou
décrypter. Le propriétaire de la clé privée donne la clé publique à tout le monde et garde l'autre
clé. Ainsi, on peut lui envoyer des messages chiffrés avec la clé publique mais personne ne peut
le décrypter à part le propriétaire à l'aide de sa clé privée. Avec ce chiffrement, le problème de
l'échange de clé ne se pose plus. Mais, la communication ne peut se faire que dans un sens, il
faudrait alors deux autres clés pour dialoguer dans l'autre sens.
Exemple : RSA
4.6 VPN
Un VPN (Virtual Private Network) est une liaison sécurisée entre deux parties via un
réseau public, en général Internet (ligne RTC, Numéris, xDSL, câble…), pour assurer
l’authentification des deux parties, l’intégrité des données et le chiffrage
La mise en place d’un VPN est basée sur des plateformes de cryptage. La technologie VPN
garantit des échanges sécurisés d'informations sensibles, accessibles depuis n'importe quel
endroit, du moment qu'une connexion Internet est disponible.
Ppp (Point to Point Protocol) Rfc 1661 appuyé de la Rfc 2153.est un protocole qui permet
de transférer des données sur un lien synchrone ou asynchrone. Il est full duplex et garantit
l'ordre d'arrivée des paquets. Il encapsule les paquets Ip, Ipx et Netbeui dans des trames Ppp, puis
transmet ces paquets encapsulés au travers de la liaison point à point. Ppp est employé
généralement entre un client d'accès à distance et un serveur d'accès réseau (Nas).
IIPsec, définit par la RFC 2401, est un protocole qui vise à sécuriser l'échange de données
au niveau de la couche réseau. Le réseau Ipv4 étant largement déployé et la migration vers Ipv6
étant inévitable, mais néanmoins longue, il est apparu intéressant de développer des techniques
de protection des données communes à Ipv4 et Ipv6. Ces mécanismes sont couramment désignés
par le terme Ipsec pour Ip Security Protocols. Ipsec est basé sur deux mécanismes. Le premier,
AH, pour Authentification Header vise à assurer l'intégrité et l'authenticité des datagrammes IP.
Il ne fournit par contre aucune confidentialité : les données fournies et transmises par Ce
"protocole" ne sont pas encodées. Le second, Esp, pour Encapsulating Security Payload peut
aussi permettre l'authentification des données mais est principalement utilisé pour le cryptage des
informations. Bien qu'indépendants ces deux mécanismes sont presque toujours utilisés
conjointement. Enfin, le protocole Ike permet de gérer les échanges ou les associations entre
protocoles de sécurité. Avant de décrire ces différents protocoles, nous allons exposer les
différents éléments utilisés dans IPsec.
Le protocole MPLS est un brillant rejeton du "tout ip". Il se présente comme une solution
aux problèmes de routage des datagrammes IP véhiculés sur Internet. Le principe de routage sur
Internet repose sur des tables de routage. Pour chaque paquet les routeurs, afin de déterminer le
prochain saut, doivent analyser l'adresse de destination du paquet contenu dans l'entête de niveau
3. Puis il consulte sa table de routage pour déterminer sur quelle interface doit sortir le paquet.
Ce mécanisme de recherche dans la table de routage est consommateur de temps Cpu et avec la
croissance de la taille des réseaux ces dernières années, les tables de routage des routeurs ont
constamment augmenté. Le protocole MPLS fut initialement développé pour donner une plus
grande puissance aux commutateurs Ip, mais avec l'avènement de techniques de commutation
comme Cef (Cisco Express Forwarding) et la mise au point de nouveaux Asic (Application
Specific Interface Circuits), les routeurs IP ont vu leurs performances augmenter sans le recours
à Mpls.
SSL (Secure Sockets Layer) est un protocole de couche 4 (niveau transport) utilisé par
une application pour établir un canal de communication sécurisé avec une autre application. Il
fournit un accès sécurisé (via un tunnel dédicacé) vers des applications spécifiques de l'entreprise
ou de l'administration.
Le grand avantage de cette méthode réside dans sa simplicité: on utilise seulement son browser
habituel et on n'utilise pas de client spécifique ou de matériel spécifique.
Avec SSL VPN, les utilisateurs distants ou les utilisateurs mobiles peuvent avoir un accès à des
applications bien déterminées sur l'intranet de leur organisation depuis n'importe quel accès
Internet. Cependant, l'accès aux ressources internes est plus limité que celui fourni par un VPN
IPSEC, puisque l'on accède uniquement aux services qui ont été définis par l'administrateur du
VPN (par exemple les portails et sites Web, les fichiers ou le courrier électronique).
Contrairement aux techniques VPN de type IPSEC, PPTP, L2TP, la technique VPN SSL se situe
à un niveau du modèle réseau ISO bien supérieur, en l'occurrence le niveau 5, c'est-à-dire
"session applicative". Comme IPSEC, SSL utilise principalement des certificats numériques pour
l'établissement de communications sécurisées.
1. Présentation de pfSense
PfSense a été créé en 2004 comme un fork du projet mOnOwall, pour viser une
installation sur un PC plutôt que sur du matériel embarqué. PfSense est basée sur Free BSD, en
visant les fonctions de firewall et routeur.
PfSense est puissante, en bonne partie car elle est basée sur Free BSD, mais aussi assez simple
d'accès, car elle fournit une interface web pour la configuration, (en plus de l'interface console).
Je recommande quand même de connaitre les commandes basiques de Free BSD en mode
console, au moins pour pouvoir récupérer la configuration en cas d'erreur (par exemple une
mauvaise route qui vous empêche de joindre le firewall...). Cette interface web n'est accessible
par défaut qu'à partir du LAN.
PfSense est une distribution Free BSD dédié firewall / routeur.
Le firewall est basé sur Paquet Filter. Toute la configuration du système est stockée dans
un fichier xml (/cf/conf/config.xml).
Performances sont liées au matériel.
L’installation ainsi que la configuration PfSense va se réaliser sur un système
d’exploitation de type Free BSD. Il est possible d’émuler le système d’exploitation Free
BSD grâce à VMware ou Virtualbox.
1.1 FreeBSD
FreeBSD® est un système d'exploitation avancé pour les plates-formes modernes de
type serveur, station de travail et systèmes embarqués. Le code de base de FreeBSD a été
développé, amélioré et optimisé continuellement pendant plus de trente ans. Il est développé et
maintenu par une importante équipe de personnes. FreeBSD propose des fonctionnalités réseau
avancées, une sécurité poussée et des performances de haut niveau. FreeBSD est utilisé par
certains des sites web les plus visités ainsi que par la plupart des systèmes embarqués orientés
réseau et des systèmes de stockage les plus répandus. En savoir plus
https://www.freebsd.org/fr/about.html
1.2 VirtualBox
Actuellement, VirtualBox fonctionne sur Windows, Linux, Macintosh, et les hôtes Solaris
et prend en charge un grand nombre de systèmes d'exploitation invités, y compris mais non
limité à Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8, Windows 10
), DOS / Windows 3.x, Linux (2.4, 2.6, 3.x et 4.x), Solaris et OpenSolaris, OS / 2, et OpenBSD.
2. Présentation OpenVPN
OpenVPN est un logiciel libre permettant de créer un réseau privé (VPN). Ce logiciel,
disponible dans PfSense, permet à des paires de s’authentifier entre eux à l’aide d’une clé privée
partagée à l’avance ou à l’aide de certificats. Pour chiffrer ses données, OpenVPN utilise le
protocole SSLv3 de la librairie OpenSSL aussi présente dans PfSense.
L’installation ainsi que la configuration Pfsense va se réaliser sur un système d’exploitation de type
FreeBSD.
Minimale
Pour créer notre machine virtuelle, il est nécessaire de suivre les étapes suivantes :
1. Cliquez sur « Nouveau » afin de commencer l’installation de la nouvelle machine.
2. Cliquez sur « Suivant » puis rentrez le nom de votre ordinateur «Pf_Site1 » et sélectionnez le système
d’exploitation que vous voulez virtualiser « BSD - FreeBSD ».
3. Choisissez la mémoire que vous voulez disposez sur votre système virtualisé (256 Mo).
4. Sélectionnez « Créer un nouveau disque dur » en vérifiant que la case « Disque dur d’amorçage » est
cochée.
5. Afin de créer un disque dur ayant une taille variable (conseillé), il est nécessaire de sélectionner « Image
disque à taille dynamique » puis sélectionnez la taille de disque (2Go)
6. Cliquez ensuite deux fois sur « Terminer » afin de terminer la mise en place de la machine
virtuelle.
Pour l’utilisation de Pfsense, il est nécessaire d’activer deux interfaces réseaux, dont l’une pour le WAN et
l’autre pour LAN
Une fois les interfaces configurées, il est nécessaire d’installer PfSense en dur sur le disque dur, dans
le menu affiché on tape le choix « 99 ».
Cette installation va occuper la totalité du disque dur qui est pourquoi je sélectionne OK pour
continuer.
Avant tout, il est conseillé de changer l'IP sur la machine de Pfsense pour plus de simplicité par la suite. Pour
cela, dans le menu de Pfsense, tapez lechoix 2 : « Set LAN IP adresse».
Ouvrez ensuite votre navigateur Web, puis entrez http://192.168.2.1, par défaut on met :
Identifiant : admin
Mot de passe : Pfsense
Une fois identifiée, on serait appelé à faire la configuration initiale pour préparer notre serveur.
Finalement, on est enfin arrivé à l'interface web :
Allez ensuite dans System, puis General Setup.
Pour éviter que les mal intentionné branchés sur le LAN essayent de se connecter à l'interface
web. On doit effectuer quelques configurations :
System > Advanced
Activer le https pour que la connexion entre vous et le serveur soit chiffré.
Changer le numéro de port pour accéder à l'interface web. (supérieur à 49152)
Cochez la case pour supprimez la redirection automatique vers l'interface web lors de la
connexion à l'adresse ip du serveur sur le port 80.
Activer le SSH pour éviter de passer par la console.
Entrez un numéro de port supérieur à 49152 différent du port de l'interface web choisi ci-
dessus.
Cochez la case si vous désirez que le mot de passe de l'interface web soit demandé lors de
l'accès à la console.
Pour se connecter en SSH je me connecte avec l'ip du serveur sur le port 54321.
Il Le paquet correspondant se nomme « OpenVPN Client Export Utility ». Cet outil permet
l'export directement à partir de pfSense d'un client préconfiguré OpenVPN pour Windows
ou d'un fichier de configuration pour Mac OSX viscosité.
System >> packages >> Available Packages.
Sélectionner Open Vpn Client Export Utility et cliquer sur + pour l’installer.
Confirmer l’installation
Dans l’onglet « Cas » cliquer sur « + » pour créer une nouvelle autorité de certification
serveur VPN.
Cliquer sur « click to create a user certificate » à partir du CA créé plus haut.
Notre certificat pour le client OpenVPN est créé.
OpenVPN est basé sur un mode de fonctionnement client-serveur. PfSense soit définit
comme un client ou un serveur ne changera strictement rien d'un point de vue réseau.
Cependant, si on souhaite connecter plusieurs sites distants sur un site principal, les sites
distants dont des "clients".
On définit le type d’authentification comptes locaux, mais sinon on peut faire du LDAP ou
du RADIUS.
On choisit le certificat CA qu’on a créé bien plus haut et qui va valider le certificat donné au
PC mobile.
8. Configuration du Firewall
Il est maintenant nécessaire d'autoriser le flux VPN au niveau du firewall. Se rendre dans
Sur l'interface sur laquelle le serveur OpenVPN est en écoute, créer une règle autorisant le
trafic à atteindre l'adresse IP et le port du serveur OpenVPN.
Dans notre exemple, nous travaillons sur l'interface WAN et l'adresse IP de notre pfSense sur
notre WAN est 10.0.2.15 ce qui donne :
• Interface : WAN
• Protocol : UDP
• Source : si l'adresse IP publique du site distant est connue et fixe, la renseigner en
choisissant le type "Single host or alias"
• Destination : type "Single host or alias", adresse à 10.0.2.15
Destination port range : port choisi lors de la configuration du serveur OpenVPN, soit 1194
Ce qui nous donne la règle suivante :
La configuration côté serveur est terminée. Il nous reste simplement à penser à autoriser ou
filtrer nos flux transitant à travers notre nouvelle interface OpenVPN.
Sur le pfSense du site "client", se rendre dans VPN >> OpenVPN. Puis cliquer sur
l'onglet "Client".
Cliquer sur l'icône en forme de "+" pour ajouter un client VPN.
La configuration côté client est terminée. Il nous reste simplement à penser à autoriser ou
filtrer nos flux transitant à travers notre nouvelle interface OpenVPN.
PfSense permet, grâce au package installé « OpenVPN Client Export Utility », d'exporter
un exécutable pour l'installation et la configuration du client sous Windows.
Si la connexion VPN se déroule sans aucun problème, l’icône dans notre barre de tâche
change de couleur et devient verte. La connexion à notre serveur VPN est fonctionnelle.
Conclusion
Le développement de la technologie et de l’informatique en particulier, a beaucoup
facilité les transactions entre les entreprises. Les données peuvent être échangées via l’internet
en toute sécurité avec l’implémentions de protocole de sécurité. Cette implémentation et
l’administration réseau nécessite souvent la maîtrise des différentes technologies et les faire
travailler ensembles. Le travail se complique encore si l’administration et la configuration de
tout cela se fait manuellement.
Heureusement, des outils puissants existent, qui intègre plusieurs solutions de sécurité comme
l’exemple de PfSense.
Cet Outil est en effet un gestionnaire central d’outils réseaux. On peut ainsi faire
travailler ensemble un pare feu, un routeur, un serveur VPN, un Proxy, un outil de détection
d’attaque réseau etc… Le tout sur un seul et même Serveur. On peut par exemple créer très
facilement des « Backups » pour ne pas se retrouver avec un seul point névralgique dans notre
réseau… Bref nous pensons que PfSense est voue à exister et se développer.
Dans notre travail nous avons mis en place et testé une solution OpenVNP au niveau de
chaque site tout en activant le routage entre les deux sites pour que les sites puissent échanger
les données en toute sécurité via le tunnel OpenVPN.
Bibliographie
Webographie
https://www.freebsd.org/fr/
https://www.virtualbox.org/
https://doc.ubuntu-fr.org/virtualbox
https://www.pfsense.org/
http://www.senat.fr/rap/r11-681/r11-681_mono.html
http://www.commentcamarche.net/contents/47-piratage-et-
attaques-informatiques
https://www.osnet.eu/fr/content/liste-configuration-pfsense