PFEbouabid PDF
PFEbouabid PDF
PFEbouabid PDF
Par
Par
Signature et cachet
J’autorise l’étudiant à faire le dépôt de son rapport de stage en vue d’une soutenance.
Signature
Dédicaces
A ma chére mére
pour que je puisse atteindres mes objectifs, que ce travail traduit ma gratitude
et mon affection
Pour ses soutiens morales tout au long de mes études, que dieu les protége et
leurs offre la chance et le bonheur
A toute ma famille ,
A tous mes autres ami(e)s ,
MARYEM Abid
ii
TALEL
Bouzayeni
iii
Remerciements
Je remercie
Je suis reconnaissant
J’exprime ma gratitude
iv
Table des matières
Introduction générale 1
v
2.7.3 Surveillance du système ( Monitoring) : . . . . . . . . . . . . . . . . . . . . . 16
2.7.4 Portail captif : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.7.5 Les packages : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.8 Authentification des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.8.1 Définition du serveur FreeRadius : . . . . . . . . . . . . . . . . . . . . . . . . 19
2.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 Réalisation 20
3.1 Architecture proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Matériel et architecture réseau requis : . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3 Configuration du Serveur DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.1 La configuration de l’interface WAN . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.2 La configuration des interfaces LAN, OPT1, OPT2 . . . . . . . . . . . . . . 23
3.4 Configuration du FireWall (Rules) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5 Installation et configuration de la solution Portail Captif . . . . . . . . . . . . . . . 25
3.5.1 Installation et configuration de FreeRadius : . . . . . . . . . . . . . . . . . . . 27
3.5.2 La Liaison de FreeRadius à la base de données MYSQL : . . . . . . . . . . . . 29
3.5.3 Configuration du portail captif : . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.5.4 Liaison du portail captif avec FreeRadius . . . . . . . . . . . . . . . . . . . . 31
3.5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.6 Configuration de la base de donnée de type MYSQL : . . . . . . . . . . . . . . . . . 33
3.7 Conception et mise en place de l’interface d’inscription et d’authentification . . . . . 34
3.7.1 Analyse de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.7.2 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.7.3 Les solutions trouvés et choisies . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.7.4 Conception de l’interface web ; . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.7.5 Développement de la solution : . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Bibliographie 48
Annexes 49
Annexe 1. Exemple d’annexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Annexe 2. Exemple d’annexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
vi
Annexe 3. Exemple d’annexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.1 Configuration de la base de donnée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Annexe 4. Exemple d’annexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Annexe 5. Exemple d’annexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
vii
Table des figures
1.1 logoentreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
viii
Table des figures
ix
4.26 Création de l’interface Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.27 Création de l’interface status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.28 Configuration du NAS Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.29 Liste des NAS Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.30 Récupération du fichier.sql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.31 Exécution du fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.32 Intégration freeRadius avec MySql (1) . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.33 Intégration freeRadius avec MySql (2) . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.34 Choix de l’interface a exploité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.35 Choix du mode d’authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.36 Installation du paquet PDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.37 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
x
Liste des tableaux
xi
Liste des abréviations
xii
Introduction générale
Selon les statistiques [1], le nombre d’internautes est en augmentation successive qui atteint 4
142 276 en (2011) .Ce qui impose une augmentation de l’offre des services Internet. En effet, la plupart
d’eux disposent d’un appareil mobile (Portable, Smartphone, ...) et souhaitent pouvoir accéder à
Internet dans la majorité des lieux qu’ils fréquentent. Dans cette optique, l’expansion très rapide des
points d’accès sans-fil permet la connexion des appareils nomades. Néanmoins chaque réseau possède
sa politique d’accès et ne souhaite pas laisser n’importe qui accéder aux ressources réseaux et plus
particulièrement les ressources Internet qui sont très limitées. Ainsi, il est nécessaire de mettre en
place des systèmes d’authentification sur ces réseaux qui doivent cumuler de multiples avantages.
Ces avantages sont entre autres : une compatibilité avec la majorité des appareils mobiles du marché,
une sécurité des échanges entre les clients et le reste du réseau, une plus grande transparence offerte
à l’utilisateur aussi bien lors de la phase d’authentification que lors de l’utilisation du réseau, une
réduction de l’impact au niveau des ressources matérielles et de la bande passante, etc. Face à ces
enjeux, le portail captif s’est imposé comme une solution fréquemment utilisée dans les points d’accès
payants ou non. Il peut se généraliser à tous les modes d’accès (sans-fil ou filaire) nécessitant un
contrôle d’accès.
Dans ce cadre ,Topnet dispose d’un réseau informatique dont la gestion se complique avec la
diversité et le nombre croissant des invités d’où la nécessité de mettre en place un portail captif. Ce
document synthétise nos travaux menés dans ce cadre et est organisé en trois chapitres. Le premier
chapitre de ce document présente la structure d’accueil, le thème d’étude ainsi que le contexte dans
lequel s’inscrit le stage. Le deuxième chapitre est consacré à l’étude générale des portails captifs
ainsi que l’étude technique de la solution choisie, et le troisième détaille la mise en œuvre pratique
et technique de notre solution.
1
Chapitre 1
Présentation du projet et
Spécification des besoins :
Plan
1 Présentation de l’organisme d’accueil : . . . . . . . . . . . . . . . . . . . 3
4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Chapitre 1. Présentation du projet et Spécification des besoins :
Introduction
TOPNET est une entreprise tunisienne qui offre l’accès internet en Tunisie au grand public
ainsi qu’au marché professionnel et ceci est garanti par un réseau d’agence commerciale pareillement
via un réseau possédant plusieurs distributeurs et un réseau de vente en ligne .
• la permission de mise en place des serveurs à configuration personnalisée en plus des différentes
services et options tels que : pack sécurité, datacenter, cloud, parrainage etc . . . ;
• un bilan professionnel qui indique clairement les objectifs annoncés dans l’introduction et en
particulier ceux qui n’ont pu être atteints. Il présente et synthétise les conclusions partielles ;
3
Chapitre 1. Présentation du projet et Spécification des besoins :
Notre étude est réalisée dans le cadre d’un stage de fin d’étude en administration de réseau
informatique et services au sein de l’entreprise TOPNET. Elle consiste à dégager une solution de
portail captif Pfsense dans le but de sécuriser le réseau informatique de l’organisme et pour proposer
aux invités un sondage, une publicité, ou pour mettre en avant les promotions en cours .
Pour permettre aux usagers de profiter d’une connectivité à internet dans son sièges et
agences, TOPNET décide de mettre en place un service d’accès WiFi gratuit pour les invités afin
d’améliorer leur confort dans l’agence d’où la nécessité de l’utilisation du portail captif comme une
solution pour des buts de marketing ( proposer des sondages une publicité, ou pour mettre en avant
les promotions en cours.. ) et principalement pour la sécurité du réseau que l’accès libre ne le garantie
pas.
Le projet consiste à implémenter une architecture réseau basée sur :
• Un ou plusieurs sites centraux pour la gestion des points d’accès et la concentration du trafic
(Wireless LAN Controllers)
• Un système d’authentification avec portail captif qui sera contrôlée par un administrateur
réseau dont ses fondamentales exigences sont :
— La solution fournie doit gérer les connexions des utilisateurs via différents terminaux
(Smartphone, tablette, ordinateur portable. . . ), en effet :
Un utilisateur se connecte autant de fois qu’il veut, mais la durée d’une connexion ne doit
pas dépasser 30 mn.
Elle doit assurer au moins cent (100) connexions à la fois avec un débit minimal de 4
Mbps.
— Cette solution doit être capable d’identifier chaque visiteur venant se connecter à son
réseau sans fil, d’enregistrer et de stocker ses données de connexion (compte de connexion,
Numéro de téléphone, adresse IP Publique, dates et heure , et durées des communications)
4
Chapitre 1. Présentation du projet et Spécification des besoins :
pour une durée d’un an. Cette obligation se traduit par la mise en place d’un système
d’archivage et de sauvegarde des fichiers journaux (logs).
Le service proposé, devra permettre à toute personne équipée d’un appareil mobile (Smartphone,
tablette, ordinateur portable. . . ) d’accéder à Internet via un réseau sans fil. La prestation demandée
comprend :
• Un service de données permettant l’accès à internet avec un débit moyen par utilisateur exigé.
• La Couverture d’une zone urbaine par le service internet doit être assurée par la technologie
WiFi Outdoor d’où :
o La fourniture des équipements nécessaires (routeur, points d’accès, solution de stockage des
logs, etc.)
Dans cette partie, nous allons énumérer les besoins auxquels doit répondre à la topologies
pour sécuriser le réseau de l’entreprise.
Un portail captif est une application qui permet de contrôler l’authentification des utilisateurs
dans un réseau local qui souhaitent d’accéder à un réseau externe ( INTERNET). Quand un
utilisateur cherche à accéder à Internet pour la première fois, le portail captif l’impose de s’authentifier
pour recevoir son accès à l’aide d’une page web enregistrer localement sur le portail captif via un
serveur HTTP. Dès que l’utilisateur est authentifié, il utiliser son accès Internet pour une durée
déterminée par l’administrateur et à la fin de cette durée l’utilisateur va redemander ses identifiants
de connexions pour une autre session. Le but de l’implémentation de ce système est la limitation
des intrusions dans le réseau de l’entreprise. [3]
5
Chapitre 1. Présentation du projet et Spécification des besoins :
L’authentification est l’opération par laquelle le destinataire et /ou l’émetteur d’un message
s’assure de l’identité de son interlocuteur. l’authentification est une phases cruciale pour la sécurisation
de la communication. Les utilisateurs doivent pouvoir prouver leur identité à leurs partenaires de
communication et doivent également pouvoir vérifier l’identité des autres utilisateurs. L’authentification
de l’identité sur un réseau est une opération complexe, car les parties qui communiquent ne se
rencontrent pas physiquement lors de la communication. Un utilisateur malveillant peut ainsi intercepter
des messages ou emprunter l’identité d’une autre personne ou entité.
Le réseau informatique des entreprises est une entité importante qui offre des services diversifiés
et contient un nombre très grand d’équipements de type différent. Donc, pour mieux sécuriser ce
réseau, on a besoin d’utiliser des outils et mécanisme de filtrage de réseau comme les firewalls pour
limiter l’accès à des certains équipements. [4]
1.4 Conclusion
Dans ce chapitre nous avons présenté l’entreprise d’accueil ensuite nous avons procédé par
établir une étude du projet et une description sur notre solution ainsi que la spécification des besoins
de l’entreprise. Dans le prochain chapitre, nous allons présenter l’étude préalable des différentes
solutions à implémenter dans ta topologie .
6
Chapitre 2
Plan
1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6 Définition de PfSense : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Chapitre 2. Géneralités sur les portails captifs
Introduction
Aprés définir les besoins et le contexte du système .Il s’agit de choisir les meilleures solutions
dans le réseau de l’entreprise, les fonctionnalités les plus pertinentes et les différents mécanismes de
sécurité valables qu’on peut implémenter dans le réseau de l’organisme. Enplus, dans ce chapitre
nous allons préciser tous les besoins rigoureux pour sécuriser le réseau passant ensuite à l’étude
primitifs des solutions de sécurité offertes. Nous passons par la suite à l’étude de PFsense et ses
principaux services offertes.
2.1 Définition
Un portail captif est une application qui permet de gérer l’authentification des utilisateurs
d’un réseau local qui souhaitent accéder à un réseau externe (généralement Internet). Il oblige les
utilisateurs du réseau local à s’authentifier avant d’accéder au réseau externe. Lorsqu’un utilisateur
cherche à accéder à Internet pour la première fois, le portail capte sa demande de connexion grâce
à un routage interne et lui propose de s’identifier afin de pouvoir recevoir son accès. Cette demande
d’authentification se fait via une page web stockée localement sur le portail captif grâce au serveur
HTTP. Ceci permet à tout ordinateur équipé d’un navigateur web et d’un accès Wifi de se voir
proposer un accès à Internet.
8
Chapitre 2. Géneralités sur les portails captifs
Ce système offre donc une sécurité du réseau mis à disposition, il permet de respecter la
politique de filtrage web de l’entreprise grâce à un module proxy et permet aussi grâce à un firewall
intégré d’interdire l’accès aux protocoles souhaités.[4]
Le client se connecte au réseau par l’intermédiaire d’une connexion filaire ou au point d’accès
sans fil pour du wifi. Ensuite un serveur DHCP lui fournit une adresse IP ainsi que les paramètres de
la configuration du réseau. A ce moment-là, le client a juste accès au réseau entI lui et la passerelle,
cette dernière lui interdisant, pour l’instant, l’accès au reste du réseau. Lorsque le client va effectuer
sa première requête de type web en HTTP ou HTTPS, la passerelle le redirige vers une page web
d’authentification qui lui permet de s’authentifier grâce à un login et un mot de passe. Cette page
est cryptée à l’aide du protocole SSL pour sécuriser le transfert du login et du mot de passe. Le
système d’authentification va alors contacter une base de données contenant la liste des utilisateurs
autorisés à accéder au réseau.[5]
9
Chapitre 2. Géneralités sur les portails captifs
Enfin le système d’authentification indique, plus ou moins directement selon les portails
captifs, à la passerelle que le couple MAC/IP du client est authentifié sur le réseau. Finalement le
client est redirigé vers la page Web qu’il a demandé initialement ; le réseau derrière la passerelle lui
est dorénavant accessible. Le portail captif, grâce à divers mécanismes comme une fenêtre pop- up
sur le client rafraîchie à intervalles réguliers ou des requêtes ping vers le client, est en mesure de
savoir si l’utilisateur est toujours connecté au réseau. Au bout d’un délai d’absence sur le réseau, le
portail captif va couper l’accès à cet utilisateur.
2.3.1 ALCAZAR
2.3.2 ZeroShell
ZeroShell est une distribution Linux conçue pour mettre en place une sécurité globale au
sein d’un réseau (Pare-Feu, VPN, portail captif...). Son installation est simple via une distribution
dédiée. Elle présente une interface de gestion web simple d’utilisation qui permet entre autres de
sauvegarder la configuration du portail captif ou de personnaliser les pages de connexion .
Comme les deux autres portails la page d’authentification est sécurisée et la connexion se fait
via un couple utilisateur/mot de passe. On retrouve assez peu de documentation pour la gestion du
système. Son utilisation reste identique aux autres solutions présentées.
10
Chapitre 2. Géneralités sur les portails captifs
2.3.3 ChilliSpot
ChilliSpot est un applicatif désigné pour la gestion de l’authentification sur les réseaux, son
installation est assez simple via un package applicatif accessible sur les distributions Red Hat et
Fedora. La sauvegarde de la configuration est disponible mais elle implique de copier les fichiers de
configuration et donc de les connaître. La page de connexion est disponible en HTTPS à condition
d’avoir configuré le serveur web (Apache) au préalable en écoute sur le port 443.
On retrouve une documentation complète et une communauté assez active, mais le projet est
en abaissement, la dernière version stable date d’octobre 2006 et le projet est interrompu depuis le
départ du développeur principal. L’utilisation est la même que les autres solutions proposées, page
de connexion avec champs utilisateur et mot de passe.
2.3.4 PFsense
PFsense est une distribution FreeBSD développée en 2004. L’objectif de départ est d’assurer
les fonctions de pare-feu et de routeur mais l’engouement généré par cet applicatif lui a permis
d’étendre ses fonctionnalités et présente d’autres fonctions de portail captif, serveur proxy, DHCP
... Son installation se fait aisément par une distribution dédiée et toutes les configurations peuvent
se faire soit en ligne de commande (SSH) ou via l’interface web (HTTPS). La restauration de
configuration est disponible à travers l’interface web et permet de générer un simple fichier d’une
taille acceptable.
Le portail garantit une évolution stable grâce à des mises à jour quotidienne dont l’installation
est gérée automatiquement dans une partie du panneau d’administration. Cette solution assure une
authentification sécurisée via le protocole HTTPS et un couple utilisateur / mot de passe.
La documentation est très complète et disponible sur Internet, un support commercial est
désormais présent en cas de gros problèmes. PFsense dispose aussi d’une communauté très résolutif.
PFsense assure une compatibilité multi-plateformes, une personnalisation complète des pages disponibles
aux utilisateurs ainsi qu’une accessibilité d’utilisation grâce à une page de connexion simple : deux
champs (utilisateur / mot de passe).[6]
11
Chapitre 2. Géneralités sur les portails captifs
Dans l’étude comparative des solutions nous avons dégagé les critères importants que doivent
tenir compte les différentes solutions :
• Sécurité des échanges lors de l’authentification : afin d’éviter la récupération de mot de passe
sur le réseau ;
• Simplicité d’utilisation : pour permettre à tous les visiteurs de se connecter au réseau Wi-Fi ;
• Pérennité de la solution : pour pallier les failles de sécurité et augmenter les fonctionnalités de
la solution via des mises à jour ;
Personnalisation ++ ++ + ++
Facilité d’utilisationn + ++ ++ ++
12
Chapitre 2. Géneralités sur les portails captifs
Sauvegarde et ++ ++ + +
restauration de
configuration
Pérennité de la solution ++ ++ + -
Bien que nous n’ayons pas mis en pratique toutes ces solutions pour les comparer, l’étude
théorique permet de retenir les deux premières solutions à savoir PFsense et ALCASAR car elles
répondent toutes deux à nos besoins : solutions libres, peuvent s’installer sur un serveur comme
sur un poste de travail, authentification des utilisateurs par login et mot de passe, contrôle de
la bande passante, facilité d’administration, d’installation et de configuration, facilité d’utilisation,
documentation très détaillée et disponible, disponibilité de mises à jour,etc.
Les deux solutions répondent tout à fait au cas étudié mais ALCASAR s’installe uniquement
via une distribution Mandriva. Aussi ALCASAR s’installe via un script automatisé, par contre
PFsense s’installe via une distribution dédiée ; ce qui rend impératif le choix de PFsense. De plus
PFsense présente une interface plus conviviale et une page principale en tableau de bord où l’on
retrouve toutes les informations essentielles et que l’on peut modifier en fonction des besoins. Ce
produit présente aussi une plus grande assurance car la communauté des utilisateurs est très active.
Une fois qu’on choisi le firewall Pfsense comme portail captif et le serveurRADIUS comme
serveur d’authentification de notre solution. nous passons par la suite à l’étude de PFsense et ses
principaux services offertes.
Développé par Chris Buechler et Scott UlIrich, PFsense ou « Packet Filter Sense » est un
applicatif qui fait office de routeur/firewall open source basé sur le système d’exploitation FreeBSD
et Monowall. Il est une reprise du projet Monowall auquel il rajoute ses propres fonctionnalités.
PFsense est basé sur PF (packet filter), comme iptables sur GNU/Linux et il est réputé pour sa
13
Chapitre 2. Géneralités sur les portails captifs
fiabilité [4]. C’est une distribution dédiée qui peut être installée sur un simple poste de travail, un
serveur ou même sur un boîtier en version embarquée.
Ce qui séduit chez PFsense est sa facilité d’installation et de configuration des outils d’administration
réseau. En effet, après une installation en mode console, il s’administre ensuite simplement depuis
une interface web et gère nativement les VLAN (802.1q).
pfSense peut fournir aux clients une variété de services pour améliorer leur expérience de
différentes manières. Plusieurs d’entre elles sont complexes et justifient leurs propres sections de la
documentation, tandis que d’autres sont plus simples à configurer.[9]
2.7.1.1 DHCP :
Ce service est nécessaire dans notre solution à fin de fournir des adresses IP pour les interfaces
LAN et d’autres interfaces facultatifs.
2.7.1.2 DNS :
DNS, ou Domain Name System, est le mécanisme par lequel un périphérique réseau convertit
un nom tel que www.TOPNET.com en une adresse IP telle que 198.50.100.91, ou inversement. Les
clients doivent disposer d’un DNS fonctionnel s’ils veulent atteindre d’autres périphériques, tels que
des serveurs, avec leur nom d’hôte ou leur nom de domaine complet.
14
Chapitre 2. Géneralités sur les portails captifs
Ces rubriques traitent de l’utilisation de pfSense en tant que résolveur ou transitaire DNS de
mise en cache, qui gère les demandes DNS provenant de clients locaux. Lorsqu’il agit en tant que
résolveur ou transitaire, pfSense exécute une résolution DNS ou transmet des requêtes à un serveur
de transfert DNS en amont.
D’où la nécessité de l’utilisation d’au moins un serveur DNS ( résolveur ou transitaire ) pour
que les clients peuvent accédé aisément à l’internet.
L’équilibrage de la charge entrante est utile pour prendre en charge plusieurs serveurs, mais
apparaît en externe en tant que système unique. Cela permet de répartir la charge d’un site Web
sur plusieurs serveurs physiques, de manière semi-intelligente, en reconnaissant la défaillance d’un
serveur, etc. Mais, il n’est pas utiles dans notre cas.
pfSense propose également plusieurs services non couverts dans leurs propres sections de la
documentation.
Le démon NTP (ntpd), permet à pfSense de jouer le rôle de serveur Network Time Protocol
pour un réseau et de synchroniser l’horloge avec les serveurs NTP distants en tant que client NTP.
c’est un service facultatif par rapport à notre besoins .
2.7.2.2 SNMP :
UPnP et NAT-PMP permettent aux périphériques et aux programmes qui les prennent en
charge d’ajouter automatiquement des redirection de port dynamique et des entrées de pare-feu.
Les utilisations les plus courantes concernent les systèmes de jeu (XBox, Playstation, etc.) et les
15
Chapitre 2. Géneralités sur les portails captifs
programmes BitTorrent tels que uTorrent, qui reposent tous deux sur l’autorisation de connexions
entrantes vers un service local.
2.7.2.4 Logs :
Les Logs sur pfSense contiennent les événements récents et les messages des démons. Ces
messages peuvent être stockés localement sur une base limitée ou transférés vers un serveur de
journalisation central pour un stockage à long terme, de meilleurs rapports, des alertes, etc. C’est
un service d’enregistrement des données de navigation des invités qui est indiqué dans le cahier des
charges .
Le proxy IGMP, comme son nom l’indique, proxy le trafic IGMP entre les segments de réseau.
Les interfaces actuellement définies sont répertoriées sur la page principale et les entrées peuvent
être gérées à partir de celle-ci . Sont utilisation n’est pas nécessaire dans notre solution.
Surveillance du système pfSense fournit une mise d’informations sur l’état du pare-feu, ses
services, le trafic traversant le pare-feu et les données de journal, et il est par défaut activé au niveau
de PfSense.
Si l’authentification est utilisée, elle peut être effectuée à l’aide de la gestion intégrée des
utilisateurs de pfSense ou d’un serveur d’authentification externe tel qu’un serveur RADIUS.
Étant donné que l’authentification des utilisateurs du portail captif avec FreeRADIUS répond
à notre besoin , on l’adopte pour notre solution pour assurer :
16
Chapitre 2. Géneralités sur les portails captifs
— Réauthentifiez les utilisateurs toutes les minutes : Activez cette option sur le CP afin que les
utilisateurs soient déconnectés si leur temps ou leur trafic est atteint.
— Il est possible de donner à un utilisateur une certaine quantité de trafic (le chargement et le
téléchargement sont résumés) : ce là nous fourni un gain au niveau de la bande passante.
— FreeRADIUS et Captive Portal peuvent être utilisés pour authentifier les utilisateurs par nom
d’utilisateur et mot de passe. Il est possible qu’un hôte du portail captif ne soit authentifié
qu’avec une adresse MAC. Cela peut être réalisé avec Plain-MAC-Auth activé ou avec 802.1X.
Or que ce services n’est pas sécurisé dans notre cas .
— Quantité de temps : Il est possible de donner à un utilisateur donné un temps d’utilisation. Cela
peut être fait dans un délai donné. Par exemple, un utilisateur devrait pouvoir se connecter
à Internet au maximum 60 minutes par jour, mais il peut utiliser 20 minutes le matin, 30
minutes le midi et les 10 minutes restantes l’après-midi. Si l’utilisateur le souhaite, il peut
utiliser toutes les 60 minutes.
Les packages étendent les fonctionnalités du logiciel PfSense. Ils fournissent des services et
des utilitaires supplémentaires introuvables dans l’installation de base. Celles-ci sont entièrement
facultatives et ne sont pas nécessaires pour la plupart des déploiements. Par contre et en liaison avec
nos besoins, on a trouvé que le package Squid et SquidGuard sont nécessaire pour notre solution.
2.7.5.1 Squid :
Squid est un serveur mandataire, en anglais un proxy, entièrement libre et très performant.
Squid est capable de gérer les protocoles FTP, HTTP, HTTPS et Gopher. Il est généralement utilisé
pour des fonctions de filtrage d’URL ou en tant que tampon. Les pages Internet sont stockées
localement ce qui évite d’aller les recharger plusieurs fois et permet d’économiser la bande passante
Internet.
17
Chapitre 2. Géneralités sur les portails captifs
2.7.5.2 SquidGuard :
La mise en place d’un proxy transparent Squid avec filtrage d’URL SquidGuard permettant
de filtrer les accès à Internet de l’ensemble des utilisateurs connectés au réseau interne, de bloquer
l’accès aux sites à caractère indésirables ou offensant.[10]
— Sans authentification (No authentification) : les clients sont libres ; ils verront le portail mais il
ne leur sera pas demandé de s’authentifier, or que cette solution ne répond pas à notre besoin
( sécurité ) donc elle est rejeté.
— Authentification via un fichier local (Local User manager) : les paramètres des comptes utilisateur
sont stockés dans une base de données locale au format XML .
Pour ce projet nous avons retenu l’authentification RADIUS car non seulement cela permet de gérer
un grand nombre d’utilisateurs, mais aussi pour des raisons de sécurité.
A ce stade, le portail est déjà accessible, c’est-à-dire que pour un utilisateur qui se connecte
au réseau local et à partir de son navigateur, demande une page web, il sera redirigé vers la page
captive qui lui demandera de s’authentifier avant d’avoir accès à la page demandée initialement.
18
Chapitre 2. Géneralités sur les portails captifs
PfSense intègre un paquet radius libre (FreeRadius) couplé avec une base de données pour
stocker les informations des utilisateurs. Mais on peut aussi utiliser une base de données externe
pour y stocker ses données d’utilisateurs. De même, on peut utiliser un serveur RADIUS distant
pour authentifier les utilisateurs. Ainsi le CNFP utilise une base de données MYSQL sur un autre
serveur pour enregistrer ses utilisateurs. Dans ce cas nous pouvons soit installer un serveur RADIUS
sur le serveur MySQL pour stocker les données d’identification dam la base MySQL, soit installer le
serveur RADIUS sur le serveur PFsense pour y stocker localement les données d’identification.
Dans tous les cas le serveur d’authentification (RADIUS) sera l’intermédiaire entre le portail
captif et la base de données (locale ou distante). Pour la phase de test, nous avons exploité le second
cas c’est-à-dire installer un serveur embarqué FreeRadius sur le serveur PFsense. [11]
2.9 Conclusion
Dans ce chapitre, nous avons choisi le serveur Pfsense comme portail captif et le serveur
RADIUS comme serveur d’authentification.En plus, nous avons détaillé les services et les fonctionnalités
de Pfsense ainsi que les les matériels nécessaire pour son implémentation. Nous passons par la suite
à l’étude technique de notre solution.
19
Chapitre 3
Réalisation
Plan
1 Architecture proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Introduction
Dans ce chapitre nous allons implémenter les différentes technologies et services décris dans
les chapitres précèdents . Ce chapitre fera l’objet d’une présentation des étapes les plus importantes
réalisées durant la période du stage.
Afin d’assurer la meilleure couverture WiFi possible au niveau du siège TOPNET, nous
adaptons l’infrastructure déployée à l’établissement et son architecture. Au début, l’installation de
plusieurs répéteur WIFI sont nécessaires afin de couvrir des zones de plus grande densité, d’où
l’utilisation de 3 switchs niveau 2 qui sont connecté à quelques machines clients "firefox" pour le
test.
Pour cette mise en pratique, nous utiliserons le firewall PfSense . C’est un firewall qui va
protéger notre LAN. Le but étant de rendre l’accès à l’internet accessible, tout en le protégeant.
On commence par placer ses composants dans notre maquette GNS3 :
— Un firewall pfSense qui posséde 4 ports, 2 Gigabit pour les interfaces et 2 FastEthernet.
— L’interface OPT1 est lié à une machine virtuelle d’administration ( pour accéder au firewall
via l’interface WEB "GUI" d’où la facilité de la configuration et tester ).
— L’interface OPT2 est lié à une base de donnée (séparé de PfSense) de type MYSQL pour éviter
la charge sur PfSense et pour faire l’inscription via une interface web, en plus parmi les besoins
de Topnet c’est la journalisation des informations des utilisateurs qui sert à la traçabilité en
cas d’un attaque ou intrusion à partir du portail.
21
Chapitre 3. Réalisation
Pour le matériel sur lequel PFsense doit s’installer, on a besoin d’un minimum qui soit
composé d’une machine dotée d’au moins deux cartes réseau et dont les caractéristiques sont :
— Un CPU cadencé à au moins 600 MHZ. Mais dans notre cas nous avons utilisé une machine
virtuelle avec les caractéristiques suivantes :
- 4 Go de disque dur ;
- 1GB de RAM ;
22
Chapitre 3. Réalisation
Notre serveur DHCP est configuré au niveau du serveur Pare-feu « 13 pfSence », nous allons
donc activer et configurer ce service en donnant la plage d’adressage comme le montre les figures
ci-dessous.
NB : Toutes les configurations d’adressage dans ce projet vont être sous le protocole IPV4
(pas d’IPV6).
L’interface WAN est la passerelle par défaut (GATEWAY) vers le réseau internet. Toute les
requêtes destiné hors de ce réseau sera véhiculer a cette point de sortie. Comme la majorité des cas
la passerelle récupère une adresse IP d’après le fournisseur d’internet. Donc notre interface WAN
sera configurée comme un client DHCP.
La configuration d’adressage IP pour ces trois interfaces du firewall (LAN, OPT1, OPT2)
sera être statique avec un serveur DHCP activé.
• Pour l’interface LAN on va utiliser une plage d’adresse 192.168.1.1/24 puis on active le
serveur DHCP avec une plage 192.168.1.100 - 192.168.1.199 pour atteindre jusqu’à 100 clients qui
peuvent se connecté simultanément. En plus, on vérifie le temps par défaut/maximale de Bail, ils
doivent être supérieur à la « Hard Timeout » du portail captif, sinon on provoque la déconnexion
des clients authentifié qui ont déjà des sessions actifs au portail.
23
Chapitre 3. Réalisation
Default lease est configuré sur 2 Heures par défaut. Maximum lease est configuré sur 24
Heures par défaut. Puisque le Hard timeout sur le portail captif va être configuré sur une durée
d’une seul heure alors on laisse les deux champs vide.
• Pour l’interface OPT1 qui est dédié au réseau d’administration, on va utiliser la plage
d’adresse 192.168.2.1/24, puis on active le serveur DHCP avec une seul adresse 192.168.2.2 puisque
on a une seul machine d’administration, mais on peut élargir la plage des adresses si il y a plusieurs
machines d’administration.
• Pour l’interface OPT2 qui est dédié à la liaison de la base de donnée, on va utiliser la plage
d’adresse 192.168.3.1/24, puis on active le serveur DHCP avec une seul adresse aussi 192.168.3.2
puisque on est connecté avec une seul BD pour faciliter la configuration, mais on peut faire une
configuration statique au lieu de DHCP si on plusieurs BD ou des autres serveurs.
Une fois les interfaces sont tous configurées, une étape de sécurité primordiale est celle
d’appliquer les autorisations d’accès entre les interfaces selon notre besoin.
• Pour l’interface WAN on laisse les deux règles prédéfini ( Block private networks/ Block
bogon networks ), c’est deux règles sont utilisée dans la majorité de firewall ou routeur pour bloquer
l’accès aux réseaux local d’après le réseau internet ( incoming traffic ).
24
Chapitre 3. Réalisation
• Pour l’interface LAN on a mis des règles pour bloquer l’accès aux services d’administration
qui peut provoquer des problèmes de sécurité au niveau du Pare-feu.
Comme indiqué dans les règles on a bloqué l’accès aux ports 80, 443, 22 pour restreindre
l’interface WEB du Pfsense et le service SSH. On a bloqué l’accès à les trois autres interfaces «
OPT1/OPT2/WAN » pour qu’un pirate ne peut pas contourner la restriction d’accès aux services
critiques depuis c’est trois dernier. Et aussi l’accès aux deux réseaux OPT1 et OPT2 pour éviter un
attaque sur le réseau d’administration ou à la base de donnée.
• Pour les deux interfaces OPT1 et OPT2 on créer des règles d’autorisation complète vers
toute les interfaces et les réseaux de Pare-feu puisque les deux sont accessible seulement par l’administrateur
de ce réseau.
Pour authentifié les utilisateurs qui vont se connecté sur le réseau WIFI, on doit utiliser un
portail captif, le rôle de ce dernier et de redirigé les utilisateurs vers un page web d’authentification
lorsque ils demandent n’importe qu’elle page web.
Le Pfsense propose une solution de portail captif basé sur un serveur Radius préinstallé avec
des différentes fonctionnalités et options, parmi ses options, il propose trois méthodes d’authentification :
• Authentification basé sur adresse MAC.
• « None method» sans authentification, une page web affiché pour l’utilisateur, il valide en
cliquant sur submit.
25
Chapitre 3. Réalisation
Le portail propose le serveur local de Pfsense comme backend lié à une interface Web pour
authentifier les utilisateurs.
Les comptes d’utilisateurs sont créés par l’administrateur du firewall manuellement. Alors
cette solution manque la possibilité de création des comptes par utilisateurs sur le portail.
Pour répondre à la besoin de notre projet on doit changer le serveur d’authentification proposé
par le portail vers un serveur qui propose la possibilité d’authentifié les utilisateurs à partir d’une
base de donnée pour qu’on puisse développer une solution d’enregistrement des utilisateurs à travers
l’interface web du portail captif.
Notre choix était le serveur FreeRadius comme une backend du portail captif.
26
Chapitre 3. Réalisation
FreeRadius est un serveur Radius libre offre une alternative aux autres versions d’entreprise
Radius, et est un des serveurs Radius les plus modulaires et riches en fonctionnalités disponibles.
L’installer de FreeRadius est très simple sous Pfsense, il suffit d’aller au « Package Manager
» à partir de l’interface WEB et l’installer.
Par la suite en passe à la configuration en commençant par la création des trois interfaces
principale de Radius :
Et comment une dernière étape on a besoin de créer un client NAS, le rôle de ce dernier et
de acheminer les demandes des clients au serveur et fournir des réponses.
27
Chapitre 3. Réalisation
On a configuré le client NAS sur l’interface 192.168.1.1 « la point du contact entre les
utilisateurs et le Pfsense »
28
Chapitre 3. Réalisation
Dans cette partie nous allons faire la configuration nécessaires pour lier notre serveur d’authentification
à la base de données qu’on va l’utiliser.
En activant le portail captif on peut voir plusieurs options quand peut ajouter :
• Le Hard timeout est le temps maximal dans lequel les utilisateurs restent connectés, après
cette durée ils seront déconnectés, avec la possibilité de reauthentifié. Le portail mentionne que le
paramètre « Hard timeout » doit être inférieure à la Bail par défaut/maximum du serveur DHCP,
on a choisi 60 minutes comme une durée maximale.
29
Chapitre 3. Réalisation
• Idle timeout est le temps maximal lequel les utilisateurs peuvent rester inactive, après cette
durée ils seront déconnectés, avec la possibilité de reauthentifié. Cette option est efficace pour éviter
que les utilisateurs inactive sature la portail sans utilisé le service internet. On a choisi une durée de
15 minutes.
C’est deux autres options sert à limiter la bande passante pour chaque utilisateur et garantir
un débit minimale pour chaque utilisateur du portail. Aussi c’est deux options répond au besoin de
notre projet de garantir un débit minimale de 4Mbit/s pour chaque utilisateur.
Le portail nous donne aussi la possibilité d’utilisé le protocole HTTPS sur l’interface WEB
d’authentification pour éviter l’interception les identifiants, cette option est nécessaire pour garantir
l’un de notre besoin principale du projet la sécurité de l’utilisateur et le portail.
30
Chapitre 3. Réalisation
Pour utiliser le serveur FreeRadius comme une backend d’authentification on doit ajouter un
nouveau serveur d’authentification au niveau Pfsense pour l’utiliser au lieu du serveur local de ce
dernier.
Le protocole PAP transmet les mots de passe d’une façon « obsfucated », très facile à décrypté,
mais au contraire si on veut stocker les mots de passe dans une base de données ce protocole donnera
la possibilité de stocker les mots de passe dans les formes de hachage la plus robuste dans le monde.
Les autres protocoles (CHAP, MSCHAPv1, MSCHAPv2) utilisent des méthodes de hachage
pour garantir l’identité des clients lors de transmission sur le canal réseau, mais au contraire si on
est dans le cas d’utilisation d’une BD pour l’authentification, les mots de passe doit être stocké dans
la base en claire.
Donc on est dans un problématique, on doit transmettre les donnée d’authentification crypté
éviter que les donnée être compromis, ainsi qu’on doit stocker les mots de passe dans la base d’une
manière haché pour éviter l’exposition de donnée des clients dans un cas d’intrusion.
31
Chapitre 3. Réalisation
Pour mieux comprendre le scénario on a fait un diagramme qui décrit d’authentification d’un
utilisateur.
Comme indiqué dans le diagramme l’échange des informations d’authentification entre l’utilisateur
et le serveur WEB se fait à partir de protocole HTTPS. D’autre part, les échanges entre les différentes
services ( Serveur Web, NAS-Client, Serveur d’authentification ) se fait localement dans Pfsense et
non exposé sur le réseau.
3.5.5 Conclusion
On peut utiliser le protocole PAP afin de stocker les mots de passe en forme haché dans la
base et sans risque que les données soient être compromis sur le réseau.
Figure 3.15: Capture du trafic au cours d’authentification ( Le portail utilise le port 8003 )
32
Chapitre 3. Réalisation
Après avoir terminé les étapes de mise en place de l’architecture et terminer les configurations
de réseau et du portail captif, on nous reste que configuré la base donnée pour être utilisé pour
l’authentification et la journalisation. On a utilisé une VM «Virtual Machine » préconfiguré de
Bitnami basé sur la distribution Linux Debian, qui contient les packages nécessaires au fonctionnement
normale d’une machine serveur ainsi que le serveur MYSQL. Tout d’abord on va autoriser l’accès à
distance via SSH pour qu’elle soit être configurable depuis le réseau d’administration en supprimant
le fichier de blocage et réactivant le service. Puis on va autoriser l’accès au serveur MYSQL pour
qu’il soit accessible par le serveur Radius et l’administrateur en ajoutant une exception au Pare-feu
du système et en autorisant l’accès à distance dans les fichiers de configuration de la BD. Par la suite
on va créer une base de données radius et un compte utilisateur lui associé. Et comme une dernière
étape importé le fichier « schema.sql » à la base avant qu’elle sera opérationnel avec le serveur
FreeRadius, ce fichier contient les tables qui sont utilisés par les différentes services de Radius «
authentification, accounting, statuts ».
33
Chapitre 3. Réalisation
Pour l’utilisateur « 55000004 » par exemple on peut voir plusieurs informations sur comme la
date de début et fin de la session et l’adresse IP local associer à cet client « colonne framedipaddress
». Donc un cas d’une intrusion à partir de ce réseau on peut combiner le log de Pare-feu avec le log
enregistré dans cette table pour déterminer l’utilisateur responsable à cette action.
• radpostauth : est la table qui log l’historique des opérations d’authentification des utilisateurs
« authentification avec succès / échoué ».
Les étapes de mise en place et configuration des serveurs est terminer, maintenant on va
passer à la dernière étape fondamentale du projet : la conception et développement de la solution
d’authentification Web.
34
Chapitre 3. Réalisation
Pour c’est besoin on a choisi de développer une nouvel solution qui prend en charge l’ajout
de l’option d’inscription et renouveler le design du portail captif.
Pour que les utilisateurs puissent s’authentifié sur le portail captif, ils doivent s’enregistrer
tout d’abord pour prouver leurs identités.
Mais pour le cas d’un portail captif, des différentes conditions s’appliquent.
35
Chapitre 3. Réalisation
Selon les besoins spécifié on peut proposer ces différentes méthodes d’inscription :
• Inscription par API « Google/Facebook/Twitter ...»
• Inscription normale par email
• Inscription par Numéro Mobile
La solution d’inscription par API facilite la phase d’authentification énormément pour les utilisateurs
et elle offre aussi un aspect de marketing en retournant des adresses email, mais théoriquement cette
solution n’est pas réalisable puisque l’authentification par API se passe au niveau de client Web
de l’utilisateur suite à la restriction d’accès internet. L’inscription par email offre aussi l’aspect de
marketing, mais comme l’inscription par API elle est non réalisable puisque l’utilisateur ne peut pas
vérifier son email suite à la restriction d’accès internet. Les deux dernières méthodes aussi n’offre
pas un aspect de sécurité, un email ou identifiant d’un API n’offre pas de la traçabilité. La meilleure
solution pour solution qui répond à tous nos besoins est l’inscription par Numéro Mobile, cette
solution offre la traçabilité, la méthode d’inscription est très simple, aucune connexion à internet
requis et la vérification se fait à travers un code de confirmation sur un SMS.
36
Chapitre 3. Réalisation
Selon l’étude des choix de solution pour l’enregistrement, on a pris l’inscription par Numéro
Mobile comme une meilleure solution qui répond à tous les besoins de notre projet.
La création et validation d’un compte utilisateur à travers son Numéro Mobile se fait dans
ce scénario « scénario d’exécution normale sans exceptions » :
37
Chapitre 3. Réalisation
Description :
1. Demande d’inscription par l’utilisateur « Numéro de Tel / Mot de passe ».
2. Insertion de « Numéro de Tel / Mot de passe » + Token à la BD.
3. Demande d’envoyer de SMS contenant le Token au « Numéro de Tel ».
4. Réception du SMS contenant le Token de validation sur le terminal mobile de l’utilisateur.
38
Chapitre 3. Réalisation
Pour la front-end on a choisi de refaire un nouveau design plus riche et ergonomique, compatible
avec tous les types des terminal mobile « Notebooks, smartphones, tablettes . . . ».
Figure 3.23: Compatibilité de l’interface développé avec toute les types des terminaux
39
Chapitre 3. Réalisation
Pour la back-end on va développer un code PHP pour acheminer les trois acteurs principaux
( redaction non terminer )
Pour le serveur OTP «One Time Password» on peut loueur un serveur d’après un fournisseur
de service de messagerie en ligne ou un opérateur, on peut aussi utiliser une API en ligne qui fournit
ce type service avec une facturation par nombre des SMS envoyé.
Dans notre projet on va utiliser la deuxième solution, les API en ligne offre une simplicité
d’intégration de la solution dans des nombreux type des Back-end, et dans notre cas nous allons
l’intégré au niveau du Back-end PHP de notre solution.
A cette phase, on commencer à enchainé toute les différentes composantes pour donner la
solution finale tout le long du projet.
40
Chapitre 3. Réalisation
Pour la Front-end on a créé une interface une interface unifié pour l’authentification et
l’inscription, afin de faciliter la tâche « Inscri/Auth » pour l’utilisateur pour obtenir l’interface
à la figure 3.24.
41
Chapitre 3. Réalisation
Notre back-end tourne sur un serveur PHP 7, pour quelle peut se communiquer avec la BD
de type MYSQL, on doit installer un driver (Mysqli ou PDO).
On a choisi de d’installer l’extension PDO puisque elle offre les requetés préparé qui nous
aide à éviter les Injection SQL au niveau de la base.
Aussi, on a besoin d’installer la bibliothèque de l’API quand va utiliser pour envoyer des
SMS de vérification. On a choisi une API hébergé en ligne, pour sa simplicité d’implementation, et
diversité des bibliothèques qui offre « Java, PHP, NodeJS, Python, .NET . . . ». Pour note back-end,
la bibliothèque est installable depuis COMPOSER et il suffit de l’appelé depuis le code PHP pour
qu’elle soit être opérationnel.
42
Chapitre 3. Réalisation
Après que les besoins du back-end sont satisfaits on commence par création de table nécessaire
pour la partie d’inscription.
La structure de table :
• mobile-number : Numéro mobile d’utilisateur.
• verification-code : Token de vérification généré et envoyé.
• verified : la statue de vérification « 1 » si le numéro est vérifié et « 0 » si le numéro n’est
pas encore vérifié.
• password : mot de passe haché en SHA256.
• Timecode : la date d’envoi du « verification-code », utilisé pour éviter l’envoi successive du
Token.
Et une fois la vérification est términée, le back-end s’intervient une autre fois pour renvoyer
le numéro vérifié à la table d’authentification de pfsense :
Description :
Dans cette fonction on a importé la bibliothèque du l’API, si l’importation et l’envoie est
terminer par succès alors la fonction va retourner la valeur « TRUE » sinon en cas d’erreur ou
d’exception elle va retourner « FALSE ».
43
Chapitre 3. Réalisation
44
Chapitre 3. Réalisation
• La fonction verif () : est la fonction principale qui s’exécute à chaque fois quand la back-end
reçoive une demande d’après la front-end afin d’exécuter un série de test et de validation sur les entrés
de l’utilisateur et déterminer la prochaine fonction à exécuter.
• La fonction register () : est la fonction qui s’exécute si l’utilisateur demande l’enregistrement,
cette fonction vérifie premièrement si l’utilisateur est enregistrer sur la BD sinon il retour un
message qui indique que le numéro est enregistré ». La deuxième étape elle vérifie si l’utilisateur
est déjà enregistrer et non validé, alors elle retour un message qui offre la possible d’envoyer un
code de confirmation « en utilisant la fonction resendToken () ». Sinon en troisième étape elle insert
l’utilisateur à la base avec une Token généré et envoyé aussi à l’utilisateur en par le script d’API
SMS.
• La fonction resendToken () : cette fonction est utilisé si l’utilisateur demande le renvoie de
Token.
• La fonction submit () : cette fonction est appelé pour insérer l’utilisateur à la table
d’authentification du serveur FreeRadius par les deux fonctions « register() et resendToken() »
si l’utilisateur à terminer l’étape de vérification du numéro mobile.
45
Chapitre 3. Réalisation
Conclusion
Ce chapitre fait l’objet d’une démarche structurée pour aboutir à un portail captif fiable.
Ainsi que le choix des outils choisis se base sur les critères de l’extensibilité, l’externalisation et de
la sureté. En premier lieu, nous avons mise en place de l’architecture réseaux. En second lieu nous
avons déployé les services proposés et augmenté le niveau de sécurité de notre architecture, ainsi
que nous avons utilisé plusieurs méthodes pour authentifier les utilisateurs de notre infrastructure
et services. Dans le chapitre suivant nous allons faire tous les tests nécessaires pour valider le bon
fonctionnement de tous les services.
46
Conclusion générale
Pour authentifier les utilisateurs de son réseau afin de partager la connexion Internet de façon
sécurisée, TOPNET s’est orientée vers une solution de portail captif.
Après une présentation de l’organisme la d’accueil, la démarche suivie pour cette étude a
permis d’analyser les besoins. Ensuite une étude comparative de portail captif a permis de choisir
une solution à implanter. C’est la solution PfSense a été retenue ainsi que le serveur d’authentification
RADIUS pour sécuriser le réseau. Cet applicatif libre a été ensuite étudié de façon technique et sa
fonction captive a été implantée de façon effective. Nous pensons que le but de ce projet est atteint
car, il nous aura permis de savoir d’abord l’existence de solutions libres de portail captif, ensuite de
mener une étude comparative et de faire enfin l’implémentation de la solution libre PFsense.
Pour finir, l’outil PFsense tel que conçu, propose d’autres services réseau qui peuvent être
mis à profit en fonction des besoins.
47
Bibliographie
[8] (), adresse : https : / / www . osnet . eu / fr / content / tutoriels / d % C3 % A9tail - des -
fonctionnalit%C3%A9s-de-pfsense.
[9] (), adresse : https : / / docs . netgate . com / pfsense / en / latest / services / index . html ?
fbclid=IwAR3Ya5HmHb6szAYzeJcjxiM5OUh- RhPFpTyaRWNchlJfcG6FfLtn3f_TuEg#complex-
services.
48
Annexes
Annexe 1.
Dans cette deuxième annexe, nous allons décrire les étapes d’installation de GNS3 et la
configuration nécessaire .
— Etape 1 : Dans un premier temps, on va télécharger la dernière version du logiciel gns3 depuis
son site officiel.
49
Annexes
— Étape 3 : Ensuite, nous allons choisir les logiciels qu’on doit les installer avec GNS3.
50
Annexes
51
Annexes
Annexe 2.
Dans ce premier annexe, nous allons décrire les étapes d’installation et de le configuration de
PfSense.
Installation de PfSense :
— Etape 1 : Dans un premier temps, il faut télécharger la version ISO de PfSense à partir du son
site offieciel www.pfsense.org .
— Étape 2 : Ensuite, on doit créer une nouvelle machine virtuelle et choisir le système à virtualisé
avec les nécessaires configurations :
-taille de la RAM
-nombre de processeur
52
Annexes
— Étape 3 : Dans cette étape, nous allons configurer les quatre cartes réseaux qu’on va utiliser
pour établir la liaison de notre serveur PfSense dans notre architecture.
53
Annexes
— Étape 4 : Par la suite, il est nécessaire de confirmer que vous voulez réellement installer PfSense
— Étape 5 : Dans cette étape, nous allons affecter les interfaces réseaux : EM0 pour le réseau
WAN, EM1 pour le réseau LAN, EM2 pour le réseau OPT1 et EM3 pour le réseau OPT2.
54
Annexes
— Étape 7 : En dernier lieu, notre serveur PfSense est prêt pour la configuration.
55
Annexes
Configuration du PfSense :
— Étape2 : On a choisi l’interface sur laquelle nous souhaitons activer le serveur DHCP ( La
configuration d’adresse IP (IPV4) sera statique ). Dans notre cas, les interfaces sont "LAN" ,
"OPT1" , "OPT2" .
56
Annexes
Une fois les interfaces sont tous crées, une étape de sécurité primordiale est celle d’appliquer
les autorisations d’accès entre les interfaces selon notre besoin. La figure 4.5 présente la liste
des contrôles d’accès appliqués à l’interface WAN et la figure 4.6 présente la liste des contrôles
de l’interface LAN.
57
Annexes
— Étape 2 : les régles de l’interface LAN sont créer selon les besoins du TOPNET ( Autorisation
du port 443 et 80)
58
Annexes
Annexe 3.
Dans ce troixiéme annexe, nous allons décrire les étapes d’installation de MYSQL server et sa
configuration nécessaire.
— Étape 1 : Puisque le service SSH est bloqué par défaut au niveau de la VM du Bitnami "BD",
on a supprimé le fichier du blocage puis on a réactivé le service.
59
Annexes
60
Annexes
* Création d’une base de donné nommé ’RADIUS’ puis la création d’un compte utilisateur
Radius avec l’association des privilèges
61
Annexes
Annexe 4.
Dans cet annexe, nous allons décrire les étapes d’installation et de le configuration du package
FreeRADIUS.
Installation du FreeRadius :
— Le package freeRadius est installé à partir de gestionnaire des packages. Donc nous allons le
télécharger et l’installer comme suit.
— Installation réussite
62
Annexes
Configuration du FreeRadius :
Pour que freeRadius soit bien fonctionnel, nous allons créer les trois interfaces « Authentification
», « Accounting » et « status » . Ces trois interfaces contiennent la configuration des ports
nécessaires.
63
Annexes
— Configuration du NAS/Clients :
NAS/Client est le système à travers lequel s’effectuer l’authentification. Dans la zone de texte
« Client IP Address » Nous allons taper l’adresse de l’interface LAN du pare-feu car nous
voulons authentifier tous les utilisateurs du réseau.
64
Annexes
Annexe 5.
Dans cet annexe, nous allons décrire les étapes de Intégration de la de FreeRadius avec la Base
de donnée et le portail captif :
— Étape 1 :On récupére le fichier schéma.sql du FreeRadius pour la création des tables.
65
Annexes
— Étape 3 :Lors de l’authentification les informations de l’utilisateur qui demande l’accès serons
récupérés de la base de donnée de type MySql.
66
Annexes
Encore un peu plus bas dans la fenêtre, nous accédons à une rubrique « Authentification« .
C’est dans cette partie qu’il faut choisir le mode d’authentification de nos clients .
67
Annexes
Figure 4.37:
68
PÌl
Rw§ ...An¡ Tyr` TlA Plm Rw§ ...An¡ Tyr` TlA Plm Rw§ ...An¡ Tyr` TlA Plm Rw§
Rw§ ...rWF rK` ¤d ¨ wk§ ºAr ...An¡ Tyr` TlA Plm Rw§ ...An¡ Tyr` TlA Plm
ºAr ...An¡ Tyr` TlA Plm Rw§ ...rWF rK` ¤d ¨ wk§ ºAr ...An¡ Tyr` TlA Plm
Rw§ ...rWF rK` ¤d ¨ wk§ ºAr ...An¡ Tyr` TlA Plm Rw§ ...rWF rK` ¤d ¨ wk§
ºAr ...An¡ Tyr` TlA Plm Rw§ ...rWF rK` ¤d ¨ wk§ ºAr ...An¡ Tyr` TlA Plm
nkm§ ...rWF rK` ¤d ¨ wk§ ºAr ...An¡ Tyr` TlA Plm Rw§ ...rWF rK` ¤d ¨ wk§
...An¡ Tyr` TlA Plm Rw§ Exemple ici A Plm XF¤ ¨ Tyny¯ ¤r Aml tk
Aml Hm E¤A d ºAr : yAf Aml
Résumé
Mettez le resumé en français ici... Mettez le resumé en français ici... Mettez le resumé en français
ici... Mettez le resumé en français ici... Merci de ne pas dépasser les dix lignes. Mettez le resumé
en français ici, merci de ne pas dépasser les dix lignes. Mettez le resumé en français ici, merci de
ne pas dépasser les dix lignes. Mettez le resumé en français ici, merci de ne pas dépasser les dix
lignes. Mettez le resumé en français ici, merci de ne pas dépasser les dix lignes. Mettez le resumé
en français ici, merci de ne pas dépasser les dix lignes. Mettez le resumé en français ici, merci de
ne pas dépasser les dix lignes. Mettez le resumé en français ici, merci de ne pas dépasser les dix
lignes. Mettez le resumé en français ici, merci de ne pas dépasser les dix lignes.
Abstract
Put the English abstract here, put the English abstract here, put the English abstract here, put
the English abstract here, put the English abstract here, put the English abstract here... Please
don’t exceed ten lines, Please don’t exceed ten lines, Please don’t exceed ten lines, Please don’t
exceed ten lines. Put the English abstract here, please don’t exceed ten lines. Put the English
abstract here, please don’t exceed ten lines. Put the English abstract here, please don’t exceed
ten lines. Put the English abstract here, please don’t exceed ten lines. Put the English abstract
here, please don’t exceed ten lines. Put the English abstract here, please don’t exceed ten lines.
Put the English abstract here, please don’t exceed ten lines. Put the English abstract here,
please don’t exceed ten lines.
[email protected] : ¨¤rtk¯ d§rb 71 222 222 : HAf 71 111 111 : Ah Hw - ryb AfR - C® ry h
Rue du Lac Malaren, Les Berges du Lac 1053 Tunis Tél : 71 111 111 Fax : 71 222 222 Email : [email protected]
[email protected] : ¨¤rtk¯ d§rb 71 706 698 : HAf 71 706 164 : Ah TA§C 2080 ¨¤CAb A§r w h 2
2, Abou Raihane Bayrouni 2080 l’Ariana Tél : 71 706 164 Fax : 71 706 698 Email : [email protected]