Rapport de STAGE
Rapport de STAGE
RAPPORT DE STAGE
Réalisé par :
Kaoui Mohammed
[Date]
1
Tout d’abord, je tiens à exprimer mon immense respect et gratitude à Mr. Mohammed
Ait El Kadi de m’avoir accepté en tant que stagiaire au sein du Département d’Informatique et
de m’avoir laissé la liberté d’agir, et de me permettre d’avoir accensée à plusieurs choses et
d’enrichir mes connaissances en domaine d’informatique
Informatique du Savoy le grand hôtel Marrakech, pour les efforts qu’ils ont déployés pour
me transmettre leurs riches connaissances.
[Date]
2
Remerciements..................................................................................................................................................................
Sommaire...........................................................................................................................................................................
Introduction général...........................................................................................................................................................
Chapitre 1 : Présentation générale du contexte générale..................................................................................................
C) Conclusion................................................................................................................................15
A) Pré-requit.................................................................................................................................16
B) Installation de PFSense............................................................................................................17
C) Service PFBlockerNG................................................................................................................22
Conclusion...................................................................................................................................................................... 44
Annexe...........................................................................................................................................................................45
Table d'illustration..........................................................................................................................................................66
Netographie.................................................................................................................................................................... 67
[Date]
3
INTRODUCTION GENERALE
Dans le cadre de ma formation en Brevet de technicien supérieure, Multimédia et
conception WEB (MCW) au centre du lycée technique de CHICHAOUA, j’ai effectué un stage au
sein du département informatique du SAVOY LE GRAND HOTEL MARRAKECH et MENARA MALL qui
appartient au groupe PICKALBATROS MOROCCO d’une durée d’un mois, qui a pour but d’acquérir
une expérience professionnelle sur le monde travail en plus de mettre en pratique les notions vues
pendant les deux ans de ma formation.
Durant ce mois de recherche et de test j’ai réussi à avoir des notions sur les systèmes de
Firewalling et précisément sur le Firewall open source PFSense.
Dans ce rapport nous allons voire une définition sur les pare feux, les différents pare-feu présentes
dans le marcher, la meilleure solution pour nos besoins, et en fin l’implémentation place de la
solution choisie en créant un système de captive portal.
[Date]
4
I. Présentation générale du Savoy le grand hô tel Marrakech
A.1) Fiche technique
Raison sociale :
Forme juridique : Faculté.
Téléphone :
Adresse :
Site :
Départements du groupe (x Départements) :
o Département de ;
o Département de ;
o Département de ;
o Département de ;
o Département de ;
o Département d’Informatique.
[Date]
5
A.2) Organigramme du département informatique du SAVOY le grand hô tel Marrakech
[Date]
6
II. Les pare–feu et la solution choisie
A. Les pare-feu fameux
A.1) Clear OS
Clear OS (anciennement appelé ClarkConnect) est une distribution Linux, basée sur CentOS
et Red Hat Enterprise Linux, conçu pour une utilisation dans les petites et moyennes entreprises
comme une passerelle réseau et le serveur de réseau avec une interface d'administration basée
sur le Web. Il est conçu pour être une alternative à Windows Small Business Server. Clear OS
réussit ClarkConnect.
Le logiciel est construit par ClearFoundation, et les services de soutien peuvent être achetés
auprès ClearCenter. Clear OS supprime les limitations antérieures au courrier électronique, les
fonctions DMZ, et Multi WAN.
Caractéristiques :
• Pare-feu Stateful (ipstables), la mise en réseau et de la sécurité ;
• La détection d'intrusion et de prévention (SNORT) ;
• Réseaux privés virtuels (IPSEC, PPTP, OpenVPN) ;
• Proxy Web, avec le filtrage de contenu et antivirus (Squid, DansGuardian) ;
• Services de courrier électronique (Webmail, Postfix, SMTP, POP3 / s, IMAP / s) ;
• Base de données et serveur Web (facile à déployer pile LAMP) ;
• Services de fichiers et d'impression (Samba et CUPS) ;
• Flexshares (unifiées de stockage multi-protocole qui emploie actuellement CIFS, HTTP
/ S, FTP / S, et SMTP) ;
[Date]
7
• Clear OS non offre pas beaucoup de fonctionnalité
dans la version gratuite
• Pas de mises à jour automatiques pour IPS / URL filtre
A.2) Untangle
Untangle propose deux solutions : La première solution « Next Generation (NG) Firewall »
est conçue afin répondre aux besoins des petites et moyennes entreprises. Cette solution intègre à
la fois :
• Un pare-feu ;
• Un routeur ;
• Un système de prévention d’intrusion ;
• Un anti-virus avancé ;
• Un filtrage des connexions http / https suspectes ;
• Un bloqueur de publicité (mail et web) ;
• Et bien d’autres possibilités….
La seconde solution proposée est « Untangle Internet Content (IC) Control ». Cette solution répond
aux besoins des grandes organisations, consommatrices de grandes quantités de bande passante.
Lorsque la quantité de donnée échangée devient trop importante pour être contrôlée par les
solutions « courantes », il faut alors se tourner vers des solutions parfaitement adaptées à cette
situation et c’est précisément ce que permet « Untangle IC Control ».
Le(s) Limite(s) :
• Consomme la RAM ;
A.3) ZeroShell
Zeroshell est une distribution Linux créée dans le but d'être très complète conçue pour
fournir des services réseaux sécurisés dans un réseau local.
8
Elle a été développée par Fulvio Ricciardi pour être totalement
administrable via une interface web. Fournie sous forme de Live CD, elle s'initialise en insérant le
CD dans la machine cible et en la redémarrant.
La connexion à l’interface d’administration se fait via un navigateur web pour ensuite configurer
les services réseaux.
Fonctionnalités :
• Routage statique ;
• NAT ;
• Protocole de routage RIPV2 (Routing information Protocol) pour configuration
dynamique des tables de routage ;
• Pare-feu, pour filtrage des paquets avec fonction SPI (Stateful Packet Inspection)
pour filtrer en fonction de l’état de la connexion ;
• Captive portale dont le but est d’autoriser l’accès au réseau via une authentification
web adossée à un serveur Kerberos. Cette fonction est très utile pour sécuriser un réseau sans
demander aucune configuration sur les postes clients ;
• Authentification Radius, pour autoriser l’accès au réseau via des points d’accès Wi-Fi ;
• Serveur DNS multizones, pour définir sa propre zone DNS et les enregistrements
associés ;
• Client Dyn DNS si on a besoin d’un nom DNS pour atteindre le routeur ;
• Serveur DHCP pour assigner automatiquement des adresses IP aux postes clients qui
le demandent ;
• VLAN à utiliser avec des switches supportant les VLAN. On peut ainsi par exemple
dans un campus, créer un VLAN dédié aux points d’accès WIFI et centraliser la gestion de
l’authentification par captive portal sur Zeroshell ;
9
• Administration web (sécurisé par filtrage sur
IP) ;
• Pont 802.1d avec protocole Spanning Tree pour éviter les boucles dues aux chemins
redondants ;
Zeroshell fonctionne aussi sur une machine virtuelle, par exemple avec les logiciels VMware et
Virtual PC (un disque virtuel pour VMware est fourni en téléchargement).
Le(s) Limite(s) :
A.4) OPNSense
OPNSense est une distribution de pare-feu open source basé sur FreeBSD. Déploiements typiques
sont les pare-feu stateful de périmètre, routeurs, points d'accès sans fil, serveurs DHCP et DNS,
points de terminaison VPN et UTM-machines.
[Date]
OPNsense offre des fonctionnalités souvent trouvés dans firewalls commerciaux coûteux, et est
basé sur le port FreeBSD du PF-pare-feu. Il peut être configuré et mis à jour par le biais d'une
interface basée sur le Web, et ne nécessite aucune connaissance du système FreeBSD sous-jacente
à gérer.
10
OPNsense est axée sur la qualité du code et le développement
facile, la mise en œuvre du paradigme MVC.
Caractéristiques :
• VLAN (802.1Q) ;
• Serveur DHCP et relais ;
• Le support IPv6 ;
11
• Adresses IP publiques multiples / multi-NAT ;
• RADIUS / LDAP ;
• Résolveurs multiples (transitaire DNS, Unbound) ;
• Alias pris en charge pour les règles, les adresses IP, les ports, les ordinateurs et autres
entités ;
• Squid et expédition web-proxy.
Pare-feu et le routage :
• Pare-feu Stateful;
• Network Address Translation;
• Filtrage par source / de destination adresse IP, le protocole, OS / réseau d'empreintes
digitales ;
• Couche inspection 7 du protocole ou Deep Packet Inspection ;
• Routage flexible ;
• Par règle configurable exploitation forestière et par règle limiteurs (adresses IP, les
connexions, les Etats, de nouvelles connexions, les types de l'Etat), le filtrage de la politique (ou le
marquage de paquets), le filtrage TCP de l'État du pavillon, l'ordonnancement, la passerelle ;
• Packet épuration ;
• Layer 2 / pontage capable ;
• Table de l'Etat "jusqu'à plusieurs centaines de milliers" états (1 Ko de RAM par Etat environ) ;
• Algorithmes de table d'état personnalisable, y compris une faible latence et une faible chute
de tension.
Le(s) limite(s) :
• Manque de packages par rapport au PFSense ;
• C’est un nouveau pare-feu n’est pas mature comme les autres pares-feux.
A.5) PFSense
[Date]
PFSense est un routeur / pare-feu open-source basé sur FreeBSD. Il peut être installé sur un simple
ordinateur personnel comme sur un serveur. Basé sur PF (Packet filter), comme iptables sur
GNU/Linux, il est réputé pour sa fiabilité. PFSense a des Nouveautés :
12
• PFSense 2.2 est basé sur FreeBSD 10.1 ce qui apporte non
seulement de nombreux correctifs de sécurité, mais aussi une meilleure prise en charge du
matériel et de la virtualisation ;
• Ajout de nouveaux fournisseurs de DNS Dynamique (City Network, OVH Dyn HOST, Gratis
DNS, Euro DNS et Cloud lare);
• Changement de démon IP Sec racoon par strongSwan avec la gestion d'IKEv2, AES-GCM
entre autres.
Caractéristique
PFSense ne fait pas seulement firewall, elle offre toute une panoplie de services réseaux. Je vais
vous en présenter une partie, celles que j'ai utilisées ou qui me semblent intéressantes.
• Interface web ;
• Gestion des VLAN ;
• Routage IPv4 et IPv6 ;
• NAT ;
• Filtrage du trafic entrant et sortant pour tout type de trafic (ICMP, UDP, TCP…) ;
• Limitation des connexions pour un pair ;
• Log du trafic avec génération de graphiques ;
• Log sur serveur Syslog externe ;
• Répartition de charge et Basculement ;
• Agrégation de ports, IP virtuelles ;
• Proxy transparent ;
• Serveur ou client PPPoE ;
[Date]
13
• Contrôle d'accès par adresses MAC ou
authentification RADIUS ;
• Serveur ou relais DHCP / DNS ;
• Ajout de fonctionnalités via des paquets directement installables dans l'interface ;
• Multi-WAN.
Le(s) limite(s) :
• Plus difficile que Untangle ;
• Parfois il y a des problèmes après les mises à jour.
B.1) Introduction
Après une brève installation manuelle pour assigner les interfaces réseaux, il s'administre
ensuite à distance depuis l'interface web et gère nativement les VLAN (802.1q).
Comme sur les distributions Linux, PFSense intègre aussi un gestionnaire de paquets pour
installer des fonctionnalités supplémentaires, comme un proxy, serveur VoIP1...
B.2) Introduction
[Date]
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é,
14
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.
Standard industriel sur le marché des serveurs. De nombreux fournisseurs d'accès, hébergeurs et
organismes utilisent FreeBSD, parmi lesquels Walnut Creek CDROM, Yahoo! Inc. ou Net Craft. Le 24
mai 1999, l'équipe du serveur miroir ftp.cdrom.com a annoncé avoir battu la veille leur record de
transfert de données2 pour un serveur : 1,33 tébioctet en 24 heures.
B.3) Introduction
Le PFSense 2.5 est la version actuelle recommandée pour toutes les installations. Le
PFSense 2.5 est basé sur FreeBSD 12. Parce que ceci est la dernière version officielle, il est la seule
version qui recevra corrections de bogues et des mises à jour de sécurité.
La version Embarqué est spécifiquement adaptée pour une utilisation avec n'importe quel matériel
en utilisant Compact Flash (CF) plutôt que d'un disque dur.
C. Conclusion
Durant ce chapitre nous remarquons qu’il existe plusieurs solutions pour le pare-feu, chaque pare-
feu à des caractéristiques et son domaine d’utilisation.
D’après la comparaison de tous ces pares-feux, PFSense répond à notre besoin pour cela c’est
[Date]
15
III. Mise en place du PFSense
A. Pré-requit
Il faut avoir une image ISO de PFSense version 2.5 RELEASE Basé sur FreeBSD 12, les
images sont en libre téléchargement depuis https://www.Pfsense.org/download, de même
cette section de téléchargement offre des images VMware prêtes.
B. Installation de PFSense
Après avoir télécharger une image ISO de PFSense avec une USB ou un CD Monté,
Pour notre cas on a choisi de tester le système dans une machine virtuelle VMWare, un menu de
Boot apparaît. Selon les besoins nous pouvons choisir de démarrer PFSense avec certaines options
activées. Si aucune touche n’est appuyée, PFSense bootera avec les options par défauts (choix 1)
au bout de 8 secondes. [Date]
16
L’installation démarre, dès le premier écran nous pouvons régler différents paramètres
notamment la police d’écriture et l’encodage des caractères. Ces options sont utiles pour des cas
bien particuliers. Nous n’y toucherons donc pas.
[Date]
17
Après avoir cliqué sur « Accept » On choisit l’option Install et on clique sur OK
18
[Date]
19
Lors du premier démarrage de PFSense, il faut
configurer les différentes interfaces (WAN, LAN, DMZ, etc.), il faut donc bien repérer vos
différentes cartes réseaux afin de ne pas vous tromper dans votre configuration auquel cas vous
n’aurez pas accès à l’interface web et votre pare-feu ne fonctionnera pas.
La première étape de configuration concerne l’utilisation des VLANs, pour l’instant ce que nous
importe est la configuration de base de PFSense, nous appuyons donc sur la touche “N“.
Nous devons ensuite déterminer quelle interface est sur le côté WAN, pour cela on peut soit saisir
manuellement le nom de l’interface, soit laisser PFSense le faire automatiquement en appuyant
sur “A“.
La détection automatique est utile dans le cas d’un ordinateur physique, car il est rarement
simple de différencier les cartes réseaux, et, l’adresse MAC n’est pas une donnée accessible
facilement. En revanche, la détection ne fonctionnera que si vos cartes sont branchées et
actives.
[Date]
20
Nous passerons pour notre part en configuration manuelle, nous entrons donc le nom de la bonne
carte à savoir pour notre cas “em0“.
Ensuite, nous faisons la même chose pour la carte réseau sur le LAN, nous entrons donc “em1“,
nous noterons la précision de PFSense qui nous indique, que cela activera le Pare-feu et le NAT.
Nous pouvons par la suite créer d’autres interface réseaux (DMZ, Wifi, etc.), celle-ci nécessite bien
sur une carte réseau pour chacune d’elle, nous en resterons là pour l’instant et appuierons sur
“Entrée“.
PFSense nous résume alors l’attribution des cartes réseaux aux différentes interfaces et nous
validons avec “Y“.
Une fois la configuration terminée, le menu de la console de PFSense apparaît. Celui-ci est utile
dans le cas de tâches administratives, comme l’oubli du mot de passe de l’interface web.
Néanmoins la plupart des options présentes dans
21
PFSense propose aussi des services différents qui peuvent aider à la protection de notre réseau
parmi ces services on trouve :
Ce package nous permet de filtrer l’accès a internet pour les utilisateurs de notre réseau
Pour conclure on peut dire que cette fonction ce base sur :
Bloquer ou donner accès à des sites web
[Date]
PFBlockerNG est un package qui peut nous aider à réaliser toutes ces tâches
22
Après installation il apparait dans le menu Firewall
23
On souhaite avoir l’adresse IP de Facebook par exemple on exécute la commande ping dans le
CMD
Ici l’adresse IP de Facebook est : 157.240.196.35
Pour avoir le AS de Facebook on pose l’adresse IP Du site
[Date]
24
[Date]
25
Le PFSense créer un fichier ou il pose toutes les adresses IP du AS qu’on a bloquer
[Date]
26
Le PFSense ajout automatiquement la requête de blocage
[Date]
27
IV. Réalisation d’un projet captive portal (sous PFSense)
Le portail captif est une technique consistant à forcer les clients HTTP d'un réseau de
consultation à afficher une page web spéciale (le plus souvent dans un but d'authentification)
avant d'accéder à Internet normalement.
Cette technique est généralement mise en œuvre pour les accès Wi-Fi mais peut aussi être utilisée
pour l'accès à des réseaux filaires (ex. : hôtels, campus, etc.).
Cela est obtenu en interceptant tous les paquets liés aux protocoles HTTP ou HTTPS quelles que
soient leurs destinations jusqu'à ce que l'utilisateur ouvre son navigateur web. En utilisant un DNS
menteur, l'utilisateur est redirigé vers une page web permettant de s'authentifier, d'effectuer un
éventuel paiement, de remplir des informations, et de recueillir le consentement de l'utilisateur
concernant les conditions d'utilisation ou la collecte de données personnelles.
Couramment mise en œuvre, cette technique s'apparente à une attaque de l'homme du milieu1,
puisqu’un équipement intermédiaire usurpe l'identité du site visité pour le transformer en
redirection vers le portail captif. Il arrive également que le portail captif utilise de faux certificats
de sécurité pour rediriger également le protocole HTTPS, ce qui provoque une erreur de sécurité
avec une page HTTPS simple et l'impossibilité d'être redirigé avec le protocole strict HSTS.
Il est d'ailleurs possible d'usurper le SSID du portail captif pour faire une attaque de l'homme du
milieu2.
Pour notre choix on a décidé de créer un formulaire qui permet d’insérer les données dans une
base de données créer dans une machine virtuelle sous base de Windows 7, cette base est sous
phpMyAdmin hébergé a l’aide de XAMPP
Pour créer un système captive portal sous PFSense il faut choisir l’option Captive Portal dans le
menu service de PFSense
[Date]
28
Dans cette page ont choisi les paramètres de configuration selon le besoin
[Date]
29
A l’aide de WinSCP on upload les fichiers et les scripts de notre page web que l’on veut utiliser
comme un page portal captif
[Date]
30
Vu que le PFSense ne permet pas d’ajouter un site web complet il fallait trouver une solution, la
solution qu’on a opté pour c’était de lier la page web uploader sur PFSense avec les pages et les
scripts d’insertion dans la machine virtuelle ou se trouve XAMPP et faire la liaison à l’aide des
adresse IP
Après avoir compléter le codage de la page le PFSense nous donnes un formulaire de méthode
POST a ajouté dans notre page web, l’action de ce dernier permet de donner accès a Internet a
chaque personne qui envoie le formulaire
[Date]
31
Cette page et consideré comme la premiere interface que l’utilisateur voit lorsque il essaye de se
connecter au réseau WIFI
Après avoir insérer les informations requises et envoyer le formulaire, l’insertion des données a la
base de données est maintenant faite. [Date]
32
La page suivante après l’insetion et celle qui permet de donner la connexion et l’accès a internet
au utilisateur
[Date]
33
Si on clique sur LOGIN le script de connexion de PFSense va
s’executer et donner acces a internet au utilisateur
[Date]
34