Réaliser le câblage de l'installation à partir du plan du réseau ci-dessous. Utiliser la carte réseau intégrée à la carte mère pour se connecter au réseau SEN.
Afin de gagner du temps, vous lirez et répondrez aux questions ci-dessous pendant l'installation de pfSense.
pfSense (Packet Filter Sense) est une distribution Linux basée sur FreeBSD optimisée pour être utilisé comme firewall et/ou routeur tout comme la célèbre distribution IPCop. FreeBSB est réputé pour sa stabilité. La version 2.1.5 de pfSense est sortie en aout 2014.
L'administration de pfSense se fait essentiellement par une interface de gestion WEB. L'utilisation de la C.L.I est réduite au minimum.
Réaliser l'installation de la distribution pfSense à partir des indications de cette vidéo
Se connecter à l'interface de gestion WEB de pfSense.
Faire constater au professeur.
Dans le menu "System", cliquer sur "Setup Wizard" et réaliser la configuration suivante :
Le filtrage Web sera réalisé avec les logiciels squid et squidguard. Le filtrage est basé sur plusieurs listes de domaines qui peuvent être placées soit en liste blanche (sites autorisés) soit en liste noire (sites interdits).
L'installation de fonctionnalité supplémentaires se fait par l'installation de "packages" comme sur toutes les distributions Linux. Par exemple avec Ubuntu nous avons l'habitude d'utiliser la commande "sudo apt-get install NomDuNouveauPaquet" pour installer un nouveau paquet.
Ici tout se fait dans l'interface de gestion WEB. Dans le menu "System", cliquer sur "Packages". Installer les packages "squid", "Squidguard" et "Lightsquid".
Attention : Bien attendre la fin de l'installation du package en cours avant de faire autre chose.
Dans le menu "Services", cliquer sur "Proxy server".
Dans l'onglet "General" réaliser la configuration ci-contre(cliquer pour zoomer).
Ne pas oublier de cliquer sur "Save" en bas de la page.
Dans le menu "Services", cliquer sur "Proxy filter".
Le nombre de site potentiellement interdits étant relativement important il est indispensable de télécharger des listes toutes faites. L'université de Toulouse fournit ce type de liste.
Dans l'onglet "Blacklist" entrer l'adresse et cliquer sur "Download" comme indiqué ci-dessous :
Remarque : l'extension .tar.gz indique qu'il s'agit d'une archive compressée (équivalent d'un .zip, .7z ou .rar sous Windows).
Le .tar indique qu'il s'agit d'une archive : regroupement de plusieurs fichiers en un seul
mais pas forcément compressé comme un .iso par exemple.
Le .gz indique que l'archive est compressé avec l'utilitaire Linux GZip.
Activer la prise en compte des listes
Aller dans l'onglet "General settings" et cocher "Blacklist" dans la rubrique "Blacklist options".
Cliquer sur "Save" en bas du formulaire, puis sur "Apply" en haut du formulaire :
Remarque : Il est indispensable de recliquer sur "Apply" après chaque modification de la configuration.
Affectation des listes en "liste blanche" ou "liste noire"Comme indiqué plus haut, certaines listes peuvent être déclarées en "liste blanche" et d'autres en en "liste noire". Par défaut Squiguard n'utilise pas les listes et bloque l'intégralité du trafic HTTP. Le site http://cri.univ-tlse1.fr/blacklists/ donne une explication sur chacune des listes afin que l'utilisateur puisse décider quelles listes placer en liste blanche. Vous configurerez votre proxy de la manière la plus restrictive possible.
Aller dans l'onglet "Common ACL" et cliquer sur l'icône comme indiqué ci-dessous :
La liste des listes configurées apparait et comme indiqué plus haut, tout est bloqué par défaut (dernière ligne : "Default access [all]" = deny).
Dans son traitement, lorsque Squidguard traite une URL, il regarde d'abord dans les listes blanches (whitelist) si l'URL est en liste blanche, l'accès est autorisé. Si l'URL n'est pas en liste blanche, Squidguard regarde si elle est en liste noire. Si elle est en liste noire, l'accès est interdit (deny) ensuite Squidguard regarde si l'URL est dans une list dont l'accès est autorisé (allow).
Enfin si l'URL est dans aucune liste Squidguard applique la politique par défaut (dernière ligne) qui peut-être soit allow ou deny.
Mettre en "whitelist" les listes de sites "recommandables".
Enregistrer et appliquer les changements.
Tester.
Faire constater au professeur.
Sur un tel système il est indispensable de surveiller l'activité des utilisateurs afin de contrôler s'ils n'ont pas par exemple trouvé une faille dans le filtrage. C'est le rôle du package "Lightsquid" installé en début de TP.
Remarque : Pour que cette partie fonctionne, il faut que "les logs" soient activés dans Squidguard.
Dans le menu "Status", cliquer sur "Proxy report". Configurer la langue. Naviguer sur quelques sites pendant 2 minutes, mettre à jour votre antivirus.
Retourner dans l'interface de gestion de pfSense, aller dans le menu "Status" et cliquer sur "Proxy report", cliquer sur le bouton "Refresh full". Cliquer sur l'onglet "Lightsquid Report".
Insérer une copie d'écran du rapport indiquant la liste des sites consultés dans votre compte rendu.
Au vue du rapport, de quelle(s) information(s) dispose l'administrateur réseau pour identifier un utilisateur dans les rapports.
Dans le menu "Service", cliquer sur "DNS Forwarder", cocher "Register DHCP leases in DNS forwarder".
Sur le poste client, résilier votre adresse IP et la renouveler. Quelles commandes avez-vous tapé ?
Relever votre adresse IP et le nom de votre ordinateur.
Naviguer de nouveau sur quelques sites pendant 2 minutes.
Insérer une copie d'écran du nouveau rapport indiquant la liste des sites consultés dans votre compte rendu.
Faire constater au professeur.
pfSense fait automatiquement une sauvegarde de la configuration après chaque modification. Il est donc possible après une mauvaise manipulation de facilement revenir en arrière (un peu comme les points de restauration sous Windows). Pour voir les sauvegardes faites, aller dans "Diagnostics" puis "Backup/Restore" Onglet "Config History ".
Insérer une copie d'écran dans votre rapport.
Aller dans l'onglet "Backup/Restore" et faire une sauvegarde manuelle (sous forme d'un fichier XML).
Faire constater au professeur.
Une des failles du système consiste à d'accéder à certains sites interdits en utilisant https au lieu de http. Par exemple, aller sur https://www.facebook.com.
Quel port utilise le protocole https ?
Tester que l'accès https fonctionne en accédant à https://www.sfr.fr. Joindre une copie d'écran dans votre rapport.
Dans le menu "Firewall", cliquer sur "Rules". Dans l'onglet "Floating", créer une règle bloquant tout le trafic https.
Tester de nouveau l'accès aux sites : https://lyc-louis-armand-villefranche.elycee.rhonealpes.fr et https://www.sfr.fr. Joindre une copie d'écran dans votre rapport.
Déterminer l'adresse IP du site lyc-louis-armand-villefranche.elycee.rhonealpes.fr. Comment avez-vous procédé ?
Créer des nouvelles règles dans le pare-feu afin de rendre possible l'accès au site https://lyc-louis-armand-villefranche.elycee.rhonealpes.fr.
Tester.
Faire constater au professeur.
Toujours dans le but de vérifier qu'il n'y a pas de faille dans le système, il est possible de surveillé les logs du firewall : Dans le menu "Status", cliquer sur "System Logs". Cliquer sur l'onglet "Firewall".
Joindre une copie d'écran à votre rapport.
L'antivirus placé sur le firewall analyse tout le trafic HTTP évitant ainsi que les utilisateurs téléchargent des virus et infectent les postes du réseau.
Installer le package "HAVP antivirus".
Dans le menu "Service", cliquer sur "Antivirus" puis aller dans l'onglet "http Proxy" et faire les réglages ci-contre (cliquer pour zoomer).
Dans l'onglet "Settings" :
Dans l'onglet "General page", si le service n'est pas démarré, le démarrer.
Pour les tests, le site "eicar.com" permet de "simuler" des signatures de virus. Tenter de télécharger le fichier http://eicar.org/download/eicar.com.
Faire constater au professeur.
Tout comme il est indispensable de maintenir la base des signatures de l'antivirus à jour il faut également maintenir à jour les "blacklists" de squidguard. Dans Sous Linux, la planification de tâches se fait avec "Cron".
Installer le package "Cron".
Dans le menu "Services", cliquer sur "Cron".
La liste des tâches déjà planifiées apparait.
Vous devez voir apparaitre les tâches planifiées de mise à jour de la base antivirus et des rapports LightSquid.
Chaque ligne du tableau correspond à une tâche. Il se lit de la manière suivante :
Ligne 1 : Toutes les 2h00, exécuter en tant que root la commande :
/usr/bin/perl/usr/local/www/lightsquid/lightparser.pl today
Ligne 2 : Tous les jours à 0h15, exécuter en tant que root la commande :
/usr/bin/perl/usr/local/www/lightsquid/lightparser.pl yesterday
Il est possible de mettre à jour manuellement les blacklists :
Aller dans le menu "Services", cliquer sur "Proxy filter". Aller dans l'onglet "Blacklist" et cliquer sur le bouton "Download".
Il est possible de "récupérer" le script qui fait cette mise à jour sur le serveur : /tmp/squidGuard_blacklist_update.sh
Sur le serveur : Sélectionner "shell" (appuyer sur 8, attention le clavier est en qwerty)
A l'invite, taper "kbdmap" et choisir le clavier "French ISO-8859-1 (accent keys)" puis "Ok".
Copier le fichier "/tmp/squidGuard_blacklist_update.sh" dans le dossier "/usr/local/bin/".
Quelle commande avez-vous tapé ?
Taper "exit" pour revenir au menu.
Dans l'interface de gestion Web de pfSense, créer une tâche planifiée appelant le script /usr/local/bin/squidGuard_blacklist_update.sh tous les jours à 07h30 en tant que root.
Joindre une copie d'écran dans votre rapport.
Changer l'heure d'exécution du script de telle sorte qu'il se lance dans 3 minutes.
Faire constater au professeur.
Vérifier la bonne mise à jour des blacklists dans les logs : Menu "Services", cliquer sur "Proxy filter", onglet "Log" puis "Filter log". (L'information peut mettre quelques minutes à apparaitre dans les logs).
Joindre une copie d'écran dans votre rapport.
Afin de gérer plus finement les sites interdits, il est nécessaire, en plus des listes téléchargées de créer ses propres listes noires et liste blanche.
Dans le menu "Services", cliquer sur "Proxy filter", onglet "Target categories" Ajouter 2 listes : une nommée "ListeBlanche" contenant un nom de domaine interdit dans les listes téléchargées (facebook.com par exemple), l'autre "ListeNoire" contenant un nom de domaine autorisé dans les listes téléchargées (01net.com par exemple). Configurer les 2 nouvelles listes dans l'onglet "Common ACL".
Tester, l'accès à 01net.com doit être maintenant interdit et l'accès à facebook.com autorisé (il reste néanmoins bloqué par le proxy de la salle ! Le message de blocage est différent.).
Remarque : il est possible de bloquer un domaine entier comme 01net.com par exemple ou simplement une URL, il faut dans ce cas là placer l'URL dans la catégorie "URLs list".
Il est également possible de filtrer par expressions, par exemple touts les sites dont l'URL contient "jeux", il faut à ce moment là mettre "jeux" dans le catégorie "Expressions".
Dé-câbler l'installation. Restaurer les ordinateurs.
Ranger le matériel.
Faire constater au professeur.
Article connexe : Installation de pfSense - Distribution Linux Firewall