26
VIVET Jordan Ajouter des modules à pfsense dans un réseau 1 Mise en place d’un pare -feu avec une configuration avancée (Pfsense) Sommaire 1) Introduction..................................................................................................................................... 2 2) Les règles d’accès ............................................................................................................................ 3 1.1) LAN .......................................................................................................................................... 3 2.2) WAN ............................................................................................................................................. 5 3) Filtrage URL ..................................................................................................................................... 5 2.1) Squid et SquidGuard..................................................................................................................... 5 2.2) Configuration squid (proxy server) .............................................................................................. 6 2.3) Configuration SquidGuard (proxy filter http) ............................................................................... 7 3.4) Configuration filtrage https .......................................................................................................... 9 3.5) Tests ........................................................................................................................................... 11 4) Antivirus......................................................................................................................................... 12 3.1) Configuration.............................................................................................................................. 12 3.2) Tests ........................................................................................................................................... 13 4) Equilibrage de charge et Fail over ..................................................................................................... 14 4.1) Explication .................................................................................................................................. 14 4.2) Configuration Load balancing et Fail over.................................................................................. 14 5) Détection d’intrusion..................................................................................................................... 17 4.1) Configuration de Snort ............................................................................................................... 17 4.2) Analyse des paquets bloqué ...................................................................................................... 19 6) Portail captif .................................................................................................................................. 20 6.1) Configuration du portail avec authentification .......................................................................... 20 6.2) Configuration d’une gestion de ticket ........................................................................................ 22 6.2.1) Optimisation de la gestion de ticket voucher ..................................................................... 24

Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

  • Upload
    vandiep

  • View
    249

  • Download
    7

Embed Size (px)

Citation preview

Page 1: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

1

Mise en place d’un pare-feu avec une configuration avancée (Pfsense)

Sommaire

1) Introduction ..................................................................................................................................... 2

2) Les règles d’accès ............................................................................................................................ 3

1.1) LAN .......................................................................................................................................... 3

2.2) WAN ............................................................................................................................................. 5

3) Filtrage URL ..................................................................................................................................... 5

2.1) Squid et SquidGuard..................................................................................................................... 5

2.2) Configuration squid (proxy server) .............................................................................................. 6

2.3) Configuration SquidGuard (proxy filter http) ............................................................................... 7

3.4) Configuration filtrage https .......................................................................................................... 9

3.5) Tests ........................................................................................................................................... 11

4) Antivirus......................................................................................................................................... 12

3.1) Configuration .............................................................................................................................. 12

3.2) Tests ........................................................................................................................................... 13

4) Equilibrage de charge et Fail over ..................................................................................................... 14

4.1) Explication .................................................................................................................................. 14

4.2) Configuration Load balancing et Fail over .................................................................................. 14

5) Détection d’intrusion..................................................................................................................... 17

4.1) Configuration de Snort ............................................................................................................... 17

4.2) Analyse des paquets bloqué ...................................................................................................... 19

6) Portail captif .................................................................................................................................. 20

6.1) Configuration du portail avec authentification .......................................................................... 20

6.2) Configuration d’une gestion de ticket ........................................................................................ 22

6.2.1) Optimisation de la gestion de ticket voucher ..................................................................... 24

Page 2: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

2

1) Introduction

Dans ce compte rendu, nous allons voir comment ajouter différentes fonctions de sécurité sur un

seul firewall.

Pour cela nous allons utiliser seulement Pfsense avec différents modules que nous allons ajouter en

plus sur ce dernier. Mais certains modules ne sont pas compatibles ensemble, et d’autres ne sont pas

légaux au regard de la loi informatique et liberté, si l’on veut mettre en production une telle

configuration comme le filtrage HTTPS qui nécessite d’activer le Man in the middle.

Au cours de mon projet, j’ai pu constater que les modules ajoutés sur pfsense, n’étaient pas tous

compatibles entre eux, et provoquaient des erreurs. Pour cela j’ai créé un tableau afin de visualiser

les différentes fonctions de pfsense ainsi que leur compatibilité :

Balancement de charge

Fail over Filtrage http Filtrage https

Anti-virus Détection d’intrusion

Portail captif

oui oui non non non oui oui

non non non oui oui oui non

non non oui non oui oui non

Après avoir réalisé ce compte rendu, j’ai effectué une autre installation pour pouvoir réunir ces

différentes fonctions de sécurité et de filtrage ensemble sans erreur ! Voir ma seconde

documentation.

Page 3: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

3

2) Les règles d’accès

Par défaut, on trouvera avec pfSense un trafic totalement bloqué sur l'interface WAN et un trafic

entièrement autorisé sur le LAN. Il ne faut cependant pas toucher aux règles sur l'interface WAN, du

moins seulement pour autoriser un accès à un trafic entrant via un VPN ou pour une DMZ par

exemple.

1.1) LAN

Etant donné que tout est autorisé en terme de trafic sur le LAN, il est judicieux de mettre en place

une règle qui bloque tout le trafic puis créer des règles qui autorisent un à un les protocoles ou les

ports.

Dans l’onglet firewall / rules / LAN

Par défaut, il y a 3 règles créées par Pfsense, Il ne faut JAMAIS toucher à la première règle, cette

dernière permet la connexion à l'interface web depuis la carte LAN. Les deux autres règles, autorisent

tout le trafic sur l'interface LAN, il faut les désactiver via le bouton edit de la règle.

Il faut ensuite créer une règle qui bloque tout le trafic :

Les règles à instaurer permettent un fonctionnement que l'on peut qualifier de "classique". Au

travers des captures d'écran, je vais vous indiquer la manière dont il faut remplir les champs par la

même occasion à adapter en fonction des cas. L'exemple ci-dessous concerne la création d'une règle

permettant le trafic HTTP.

Page 4: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

4

Dans action, sélectionner « PASS », puis choisir TCP pour le Protocole.

Dans source, sélectionner LAN net, et dans destination sélectionner http (80) pour les ports.

Ensuite entrer le nom de la règle dans description.

Faire cette application pour les autres règles ci –dessous : (au final vous devriez avoir ces règles pour

le LAN)

Page 5: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

5

2.2) WAN

Pour le WAN ajouter simplement les deux règles ci-dessous en plus des deux règles déjà créées :

3) Filtrage URL

2.1) Squid et SquidGuard

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. 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.

SquidGuard est un filtre, un redirecteur et un plugin de contrôle d'accès pour Squid. Il va notamment

permettre d'appliquer sur un proxy une liste noire de sites ou mots-clés interdits.

Pour installer les deux packages suivants, aller dans System / Package Manager / Available Packages

Page 6: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

6

2.2) Configuration squid (proxy server)

Pour commencer, aller dans le menu déroulant Services puis dans Proxy Server. Dans la partie

"General", remplir les champs comme dans la capture d'écran ci-contre :

Le mode transparent http proxy redirige automatiquement tout le trafic Web entrant vers le serveur

proxy Squid. Avec le mode transparent activé, il n'est pas nécessaire de configurer le navigateur Web

des clients pour utiliser le proxy. Dans la plupart des cas, l’utilisateur ne remarque même pas que son

trafic traverse un serveur mandataire.

Ensuite aller dans l’onglet du menu déroulant "Services" puis dans la partie "ACLs". Dans la section

"Allowed Subnets" ajouter l’adresse réseau provenant de

la carte LAN.

Page 7: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

7

2.3) Configuration SquidGuard (proxy filter http)

SquidGuard permet de filtrer et de contrôler les accès. Nous allons utiliser une blacklist complète

avec beaucoup de catégories.

Lien de la blacklist ( http://www.shallalist.de/Downloads/shallalist.tar.gz )

Aller dans le menu « Services » puis dans « SquidGuard Proxy filter ». Dans la partie "General

setting", remplir les champs comme dans la capture d'écran ci-contre :

Dans l’onglet blacklist, coller le lien de la blacklist et faire download pour télécharger la blacklist.

Par défaut le proxy bloque toutes les catégories d’url, nous allons donc lui spécifier quelles catégories

d’url nous voulons bloquer. Nous allons donc commencer par autoriser toutes les catégories puis

nous interdirons les catégories que nous ne voulons pas.

Pour cela aller dans l’onglet Common ACL et cliquez sur Target rules list

Page 8: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

8

Tout en bas de la liste, la catégorie « Default access [all] » est a deny, la passer à « allow »

Dans mon exemple, j’ai interdit l’accès à la catégorie webmail, webtv, et webradio, puis autorisé

toutes les autres catégories.

Ensuite remplir les champs comme dans la capture d'écran ci-contre : (à adapter)

Il est possible de bloquer les téléchargements de fichiers sous certaines extensions (avi, png, etc…),

mais aussi de bloquer l’accès à certains sites par mots clés, ces règles sous pfSense se nomment

Target Categories. Dans l’onglet « Target categories » cliquer sur ADD. Dans mon exemple ci-dessous

je crée une liste_noire pour interdire l’accès à netacad.com.

Page 9: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

9

Ensuite il faut aller dans l’onglet « Common ACL » et dans la « Target rules list » choisir deny pour la

liste_noire.

Ensuite dans l’onglet general settings activer squidGuard pour démarrer le service (faire apply après

chaque modification)

Les utilisateurs pourront accéder qu’aux sites autorisés ! (Pas de HTTPS filtré)

3.4) Configuration filtrage https

Par défaut, le proxy Squid ne peut pas surveiller le trafic HTTPS chiffré. Squid établit simplement une

connexion TCP vers le serveur de destination et répond au client avec une réponse HTTP pour

indiquer que la connexion a été établie.

Une fois que ce tunnel crypté a été établi, Squid passe les paquets entre le client et le serveur, mais

n'a plus aucune visibilité sur le trafic car il est protégé par le cryptage SSL.

Aujourd’hui de nombreux sites web populaires utilisent le cryptage https par défaut. Pour cela il faut

configurer Squid proxy pour permettre le filtrage SSL.

Pour cela une autorité de certification doit être configurée dans pfSense avant que l'interception

HTTPS ne soit activée dans Squid. L'autorité de certification sera utilisée pour générer de nouveaux

certificats SSL clients pour crypter et déchiffrer automatiquement le trafic Web.

Page 10: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

10

Aller dans System / Cert Manager / CAs et cliquer sur Add.

Apres avoir créé le certificat d’autorité, il faut l’exporté en cliquant sur :

Afin d'empêcher les navigateurs Web sur les ordinateurs clients d'afficher des erreurs de certificat, le

certificat CA de l'autorité de certification pfSense doit être installé sur tous les ordinateurs clients qui

utiliseront le serveur proxy.

Pour des réseaux importants, il est recommandé de configurer Microsoft Active Directory Certificate

Services. Les autorités de certificat intégrées à l’AD peuvent automatiquement envoyer un certificat

racine aux hôtes qui sont membres du domaine.

Pour installer un certificat, ouvrir le .crt, et choisir Installer le certificat et installer le certificat dans le

chemin ci-dessous :

Puis cliquer sur oui pour confirmer l’avertissement de sécurité.

Ensuite aller dans Services / Squid Proxy Server et activer SSL Man in the Middle Filtering, puis

sélectionner l’interface LAN avec le certificat d’autorité créé précédemment.

Man in the Middle signifie que pfsense sera entre LAN et WAN et certifiera chaque site Web. De base

le man in the middle est une technique de piratage qui sert à intercepter les flux entre un client et un

serveur…. Le man in the middle est donc une mauvaise solution, de plus si l’on veut mettre en

Page 11: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

11

production cette technique, les utilisateurs doivent être avertis que leur flux https sont interceptés et

peuvent être décryptés !

Ensuite sur le navigateur internet client, ajouter le certificat. Pour cela aller dans les paramètres

avancés du navigateur et importer le certificat créé par Pfsense.

Pour le filtrage SSL, il faut configurer le proxy dans les paramètres de l’ordinateur. J’ai créé un script

powershell permettant de modifier le serveur proxy automatiquement.

Avec cette technique les flux https sont donc analysés, cependant certains sites https sont

indisponibles… Cela vient d’un problème de négociation de versions de SSL TLS ou d'une suite

cryptographique commune aux deux extrémités du tunnel SSL.

3.5) Tests

Dans notre liste_noire nous avions configuré le site

netacad.com, une station du réseau LAN ne peut

donc pas accéder à ce site là !

De même il n’est pas possible d’accéder à des sites

web qui sont dans une catégorie « deny »

Dans les logs de squidguard nous pouvons voir que

l’accès au site netacad.com à été refusé par la liste_noire.

Pour vérifier que le cryptage SSL s’effectue par

l’intermédiaire du certificat créé par pfsense, aller dans le

navigateur client et regarder la vérification de la

connexion sécurisée :

Les sites web https peuvent être bloqués via la blacklist !

Page 12: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

12

4) Antivirus

En utilisant un antivirus directement sur une passerelle, le virus sera arrêté avant de pouvoir entrer

dans le réseau ou bien sur une station !

3.1) Configuration

Dans le package Squid, se trouve un antivirus puissant qui se nomme ClamAV, pour l’activer aller

dans Services / Squid Proxy server. Cocher Enable AV pour activer l’antivirus, puis cocher Google

safe browsing pour sécuriser les recherches sur google. En redirection ajouter la page web qui alerte

l’utilisateur s’il y a détection de virus.

Choisir la période de mise à jour de l’antivirus et la localisation, pour moi toutes les 2 heures avec

comme localisation l’Europe.

Page 13: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

13

Ensuite aller dans Diagnostics / Command prompt et faire la commande : freshclam pour

actualiser l’anti-virus. Puis aller sur l’accueil (Dashboard) et ajouter Squid Antivirus status pour

pouvoir visualiser le statut de l’antivirus.

Les voyants devraient être vert si l’antivirus est correctement démarré.

3.2) Tests

Il existe plusieurs sites web qui proposent des fichiers testés à télécharger pour détecter les virus. En

téléchargeant un fichier sur http://www.eicar.org/85-0-Download.html l’antivirus bloque

automatiquement le téléchargement !

Page 14: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

14

4) Equilibrage de charge et Fail over

4.1) Explication

Le Fail over permet de faire un "basculement" d’interface en cas de panne ou d’indisponibilité. Cette

technologie a pour but de fournir une haute disponibilité du service.

L’équilibrage de charge (load balancing), permet d’équilibrer la charge entre plusieurs lignes ADSL et

donc de fournir plus de bande passante pour les stations. Les stations du réseau seront réparties sur

les différentes lignes ADSL (la charge sera répartie)

Pour cela il faut deux WANs qui arrivent directement sur le routeur Pfsense. (Les deux WANs sont

deux lignes internet différentes)

Le principal avantage du fail over, est que même en cas de coupure d’une des lignes ADSL, les

utilisateurs auront encore accès à internet. De plus avec le load balancing, les utilisateurs seront

répartis sur les deux lignes ADSL pour améliorer le flux.

4.2) Configuration Load balancing et Fail over

Sur l’interface d’administration de pfsense, aller dans Système / routing / gateways pour visualiser

les deux WANs : (Assurez-vous que chacune de vos interfaces WAN est attribuée à une passerelle)

Puis mettre le WAN1 en passerelle par defaut. En monitor IP ajouter l’adresse DNS de google

(8.8.8.8) sur le WAN1, puis sur le WAN2 ajouter 208.69.38.205 qui correspond à un openDNS.

Aller ensuite dans l’onglet Gateway groups et cliquer sur + ADD pour ajouter un groupe de

passerelles.

Le routeur Pfsense possède 3

interfaces, soit 2 WAN (lignes

ADSL différentes) et 1 LAN

Page 15: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

15

Ajouter le nom du groupe, puis choisir la priorité des interfaces (nous voulons faire du load

balancing, donc les deux interfaces sont de priorité 1)

Enregistrer la configuration, et cliquer sur Apply changes.

Il faut ensuite configurer la règle de pare-feu pour équilibrer la charge, pour cela aller dans Firewall

/ Rules / LAN et modifier la règle créée par défaut par pfsense. Cliquer sur Display Advanced pour

afficher plus d’options, et choisir le groupe de gateways multi_Wan créé précédemment.

Pour vérifier l’état du groupement de passerelles, aller dans Status / Gateways

Si une des deux connexions ADSL est coupée, elle sera alors offline.

Pour éviter qu’un client se trouve déconnecté lors d’une navigation sur internet, nous allons activer

l’option sticky connections. Cette option permet d’éviter la renégociation inutile des clés SSL pour le

protocole HTTPS.

Page 16: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

16

Pour cela aller dans System / Advanced /Miscellaneous et activer les deux options suivantes :

Default gateway switching permet de changer de passerelle par défaut si l’un des deux WANs ne

fonctionne plus.

Page 17: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

17

5) Détection d’intrusion

La détection d’intrusion permet de sécuriser et de surveiller les diverses menaces sur Internet.

Pour cela nous allons installer Snort. Snort est un IDS (Système de détection d’intrusion) open source

qui peut être installé sur un pare-feu pfSense pour protéger un réseau. Snort peut également être

configuré pour fonctionner comme un système de prévention d'intrusion (IPS), ce qui le rend très

souple.

Snort analyse en temps réel les paquets qui circulent sur une ou plusieurs interfaces de votre

firewall. L'analyse permet de détecter les anomalies au sein des paquets ou de repérer les signatures

typiques d'un très grand nombre d'attaques réseau connues.

Snort permet une normalisation des principaux protocoles mis en œuvre dans les réseaux IP (TCP,

UDP, ICMP), ainsi que des protocoles les plus courants (SMTP, POP, IMAP, HTTP, SSL, …).

4.1) Configuration de Snort

Sur l’interface de pfsense, aller dans System / Package Manager et installer le paquet snort.

Snort utilise des règles pour effectuer ses analyses. Pour utiliser ces règles, il faut utiliser un code

Oinkmaster. Pour cela il faut se créer un compte sur https://www.snort.org/users/sign_up et

récupérer le code Oinkcode.

Aller ensuite dans Services / Snort / Global Settings et activer Snort VRT et coller le code

Oinkmaster.

Dans l’onglet Updates, il faut cliquer sur Update rules pour mettre à jour les règles.

Pour utiliser les règles, il faut les affecter à une ou plusieurs interfaces.

Dans le cadre d’une entreprise, il est préférable de déployer cela sur le WAN car les attaques doivent

être contrées au niveau du WAN. Mais pour empêcher les utilisateurs d'utiliser des protocoles non

souhaités, il est préférable de déployer cela sur le LAN. Pour ajouter une interface, il faut aller dans

l’onglet Snort Interfaces et cliquer sur ADD. Sélectionner l’interface et l’activer.

Page 18: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

18

L’option Black Offenders permet de bloquer les alertes. Si cette option est désactivée, cela aura pour

effet de passer le firewall en mode filtrage.

Pour bloquer les alertes, il faut choisir de bloquer les adresses IP de l’extérieur, donc la source.

Attention : Snort est puissant et peut détecter des instruisons de faible importance, pour éviter de ne

plus pouvoir naviguer sur internet à cause de snort (bloque des adresses ip non dangereuse) il faut

bien choisir les catégories d’intrusion.

Il faut activer l’alerte pour les Log

Pour activer les règles, il faut aller dans l’onglet WAN Catégorie et activer les règles selon la

configuration souhaitée. Toutes les règles de détection sont divisées en catégories.

Dans mon cas j’ai activé snort_virus.rules qui détecte les signatures de chevaux de Troie connus, les

virus et les vers. snort_ddos.rules et snort_dos.rules qui détectent les attaques par déni de service.

snort_scan.rules qui détecte les scans de ports … Il existe de nombreuses catégories selon les

besoins.

Une fois les règles activées, il est possible d’y accéder et de les configurer de façon plus fine à partir

de l’onglet WAN Rules . Chaque catégorie dispose de ses propres règles qui sont activées ou

désactivées par défaut.

L’onglet WAN Preprocs permet de régler des paramètres relatifs à l’analyse des trames. Il permet

notamment d’assurer une normalisation des paquets selon un certain nombre de protocoles définis

(HTTP, FTP, Telnet, IMAP, …) ou une normalisation au niveau des protocoles IP (TCP, UDP, ICMP).

Si snort détecte des intrusions et bloque des sites web http, désactiver http Inspect.

Page 19: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

19

Une fois la configuration effectuée, il faut activer Snort sur l’interface désignée, pour cela aller dans

Snort interfaces et démarrer le service

4.2) Analyse des paquets bloqué

Il est maintenant possible de regarder ce que l’IDS a bloqué. Pour ce faire, aller dans l’onglet alerts

qui présente une liste des alertes interceptées par Snort.

Dans l’onglet Blocked nous pouvons constater les adresses IP bloquées qui ont été détecté en

intrusion.

Page 20: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

20

6) Portail captif

Dans un premier temps, nous allons mettre en place un portail captif avec authentification (Pseudo ,

Mot de passe), puis dans un second temps nous allons configurer une gestion de tickets (voucher)

pour autoriser l’accès au portail captif (pratique pour les hôtels, résidences, ou même atelier de

dépannage informatique comme chez TEAMINFO)

6.1) Configuration du portail avec authentification

Pour créer un portail captif, il faut aller dans Services / captive portal / ADD et ajouter un nom au

portail.

Ensuite activer le portail, choisir l’interface ou appliquer le portail.

Maximum concurrent connexions : Nombre de postes qui peuvent se connecter. (Pour moi 25

clients)

Idle Timeout : Déconnecte automatiquement le client après un temps d’inactivité. (Possibilité de se

reconnecter) (Pour moi 3 jours)

Hard Timeout : Déconnecte automatiquement le client après un temps d’inactivité SANS possibilité

de reconnexion.

After authentication Redirection URL : Redirection après l’authentification.

Per-User Badwidtch restriction : Permet de limiter le débit par les utilisateurs connectés.

Authentification : Le type d’authentification à utiliser pour se connecter.

HTML page contents: Possibilité de personnaliser la page du portail captif.

Page 21: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

21

Dans l’onglet MACs, il est possible d’entrer les adresses MAC pour que ces hôtes n’utilisent pas le

portail captif

Dans l’onglet file manager, il est possible d’ajouter des images si vous faites appel à des images dans

personnalisation de la page du portail captif.

Nous configurons un portail captif avec authentification, pour cela il faut créer les utilisateurs et les

affecter à un groupe !

Aller dans System / User manager / Groups / ADD . Créer un groupe et donner le privilège de

l’authentification pour le portail captif !

Ensuite dans l’onglet User créer un ou plusieurs utilisateurs faisant parti du groupe créé

précédemment.

Une fois connecté l’utilisateur sera automatiquement redirigé vers la page web configurée.

Page 22: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

22

Dans l’onglet status / Captive portal se trouve la liste des hôtes connectées au portail captif

Une fois le portail captif fonctionnel, vous pouvez ajouter des bornes wifi sur le réseau du portail

captif !

6.2) Configuration d’une gestion de ticket Nous allons utiliser des codes « voucher », ce sont des codes de connexion jetable, qui permettent

d’autoriser la connexion à travers le portail captif (ticket)

Sur Pfsense, dans Services / Captive Portal / Configuration supprimer les délais de déconnexion

(Maximum concurrent connections). Nous allons gérer les déconnexions grâce aux tickets de

connexion qui auront un délai (voucher). Il faut aussi modifier la page du portail captif, et y ajouter

les variables attendues.

Dans l’onglet vouchers, activer la génération et création de vouchers, puis il est possible de modifier

la création des codes vouchers :

L’option Character indique les caractères qui peuvent être présents dans le code voucher.

Page 23: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

23

Ensuite enregistrer la configuration, puis créer une liste de codes voucher en cliquant sur ADD.

Roll# : Numéro du groupe de codes.

Minutes per Ticket : La durée de validité du Voucher.

Count : Le nombre de tickets générés.

Les codes de connexion sont disponibles, il faut les télécharger pour les consulter :

Les codes sont donc dans un fichier .csv, il faut donc ouvrir ce fichier, et regarder la liste de codes

disponible.

L’utilisateur devra entrer un de ces codes

pour avoir accès à internet !

Pour visualiser des informations sur l’utilisation des codes vouchers, aller dans Status / Captive

Portal / Active Vouchers

Dans ce menu, il est possible de voir quand le code expire, de les tester, de les expirer, etc…

Page 24: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

24

6.2.1) Optimisation de la gestion de ticket voucher

Nous allons optimiser l’accès au code vouchers, et pouvoir les distribuer, sans aller sur Pfsense. Pour

cela il est nécessaire d’avoir un serveur Web (Wamp) sur une station. (PC de l’accueil de l’hotel, Pc

technicien…)

Télécharger une application gratuite qui permet de distribuer les codes vouchers.

(vouchergenerator1.6.zip) https://sourceforge.net/projects/vouchergen/files/?source=navbar

Sur la station concernée pour la distribution de tickets, aller sur

phpmyadmin et créer une base de données vide.

À la racine du serveur web, il faut créer un dossier voucher et y placer les deux dossiers téléchargés

Ensuite, aller sur le navigateur et sur : localhost/voucher/vouchergenerator1.6/setup.php pour

lancer la configuration.

L’assistant d’installation, devrait se lancer. Par défaut la langue est en allemand, nous pouvons la

changer en cliquant sur Install English version. Entrer les informations demandées pour lier

l’application avec la base de données, et choisir des identifiants pour ce connecter à l’application.

Apres avoir rempli la page, un message nous expliquant que nous devons supprimer setup.php dans

le dossier de l’application sur le serveur web. Ensuite nous pouvons avoir accès à l’application en

allant sur localhost/voucher/vouchergenerator1.6/

Aller dans l’onglet Settings pour créer des tables pour un groupe de ticket dans la base de données.

Page 25: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

25

Les options qui nous intéressent sont les

suivantes :

Voucher heading sera le titre du ticket

Voucher text sera le texte qui accompagnera le

ticket

Voucher prefix sera le texte pour désigner le

code

Table headers correspond à la table créée.

Databasetables correspond au nom et à la

durée du ticket.

Sur phpmyadmin, nous pouvons voir que la base de données à été

complétée automatiquement. (J’ai créé 3 groupes de ticket)

Sur Pfsense j’ai créé trois Roll de code voucher avec des durées différentes.

Puis il faut télécharger les fichiers .csv est les importer sur l’application.

Page 26: Mise en place d’un pare-feu avec une configuration avancée ... · VIVET Jordan – Ajouter des modules à pfsense dans un réseau 1 ... Par défaut, le proxy Squid ne peut pas

VIVET Jordan – Ajouter des modules à pfsense dans un réseau

26

La configuration de l’application est maintenant terminée, nous pouvons générer des codes pour une

certaine durée :

L’application propose les deux codes en deux versions de présentation :

Dans l’onglet statistic nous pouvons avoir des

informations sur les codes distribués :

Sur pfsense en plus de voir quand les codes voucher expirent, nous pouvons aussi voir quelle adresse

IP et adresse Mac utilise tel code voucher.

Dans les règles de firewall de pfsense, créer une règle pour que les stations du portail captif, ne

puissent pas se connecter au serveur web local pour la distribution de tickets. Mieux vaut prendre

des précautions, même si l’accès à l’application nécessite des identifiants. Ajouter le serveur WAMP

en mode serveur offline ! Pour une sécurité accrue !