MEMOIRE DE PROJET DE FIN D’ETUDES Pour l’obtention du diplôme de Licence Professionnelle En Réseaux, Sécurité et Systèmes Informatiques Mise en place d'un pare-feu open source Au sein du réseau de la FSSM Réalisé par: MAKRAZ Hamza Encadré par: Tuteur: Jury: Pr. My Mehdi BOUHAMIDI Pr. My Ahmed EL KIRAM Pr. My Ahmed EL KIRAM Pr. My Mehdi BOUHAMIDI Pr. Ahmed El OIRRAK Année : 2014/2015 Tout d’abord, je tiens à exprimer mon immense respect et gratitude à Pr. My Mehdi BOUHAMIDI, de m’avoir accepté en tant que stagiaire au sein du Département d’Informatique et de m’avoir laissé la liberté d’agir, et de me permettre de réaliser mon stage. Je saisis cette occasion de remercier le Pr My Ahmed EL KIRAM, le responsable de la filière Réseaux, Sécurité et Systèmes Informatiques, le chef de département et mon tuteur pour leurs informations précieuses qui m’ont aidé à confectionner ce modeste travail. J’adresse mes vifs remerciements à tous les enseignants du Département d’Informatique de la FSSM de Marrakech, pour les efforts qu’ils ont déployés pour me transmettre leurs riches connaissances. 2 Remerciements ............................................................................................................................. 2 Sommaire ...................................................................................................................................... 3 Introduction général ...................................................................................................................... 5 Chapitre 1: Présentation générale du contexte générale ............................................................... 6 A) Présentation général de la FSSM et le réseau MARWAN .............................................. 7 B) Le réseau MARWAN ...................................................................................................... 8 C) L’infrastructure réseau de la FSSM .............................................................................. 10 D) Cahier de charges .......................................................................................................... 11 Chapitre 2: Les pare-feux solution et la solution choisi ............................................................. 13 A) Les pare-feu fameux ..................................................................................................... 14 B) Table comparatif ........................................................................................................... 20 C) Pfsense comme solution ............................................................................................... 20 D) Conclusion .................................................................................................................... 22 Chapitre 3: Mise en place du Pfsense ......................................................................................... 23 A) Pré-requit ...................................................................................................................... 24 B) Laboratoire local ........................................................................................................... 24 C) Plan d’adressage ........................................................................................................... 24 D) Installation de Pfsense .................................................................................................. 24 E) Création d’une zone démilitarisée ................................................................................ 25 F) Réparation de charge .................................................................................................... 26 G) Basculement .................................................................................................................. 28 H) Gestion bande passante ................................................................................................. 32 I) Virtual Private Network ................................................................................................ 33 3 J) Serveur proxy : SQUID et SQUIDGARD .................................................................... 37 K) HTTP Antivirus Proxy: HAVP...................................................................................... 39 L) Système de détection d'intrusion : SNORT .................................................................. 40 M) Surveillance du réseau .................................................................................................. 42 Conclusion .................................................................................................................................. 44 Annexe ........................................................................................................................................ 45 Table d'illustration ...................................................................................................................... 66 Netographie ................................................................................................................................ 67 4 Dans le cadre de ma formation en licence professionnelle Réseaux, Sécurité et Système informatique (R2SI) à la Faculté des Sciences Semlalia, j’ai effectué un stage au sein du centre informatique de la Faculté des Sciences Semlalia Marrakech d’une durée de deux mois, qui a pour but d’acquérir une expérience professionnelle sur le monde travail en plus de mettre en pratique les notions vues pendant les deux ans de ma formation. Durant ces deux mois de recherche et de test j’ai réussi à mettre en place une solution de firewalling open source qui va nous augmente la sécurité du réseau. Dans ce rapport nous avons voir c’est quoi un pare-feu, les différents pare-feux présentes dans le marcher, la meilleur solution pour nos besoins, et en fin l’implémentation place de la solution choisie. 5 6 A) Présentation général de la FSSM et le réseau MARWAN A.1) Historique La Faculté des Sciences Semlalia de Marrakech (FSSM) qui a été Créée en 1978 est le premier établissement de l'enseignement supérieur ouvert dans la région de Sud. Au cours de trente-sept ans d’existence, la FSSM a activement contribué au rayonnement et à l'évolution des sciences en poursuivant avec dynamisme ses missions de formation et de recherche. Pour ne citer que certains aspects de cet engagement, il est utile de rappeler l'effort considérable consenti par la FSSM dans la formation initiale, la formation continue et la recherche scientifique : on innovant, on encourageant les partenariats et on écoutant les acteurs socio – économiques de la région pour identifier leurs besoins en formation et en recherche-développement. La FSSM répond ainsi à l’une des missions principales de l’Université, à savoir, s’ouvrir sur son environnement et contribuer au développement socioéconomique du pays. La FSSM figure parmi les meilleures facultés du Maroc, notamment sur le plan de la recherche scientifique. Les formations dispensées par cet établissement couvrent pratiquement tous les champs disciplinaires scientifiques. L’encadrement pédagogique est assuré par plus de 400 enseignants et un corps administratif composé de plus de 260 administratifs. A.2) Fiche technique Raison sociale: Faculté des Sciences Semlalia Marrakech « FSSM ». Forme juridique: Faculté. Doyen: My Elhassan HBID. Téléphone: +212 (0)5 24 43 46 49. Adresse: BD Prince My Abdullah B.P.2390 Marrakech. Site: http://www.fssm.ucam.ac.ma/ Départements de la Faculté (6 Départements) : o Département de Biologie; o Département de Géologie; o Département de Chimie; o Département de Physique; o Département de Mathématiques; o Département d’Informatique. Services administratifs de la Faculté (11): o Service de la scolarité Licence; o Service des relations extérieures; 7 o Service des entretiens; o Service des Marchés; o Service du personnel; o Service de la valorisation de la recherche scientifique; o Service de la communication; o Service du 3éme cycle; o Service des bourses; o Service économique de l’intendance; o Service de gestion physique et électronique des documents d’archives. A.3) Organigramme de la FSSM Figure 1: organigramme de la FSSM B) Le réseau MARWAN Moroccan Academic and Research Wide Area Network, plus connu sous l'acronyme de « 8 MARWAN » est le réseau informatique national à but non lucratif, dédié à l'éducation, à la formation et à la recherche. Il a pour objectif de mettre en place une infrastructure d'information et de communication entre les établissements de formation et d'enseignement. Depuis sa création en 1998, MARWAN a permis aux universités marocaines de développer de nouveaux services en matière d'enseignement, de transfert de technologie et de recherche scientifique. Dans le cadre du lancement du programme d'urgence de l'éducation nationale pour la période 2009-2012, le Centre National pour la Recherche Scientifique et Technique (CNRST) lance une nouvelle version du réseau MARWAN. Le CNRST s'appuie sur l'évolution des technologies de communication à l'échelle internationale pour améliorer la qualité, le service et l'architecture du réseau de MARWAN afin qu'il réponde aux standards internationaux et aux exigences liées à la modernisation de l'Université marocaine. Pour cela, le CNRST a sollicité les opérateurs nationaux de télécommunication pour proposer une nouvelle version du réseau MARWAN qui intègre les évolutions techniques de ces dernières années. L'offre de l'opérateur Méditel a été retenue en commun accord avec les universités. Dans sa nouvelle topologie, MARWAN 3 offre aux établissements et universités un choix de débits entre 2 et 100 Mbps. Sa connexion avec le réseau GEANT est réservée uniquement au trafic académique. Tout le trafic internet « commercial » est véhiculé par un autre lien Internet à partir du cœur du réseau fourni par Méditel. Dans sa nouvelle version, MARWAN facilitera la réalisation des actions programmées par les universités dans leurs projets d'établissement et fournira l'infrastructure réseau aux projets lancés par le ministère en collaboration avec les universités et le CNRST à savoir : Application pour l'Organisation et la Gestion des Etudiants et des Enseignements; Environnement Numérique de Travail ; Campus Virtuel Marocain; Grille de Calcul Nationale; Institut Marocain de l'Information Scientifique et Technique; Système d'Information Global; Système de Visioconférence. 9 Figure 2 : le réseau MARWAN L’infrastructure réseau de la FSSM C) Le centre informatique FSSM est le responsable à la distribution de l’accès au réseau MARWAN. Figure 3 : la topologie de la FSSM Le début initial est 100 Mbits/s et chaque établissement reçoit 54 Mbits/s à travers une liaison 10 radio à l’aide des antennes. La Zone LAN Contient tous le Park informatique de la FSSM, à savoir tous les départements, scolarité, bibliothèque et l’administration... Pour les serveurs de la FSSM sont au côté public. Les serveurs héberge les services Web, DNS, FTP, Mail… des applications comme APPOGE. Les serveurs utilise la technologie de virtualisation, cette dernière consiste à mettre un ou plusieurs systèmes d’exploitation ou mêmes applications sur un ou plusieurs ordinateurs ou serveurs, au lieu d'en installer un seul système d’exploitation par serveur. La virtualisation est effectué à l’aide « VMware vSphere ». Cette solution permet d’implémenter la technique de clustering à un coût vraiment faible, ce qui permet de protégé toutes les applications d’une interruption ou d’un déni de service, en offrant une performance matérielle élevé. D) Cahier de charges A.4) Titre du projet Mise en place d’un pare-feu open source avec un serveur web. A.5) L’établissement Accueillante La Faculté des Sciences Semlalia de Marrakech (FSSM). A.6) Travail demandé Mettre en place un pare-feu open source à états « stateful firewall » permet à l’administrateur de protéger le réseau local et les serveur web (http & FTP) par des règles de sécurité. Ainsi ce pare-feu offre également un ensemble de services tel que le NAT statique et dynamique, le VPN, l’IDS, surveillance du trafic (IN/OUT), proxy, Multi-WAN, répartition de charge, basculement, antivirus, et un system de LOG très puissant. A.7) Plan du travail Le but est de réinstaller le pare-feu et atteindre à réponde à les conditions suivants : Établir un mécanisme pour Multi-WAN: o Mettre une répartition de charge pour les passerelles WAN; o Mettre un basculement pour les passerelles WAN. Mise en place un pare-feu esclave (backup); 11 Créer une zone DMZ; Configuration du VPN: o Configuration VPN LAN-to-LAN ; o Configuration VPN Nomade. Gestion de bande passante; Mettre en place un outil de surveillance de trafic; Configuration du proxy: o Configuration serveur proxy; o Configuration filtre proxy. Configuration Antivirus; Mettre une répartition de charge pour les sites web; Mise en place un système de détection d'intrusion; Etude de l’existant Afin de renforcer la sécurisé de son parc informatique la faculté des Sciences Semlalia utilise un pare-feu Pfsense. La FSSM possède plusieurs sites web sur des serveurs Apache, des serveurs DNS et d’autre serveurs pour d’autre services. Limites de l’existant La configuration du pare-feu est élémentaire, et il manque des services important comme IDS, VPN, zone DMZ, la gestion de bande passante, redondance et Multi-WAN. 12 13 A) Les pare-feu fameux A.8) ClearOS ClearOS (anciennement appelé ClarkConnect) est une distribution Linux, basée sur CentOS et Red Hat Enterprise Linux, conçu pour une utilisation dans les petites et moyennes entreprises comme une passerelle réseau et le serveur de réseau avec une interface d'administration basée sur le Web. Il est conçu pour être une alternative à Windows Small Business Server. ClearOS réussit ClarkConnect. Le logiciel est construit par ClearFoundation, et les services de soutien peuvent être achetés auprès ClearCenter. ClearOS 5.1 supprime les limitations antérieures au courrier électronique, les fonctions DMZ, et MultiWAN. Caractéristiques : Pare-feu Stateful (iptables), la mise en réseau et de la sécurité; La détection d'intrusion et de prévention (SNORT); Réseaux privés virtuels (IPSEC, PPTP, OpenVPN); Proxy Web, avec le filtrage de contenu et antivirus (Squid, DansGuardian); Services de courrier électronique (Webmail, Postfix, SMTP, POP3 / s, IMAP / s); Base de données et serveur Web (facile à déployer pile LAMP); Services de fichiers et d'impression (Samba et CUPS); Flexshares (unifiées de stockage multi-protocole qui emploie actuellement CIFS, HTTP / S, FTP / S, et SMTP); MultiWAN (Internet défaut de conception tolérante); Intégré dans les rapports pour les statistiques et les services système (MRTG et autres); Le(s) Limite(s) : ClearOS non offre pas beaucoup de fonctionnalité dans la version gratuit Pas de mises à jour automatiques pour IPS / URL filte A.9) Untangle Untangle propose deux solutions : La première solution « Next Generation (NG) Firewall » est conçue afin répondre aux besoins des petites et moyennes entreprises. 14 Cette solution intègre à la fois : Un pare-feu; Un routeur; Un système de prévention d’intrusion; Un anti-virus avancé; Un filtrage des connexions http / https suspectes; Un bloqueur de publicité (mail et web); Et bien d’autres possibilités…. La seconde solution proposée est « Untangle Internet Content (IC) Control ». Cette solution répond aux besoins des grandes organisations, consommatrices de grandes quantités de bande passante. Lorsque la quantité de donnée échangée devient trop importante pour être contrôlée par les solutions « courantes », il faut alors se tourner vers des solutions parfaitement adaptées à cette situation et c’est précisément ce que permet « Untangle IC Control ». Le(s) Limite(s) Consomme la RAM; Lent dans le démarrage et dans l’arrêter; La version gratuite est très limitée. A.10) Zeroshell Zeroshell est une distribution Linux créée dans le but d'être très complète conçue pour fournir des services réseaux sécurisés dans un réseau local. Elle a été développée par Fulvio Ricciardi pour être totalement administrable via une interface web. Fournie sous forme de Live CD, elle s'initialise en insérant le CD dans la machine cible et en la redémarrant. La connexion à l’interface d’administration se fait via un navigateur web pour ensuite configurer les services réseaux. Fonctionnalités : Routage statique; NAT; 15 Protocole de routage RIPV2 (Routing information protocol) pour configuration dynamique des tables de routage; Pare-feu, pour filtrage des paquets avec fonction SPI (Stateful Packet Inspection) pour filtrer en fonction de l’état de la connexion; Captive portal dont le but est d’autoriser l’accès au réseau via une authentification web adossée à un serveur Kerberos. Cette fonction est très utile pour sécuriser un réseau sans demander aucune configuration sur les postes clients; VPN LAN-to-LAN, pour interconnecter deux réseaux locaux via Internet en encapsulant les trames Ethernet; VPN Host-to-LAN, pour permettre à des postes clients de se connecter au réseau local via internet; Authentification Radius, pour autoriser l’accès au réseau via des points d’accès Wi-Fi; Serveur DNS multi-zones, pour définir sa propre zone DNS et les enregistrements associés; Client DynDNS si on a besoin d’un nom DNS pour atteindre le routeur; Serveur DHCP pour assigner automatiquement des adresses IP aux postes clients qui le demandent; Qualité de service, pour hiérarchiser la priorité et même la bande passante attribuée à chacun des types de trafic qui traversent Zeroshell. Configuré en mode pont, Zeroshell est ainsi très utile même pour une connexion internet familiale pour donner la priorité aux applications voix (de type Skype) et chat sur d’autres applications (téléchargement etc…); VLAN à utiliser avec des switches supportant les VLAN. On peut ainsi par exemple dans un campus, créer un VLAN dédié aux points d’accès WIFI et centraliser la gestion de l’authentification par captive portal sur Zeroshell; Administration web (sécurisé par filtrage sur IP); Accès SSH (sécurisé par filtrage sur IP); Serveur proxy avec fonction de proxy transparent, intégrant un anti-virus; Équilibrage de charge et tolérance de pannes par l'usage de plusieurs connexions internet; Pont 802.1d avec protocole Spanning Tree pour éviter les boucles dues aux chemins redondants; Connexion UMTS/HSDPA par modem 3G. L'utilisation en Live CD nécessite de sauvegarder le paramétrage mis en place sur un support enregistrable. 16 Il est possible d'utiliser un disque dur pour cela. Zeroshell propose d'enregistrer une configuration sous la forme d'une base de données. Plusieurs configurations peuvent être enregistrées, mais une seule est active à la fois. On peut, à l'aide de l'interface web, la configuration sous forme d'un fichier que l'on peut restaurer à tout moment. Zeroshell fonctionne aussi sur une machine virtuelle, par exemple avec les logiciels VMware et Virtual PC (un disque virtuel pour VMware est fourni en téléchargement). Le(s) Limite(s) : La GUI n'est pas facile à utiliser; Manque de la documentation; Difficile dans l'installation dans HDD par rapport aux autres pare-feux. OPNsense A.11) OPNsense est une distribution de pare-feu open source basé sur FreeBSD. Déploiements typiques sont les pare-feu stateful de périmètre, routeurs, points d'accès sans fil, serveurs DHCP et DNS, points de terminaison VPN et UTM-machines. OPNsense offre des fonctionnalités souvent trouvés dans firewalls commerciaux coûteux, et est basé sur le port FreeBSD du PF-pare-feu. Il peut être configuré et mis à jour par le biais d'une interface basée sur le Web, et ne nécessite aucune connaissance du système FreeBSD sous-jacente à gérer. OPNsense est axée sur la qualité du code et le développement facile, la mise en œuvre du paradigme MVC. Caractéristiques : 1. Installer et mise à jour du firmware Live CD, installateurs USB disponibles; Mise à niveau facile par web-based click-to-upgrade; Outil d'interface opnsense-mise à jour en ligne de commande; Console, basé sur le Web moderne basée Bootstrap GUI, SSH et la gestion de console série; Graphiques RRD déclaré; Le lissage du trafic et le filtrage; Informations en temps réel en utilisant Ajax. 2. Fonctionnalité et connectivité 17 Réseaux privés virtuels utilisant IPsec, L2TP, OpenVPN, ou PPTP; Serveur PPPoE; Le clustering haute disponibilité; redondance et de basculement, y compris de CARP et pfsync; Sortant et entrant équilibrage de charge; Qualité de service (QoS); DNS dynamique; Portail captif; uPnP; Multi-WAN; VLAN (802.1Q); Serveur DHCP et relais; Le support IPv6; Adresses IP publiques multiples / multi-NAT; RADIUS / LDAP; Résolveurs multiples (transitaire DNS, Unbound); Alias pris en charge pour les règles, les adresses IP, les ports, les ordinateurs et autres entités; Squid et expédition web-proxy. 3. Pare-feu et le routage Pare-feu Stateful; Network Address Translation; Filtrage par source / de destination adresse IP, le protocole, OS / réseau d'empreintes digitales; Couche inspection 7 du protocole ou Deep Packet Inspection; Routage flexible; Par règle configurable exploitation forestière et par règle limiteurs (adresses IP, les connexions, les Etats, de nouvelles connexions, les types de l'Etat), le filtrage de la politique (ou le marquage de paquets), le filtrage TCP de l'État du pavillon, l'ordonnancement, la passerelle; Packet épuration; Layer 2 / pontage capable; Table de l'Etat "jusqu'à plusieurs centaines de milliers" états (1 Ko de RAM par Etat 18 environ); Algorithmes de table d'état personnalisable, y compris une faible latence et une faible chute de tension. Le(s) limite(s) : Manque de packages par rapport au Pfsense; C’est un nouveau pare-feu n’est pas mature comme les autre pare-feux. A.12) Pfsense Pfsense est un routeur / pare-feu open-source basé sur FreeBSD. Il peut être installé sur un simple ordinateur personnel comme sur un serveur. Basé sur PF (packet filter), comme iptables sur GNU/Linux, il est réputé pour sa fiabilité. Pfsense a des Nouveautés : Pfsense 2.2 est basé sur FreeBSD 10.1 ce qui apporte non seulement de nombreux correctifs de sécurité, mais aussi une meilleure prise en charge du matériel et de la virtualisation; Pf est désormais SMP friendly, ce qui améliore grandement les performances; L'interface d'administration fonctionne désormais sous PHP-FPM, ce qui apporte un gain de réactivité; Ajout de nouveaux fournisseurs de DNS Dynamique (City Network, OVH DynHOST, GratisDNS, Euro DNS et CloudFlare); Changement de démon IPSec racoon par strongSwan avec la gestion d'IKEv2, AES-GCM entre autres. Caractéristique Pfsense ne fait pas seulement firewall, elle offre toute une panoplie de services réseaux. Je vais vous en présenter une partie, celles que j'ai utilisées ou qui me semblent intéressantes. Interface web; Gestion des VLAN; Routage IPv4 et IPv6; NAT; Filtrage du trafic entrant et sortant pour tout type de trafic (ICMP, UDP, TCP…); Limitation des connexions pour un pair; Log du trafic avec génération de graphiques; 19 Log sur serveur syslog externe; Répartition de charge et Basculement; Agrégation de ports, IP virtuelles; Proxy transparent; Serveur ou client PPPoE; VPN (client ou serveur) IPsec, PPTP, OpenVPN; DNS Dynamique; Portail captif; Contrôle d'accès par adresses MAC ou authentification RADIUS; Serveur ou relais DHCP / DNS; Ajout de fonctionnalités via des paquets directement installables dans l'interface; Multi-WAN. Le(s) limite(s) : Plus difficile que untangle; Parfois il y a des problèmes après les mises à jour. B) Tableau comparatif C) Pfsense comme solution A.13) Introduction Pfsense est un routeur/pare-feu open source basé sur le système d'exploitation FreeBSD. Aucune connaissance de FreeBSD n’est nécessaire pour déployer et à utiliser Pfsense. A l'origine d'un fork de mOnOwall, il utilise le pare-feu à états Packet Filter, des fonctions de routage et de NAT lui permettant de connecter plusieurs réseaux informatiques. Il comporte l'équivalent libre des outils et services utilisés habituellement sur des routeurs professionnels propriétaires. Pfsense convient pour la sécurisation d'un réseau domestique ou de petite entreprise. Après une brève installation manuelle pour assigner les interfaces réseaux, il s'administre ensuite à distance depuis l'interface web et gère nativement les VLAN (802.1q). Comme sur les distributions Linux, Pfsense intègre aussi un gestionnaire de paquets pour installer des fonctionnalités supplémentaires, comme un proxy, serveur VoIP1... 20 A.14) FreeBSD FreeBSD® est un système d'exploitation avancé pour les plates-formes modernes de type serveur, station de travail et systèmes embarqués. Le code de base de FreeBSD a été développé, amélioré et optimisé continuellement pendant plus de trente ans. Il est développé et maintenu par une importante équipe de personnes. FreeBSD propose des fonctionnalités réseau avancées, une sécurité poussée et des performances de haut niveau. FreeBSD est utilisé par certains des sites web les plus visités ainsi que par la plupart des systèmes embarqués orientés réseau et des systèmes de stockage les plus répandus. FreeBSD offre des possibilités avancées en termes de réseau, de performance, de sécurité et de compatibilité. Il y a notamment une compatibilité binaire Linux et Windows NT (XP inclus). La première permet l'exécution de programmes compilés sur une plateforme GNU/Linux, la seconde permet l'utilisation des pilotes Windows NT des cartes réseau sans fil Wi-Fi. Le logiciel est un standard industriel sur le marché des serveurs. De nombreux fournisseurs d'accès, hébergeurs et organismes utilisent FreeBSD, parmi lesquels Walnut Creek CDROM, Yahoo! Inc. ou Netcraft. Le 24 mai 1999, l'équipe du serveur miroir ftp.cdrom.com a annoncé avoir battu la veille leur record de transfert de données2 pour un serveur : 1,33 tébioctet en 24 heures. A.15) La version de Pfsense 2.2 Release Le Pfsense 2.2 est la version actuelle recommandée pour toutes les installations. Le Pfsense 2.2 est basé sur FreeBSD 10.1. Parce que ceci est la dernière version officielle, il est la seule version qui recevra corrections de bogues et des mises à jour de sécurité. A.16) Plates-formes Trois types de déploiements différents proposés par Pfsense. Cette section couvre chacune des plates-formes disponibles, et les environnements dans lesquels ils sont les mieux adaptés pour une utilisation. A.16.a) Live CD (y compris l'image USB memstick) La plate-forme de Live CD vous permet de l’exécuter directement depuis le CD (ou clé USB) sans l’installer sur un disque dure ou la carte Compact Flash. A.16.b) Installation complète Le Live CD inclut une option d'installation pour installer Pfsense sur le disque dur de votre système. Ceci est le moyen privilégié de courir Pfsense. L'ensemble du disque dur doit être remplacé; 21 dual boot avec un autre OS n’est pas pris en charge. Installations complètes sont recommandées pour la plupart des déploiements. A.16.c) Embarqué La version Embarqué est spécifiquement adapté pour une utilisation avec n'importe quel matériel en utilisant Compact Flash (CF) plutôt que d'un disque dur. D) Conclusion Durant ce chapitre nous remarquons qu’il existe plusieurs solutions pour le pare-feu, chaque pare-feu à des caractéristiques et son domaine d’utilisation. D’après la comparaison de tous ces pare-feux, Pfsense répond à notre besoin pour cela c’est notre choix comme solution. 22 23 Pré-requit A) Il faut avoir une image ISO de Pfsense version 2.2.2-RELEASE Basé sur FreeBSD 10.1RELEASE-p9, les images sont en libre téléchargement depuis https://www.Pfsense.org/download, de même cette section de téléchargement offre des images VMware prêtes. Laboratoire local B) Nous réaliserons l’installation sur une VM depuis VMware, la procédure d’installation de Pfsense est la même si nous sommes sur une machine (serveur) physique. Sauf sur cette dernière il faut qu’elle dispose au moins de 5 carte réseau par contre dans l’environnement de virtualisation nous pouvons rajouter au tant que de carte réseau. En termes de configuration requise, nous faisons tourner Pfsense sur une VM disposant d’un processeur, 512 Mo de RAM, 5 Go de disque dure et 6 cartes réseau. Aussi nous mettrons 2 serveurs web apache2 et un serveur DNS sur VM avec un système d'exploitation Linux (Ubuntu) disposant d’un processeur, 512 Mo de RAM et 5 Go de disque dure, et 2 VM avec un système d'exploitation Windows 7 (l'une comme poste de l'administrateur et l'autre comme un client) disposant d’un processeur, 1024 Mo de RAM et 20 Go de disque dure. Plan d’adressage C) Tableau 1 : Plan d’adressage D) Non du réseau IPs du réseau WAN1 192.200.176.0/24 WAN2 192.200.178.0/24 DMZ 172.20.176.0/24 ADM 100.100.100.0/24 LAN 192.168.0.0/24 PFSYNC 10.10.10.0/24 Installation de Pfsense Pour l’installation de Pfsense voir l’annexe. 24 Création d’une zone démilitarisée E) A.18) Introduction Une zone démilitarisée (ou DMZ, de l'anglais demilitarized zone) est un sous-réseau séparé du réseau local et isolé de celui-ci et d'Internet par un pare-feu. Ce sous-réseau contient les machines étant susceptibles d'être accédées depuis Internet. Le pare-feu bloquera donc les accès au réseau local pour garantir sa sécurité. Et les services susceptibles d'être accédés depuis Internet seront situés en DMZ. Figure 4 : Figure illustre la zone DMZ A.19) Configuration A.19.a) Création de l'interface Commençons par l'ajout de la nouvelle carte dans Interface > assign. Puis allons dans Interface > OPT2 et cochons la case Enable Optional 2 interface pour donner à l'interface un nom et une adresse IP suivant le plan d’adressage figure 23. A.19.b) Création des règles Maintenant nous allons dans Firewall > rules > LAN pour créer une nouvelle règle. Par exemple une règle permet de passer les requêtes HTTP de LAN vers DMZ. Remplir les champs généraux suivants : Action : Pass ; TCP/IP Version : IPv4 ; Interface : LAN ; 25 Protocol : TCP ; Source : LAN net ; Destination : any ; Destination port range : From : HTTP To : HTTP Description : Autoriser HTTP pour réseau LAN figure 24. De même il faut créer des règles qui bloquer/passer le trafic pour les autres interfaces. A.19.c) Test de fonctionnement Un simple test de la fonctionnalité et de taper l'adresse de notre serveur web dans le navigateur depuis un poste sur le réseau LAN figure 25. F) Réparation de charge A.20) Introduction La répartition de charge (en anglais : load balancing) est un ensemble de techniques permettant de distribuer une charge de travail entre différents ordinateurs d'un groupe. Ces techniques permettent à la fois de répondre à une charge trop importante d'un service en la répartissant sur plusieurs serveurs, et de réduire l'indisponibilité potentielle de ce service que pourrait provoquer la panne logicielle ou matérielle d'un unique serveur. L'architecture la plus courante est constituée de plusieurs répartiteurs de charge (genres de routeurs dédiés à cette tâche), un principal, et un ou plusieurs de secours pouvant prendre le relais, et d'une collection d'ordinateurs similaires effectuant les calculs. Nous pouvons appeler cet ensemble de serveurs une ferme de serveurs (anglais server farm) ou de façon plus générique, une grappe de serveurs (anglais server cluster). Nous parlons encore de server pool (littéralement, « groupe de serveurs »). A.21) Répartition de charge pour le serveur web A.21.a) Introduction Les serveurs web se doivent aujourd’hui d’avoir une haute disponibilité et de supporter une haute charge au vue de l’importance qu’ils ont pour les entreprises. Il est souvent conseillé pour 26 accroître cette disponibilité de mettre en place plusieurs serveurs ayant le même rôle avec la possibilité de répartir la charge entre ceux-ci mais également de prendre toute la charge sur un serveur si l’autre vient à être indisponible (ce que l’on appelle le Fail-Over partie suivant). Figure 5 : représente la répartition de charge pour un site web Dans le cas d’un anormal la répartition de charge jouer le rôle du basculement. Figure 6 : représente le basculement pour un site web A.21.b) Configuration de la répartition de charge pour le serveur web Création des pools Crée un Pool dans Services > load balancer > Pools (voir l'annexe figure B.1 et 2) figure 26. Création du serveur virtuel Allons dans Services > load balancer > Virtual server pour créer un serveur virtuel figure 27. A.22) Répartition de charge pour les WANs (Multi-WAN) Un des intérêts principaux de Pfsense est la possibilité de faire la répartition de charge avec 27 plusieurs WANs. Pour assurer une connexion fiable et stable dans les réseaux a des services sensibles et dans les réseaux a un grand nombre des utilisateurs, et également de prendre toute la charge sur les autres WAN si l’un vient à être indisponible (ce que l’on appelle le Fail-Over). Figure 7: représente la répartition de charge pour Multi-WAN A.22.a) Configuration de la répartition de charge dans Multi-WAN Configuration du Monitor IP Crée tous les passerelles existes dans System > Routing > Gateways figure 28. Création d’un groupe des passerelles Allons dans System > Routing > Groups pour créer un groupe pour la répartition de charge figure 29. Configuration les règles du pare-feu Allons dans Firewall > rules et éditons les règle. Dans la section Advanced features > Gateway, cliquez sur le bouton Advanced et sélectionnez dans la liste la passerelle de répartition de charge figure 30. A.22.b) Test de fonctionnement Pour tester la fonctionnalité de la répartition de charge allons dans Status > Gateways pour vérifie les passerelles et ensuite allons dans Status > Traffic Graph pour voir le trafic entrant et sortant dans tous les interfaces WANs figure 31. G) Basculement Le basculement (en anglais, failover qui se traduit par passer outre à la panne) est la capacité d'un équipement à basculer automatiquement vers un chemin réseau alternatif ou en veille. Cette 28 capacité existe pour tout type d'équipements réseau: du serveur au routeur en passant par les pare-feu et les commutateurs réseau. Le basculement intervient généralement sans action humaine et même bien souvent sans aucun message d'alerte. Le basculement est conçu pour être totalement transparent. Il existe deux modes principaux de basculement : actif/actif qui s'apparente plus à de l'équilibrage de charge (load-balancing); Le mode classique couramment répandu, actif/passif où l'équipement secondaire (passif) est en mode veille tant que l'équipement primaire (actif) ne rencontre aucun problème. A.23) Le basculement Maître-Esclave CARP (Common address redundancy protocol) est le protocole utilisé par Pfsense pour la mise en place d’un basculement. Dans son fonctionnement, nous mettons dans un groupe plusieurs hôtes (groupe de redondance) qui partageront alors une même adresse IP et auront une adresse MAC dite “virtuelle”. Cette adresse IP qui sera virtuelle se cachera deux ou plusieurs hôtes parmi un maître qui prendra et traitera l’intégralité des requêtes en destination de l’IP virtuelle. Les hôtes du réseau communiqueront entre eux afin de vérifier que le maître est toujours actif, s’il vient à tomber, l’hôte désigné comme esclave prendra le relais afin d’accueillir et de traiter le trafic en destination de l’adresse IP Virtuelle. Nous avons vu d’un peu plus près le protocole qui allait permettre à nos hôtes de se répartir les tâches dans le basculement, Pfsense utilise également le protocole Pfsync dans son processus de mise en place du basculement, c'est un protocole utilisé pour synchroniser plusieurs machines exécutant le pare-feu Packet Filter, implémenté dans Pfsense. Plus précisément, c’est par ce protocole que nous allons pouvoir gérer plusieurs hôtes via une seule interface, il fera en sorte par exemple de diffuser les états de connexion (fermée, ouverte, établies, …) entre le pare-feu maître et les pare-feu esclaves permettant ainsi une reprise des états de connexions en cas de panne du maître et de reprise de l’esclave. 29 Figure 8 : illustre CARP avec IP virtuel A.23.a) Configuration du basculement Maître-Esclave Création de l'interface PSYNC Comme dans la partie DMZ pour ajouter une nouvelle interface il nous faut d'aller dans Interface > assign. Puis allons dans Interface > OPT3 et cochons la case Enable Optional 3 interface puis donner à l'interface un nom et une adresse IP. Créer les règles sur l’interface PSYNC (OPT3) Commençons notre configuration du basculement sur Master-Pfsense. Il faut tout d’abord créer une règle sur l’interface SYNC (OPT3) pour autoriser les flux CARP et pfsync à transiter sur le segment CARP. Aller dans l’onglet Firewall > Rules | SYNC et cliquer sur la case «+» pour créer une nouvelle règle puis remplir les champs généraux suivants : Action: Pass; Interface: SYNC; Protocol: Any; Description: Autoriser le sous réseau SYNC figure 32. Nous allons Répéter ces étapes de configuration sur Esclave-Pfsense. Configuration de Pfsync 30 Nous devons premièrement configurer CARP sur l’esclave (Slave-Pfsense), allons dans l’onglet Firewall > Virtual IPs | CARP Settings et remplissons les champs généraux suivants : Synchronize Enabled : Cocher cette case pour autoriser l’échange de messages (pfsync) ; Synchronize Interface : PFSYNC ; Cliquez sur Save pour valider figure 33. Sur le Maître (Master-Pfsense), aller dans l’onglet Firewall > Virtual IPs | CARP Settings et remplir les champs généraux suivants : Synchronize Enabled : Cocher cette case pour autoriser l’échange de messages (pfsync) ; Synchronize Interface: SYNC; Synchronize config to IP: 192.168.222.3; Remote System Username : admin [nom d'utilisateur de Esclave-Pfsense] ; Remote System Password : Pfsense [mot de passe d'utilisateur de Esclave-Pfsense] ; Sélectionner tous les cases de synchronisation figure 34. Créer les Virtual IPs Nous pouvons maintenant configurer les IP virtuelles. Sur le maître (Master-Pfsense), aller dans l’onglet Firewall > Virtual IPs | Virtual IPs et remplir les champs généraux suivants : Type: CARP; Interface: LAN; IP Address (es): 192.168.0.254/24; Virtual IP Password: admin [mot de passe pour le cette IP virtuelle]; Description: IP virtuelle Cluster LAN. Même configuration pour l'interface WAN figure 34. A.23.b) Test de fonctionnement Pour voir s'il est fonction bien nous allons sur Master-Pfsense dans Status > CARP (Failover) figure 35. A.24) Le basculement dans Multi-WAN Nous avons déjà vu la répartition de charge dans Multi-WAN, mais dans le cas où l’un des 31 WAN vient à être indisponible les autre WAN prendre toute la charge, voici un figure 11 qui illustre le basculement dans Multi-WAN. Figure 9 : basculement dans Multi-WAN A.24.a) Configuration La configuration du basculement dans le Multi-WAN et identique sauf qu’il faut faire un petit changement au niveau du groupe de passerelle figure 36. Gestion bande passante H) Une méthode simple de gestion de trafic est de définir des limites, c'est-à-dire fixer une limite maximale de débit. Il convient de bien déterminer les différents trafics et surtout de bien évaluer la bande passante de chaque tranche. En effet, si vous prévoyez une bande passante de 400 kbits/s pour Skype alors qu'il en faut au moins 500 kbits/s pour un fonctionnement de base, nous avons déjà un problème. Pfsense nous permettons de superviser le débit. N'hésitons pas à effectuer quelques mesures avant de fixer des valeurs arbitraires. A.25) Configuration A.25.a) Création des limites Pour Créer des limites, nous allons dans Firewall > Traffic Shaper > Limiter. Dans notre exemple nous mettons une limite de 1 Mbits/s dans upload et download figure 37. A.25.b) Application des limites Maintenant il reste d'éditer les règles que nous voulons appliquer les limiter sur ils dons rendez32 vous dans Firewall > Rules, puis allons dans la section Advanced features > In/Out, et cliquons sur le bouton Advanced et en fin nous sélectionnons dans la liste la limite en entrée et en sortie figure 38. Faites de même avec toutes les règles que vous souhaitez limiter. Toutes les règles utilisant la même limite se partageront la bande passante du limiteur, avec une priorité égale. A.26) Test de fonctionnement A l’aide du site web www.speednet.net nous allons test la bande passante avant l'application de la limite figure 39 et test de la bande passante après l'application de la limite figure 40. I) Virtual Private Network Un réseau privé virtuel, abrégé RPV au Québec et VPN ailleurs, de l'anglais Virtual Private Network, est un système permettant de créer un lien direct et sécurisé entre des ordinateurs/réseaux distants. Un VPN permet d'accéder à des ordinateurs distants comme si l'on était connecté au réseau local. On peut ainsi avoir un accès au réseau interne (réseau d'entreprise, par exemple). Un VPN dispose généralement aussi d'une passerelle permettant d'accéder à l'extérieur, ce qui permet de changer l'adresse IP source apparente de ses connexions. Cela rend plus difficile l'identification et la localisation approximative de l'ordinateur émetteur par le fournisseur de service. Cependant, l'infrastructure de VPN (généralement un serveur) dispose des informations permettant d'identifier l'utilisateur. Cela permet aussi de contourner les restrictions géographiques de certains services proposés sur Internet. Le VPN permet également de construire des réseaux overlay, en construisant un réseau logique sur un réseau sous-jacent, faisant ainsi abstraction de la topologie de ce dernier. L'utilisation de VPN n'est généralement pas légalement restreinte. A.27) Types de VPN Nous pouvons dénombrer deux grands types de VPN, chacun d'eux caractérise une utilisation bien particulière de cette technologie. VPN LAN-to-LAN permet de relier deux sites entre eux de façon transparente. Généralement les deux sites ont des tranches IP différentes ce qui oblige les postes clients à passer par le routeur. Celui-ci est directement relié à l'équipement responsable du VPN ou implante directement les protocoles choisit pour la mise en place du VPN. Ce type de VPN est installé de manière permanente. 33 Figure 10 : illustration un VPN LAN-to-LAN. VPN Nomade ou également appelé "Road Warrior" permet à un utilisateur distant de son entreprise de se connecter à celle-ci pour pouvoir profiter de ses services. Ce type de VPN est installé de manière occasionnelle. Figure 11: illustration un VPN Nomade A.28) Choix de technologie Il existe plusieurs protocoles à utiliser es chacun ces caractéristique, pour nous Pfsense propose 4 protocoles pour établir un tunnel VPN : Tableau 2 : Ce tableau résumé la comparaison entre les 4 protocoles utiliser par VPN dans Pfsense : Protocoles PPTP L2TP/IPsec Cryptage VPN 128-bit 256 bits SSL 160 bits et 256 bits →Windows Configuration manuelle possible →Mac OS X →Windows →Windows →Linux →Mac OS X →Mac OS X →iOS et →Linux →Linux →iOS et Android →Android Android →DD-WRT 34 Le chiffrement le Sécurité VPN Encryptage de base plus élevé. Vérifie Le chiffrement le plus élevé. Authentifie les l'intégrité des données et données à l'aide de les encapsule deux fois. certificats numériques. Le protocole le Nécessite plus de plus performant. Débits Vitesse VPN Rapide grâce à un plus bas cryptage. processeur pour le rapides, même sur les double encapsulage des connexions à latence données. élevée et sur des grandes distances. Plus fiable et plus Fonctionne bien sur la plupart des Stabilité hotspots Wi-Fi, très stable. Stable sur les appareils supportant le NAT stable sur les réseaux moins protégés et sur les hotspots Wi-Fi, même derrière des routeurs sans fil. Intégré dans la plupart des systèmes Compatibilité Intégré dans la plupart des systèmes d'exploitation pour PC, d'exploitation pour PC, périphériques mobiles et périphériques mobiles et tablettes. A.29) tablettes. Compatible avec la plupart des systèmes d'exploitation d'ordinateurs de bureau, mobiles Android et tablettes. OPENVPN OpenVPN est un logiciel libre permettant de créer un réseau privé virtuel (VPN).Ce logiciel, disponible dans Pfsense, permet à des pairs de s'authentifier entre eux à l'aide d'une clé privée partagée à l'avance ou de certificats. Pour chiffrer ses données OpenVPN utilise le protocole SSLv3 de la librairie OpenSSL aussi présente dans Pfsense. A.29.a) Configuration d’un VPN LAN-to-LAN Création des certificats Avant de mise en place un tunnel VPN, il faut créer un certificat racine, des certificats de 35 serveur et des certificats d'utilisateur, pour cela nous allons dans l'onglet system > Cert Manager | CAs pour créer un certificat racine, ensuite il faut aller dans system > Cert Manager | Certificates pour créer un certificat de serveur et des certificats d'utilisateur. Configuration du serveur Maintenant il reste de mettre en place un serveur VPN dans l'onglet VPN > OpenVPN | server et de remplir les informations du LAN client, adresse IP du Tunnel, et d'autre information figures 41, 42 et 43. Configuration du client Sur le Pfsense du site "client", se rendre dans VPN > OpenVPN | Client et en remplir presque la même configuration que VPN serveur avec des changements au niveau d'adressage figure 44 et 45. En fin la configuration côté client est terminée. Il nous reste tout simplement à autoriser ou filtrer nos flux transitant à travers notre nouvelle interface qui apparaître sous le nom OpenVPN. Pour cela, se rendre dans Firewall > Rules | OpenVPN. Test de fonctionnement Pour disposer d'informations sur nos liens OpenVPN (état, date de début de mise en service, volume entrant/sortant, etc.), se rendre dans Status > OpenVPN, et pour les logs du pare-feu, se rendre dans Status > System logs > Firewall. A.29.b) Configuration VPN Nomade Création des certificats Comme dans le VPN LAN-to-LAN et avant de mise en place un tunnel VPN il faut créer un certificat racine, des certificats de serveur et des certificats d'utilisateur. Configuration du serveur Maintenant les certificats sont créer, il nous reste que la création et la configuration de notre serveur VPN, alors nous allons dans l'onglet VPN > OpenVPN | Wizards et nous suivons les instructions figure 46, 47, 48 et 49. Dès que nous terminons, il faut associer les utilisateurs à leurs certificats et extraire la configuration VPN de chaque utilisateur avec le package OpenVPN client Export figure 52 pour l'envoyer au client avec une méthode sécurisé comme la commande scp d'outil openssh ou autre méthode. 36 Configuration du client Pour le client la tâche est simple, il faut seulement télécharger la dernière version d’OpenVPN GUI à partir du site official Openvpn.net et de lancer l’installation, l’installeur va nous installer tout ce qu’il faut figure 50 et 51. Une fois l'installation terminer il restera de copie nos fichiers de configurations OpenVPN dans le dossier suivant C:\Program Files\OpenVPN\config est la configuration terminer. Maintenant il reste d'ouvrir OpenVPN GUI et de taper le nom d'utilisateur et le mot de passe pour établir la connexion avec le serveur VPN. Test de fonctionnement Après l'apparence du message le tunnel entre l'ordinateur du client et le serveur VPN est établé. Le client est dans le réseau local figure 53. J) Serveur proxy : SQUID et SQUIDGARD Un proxy est un composant logiciel informatique qui joue le rôle d'intermédiaire en se plaçant entre deux hôtes pour faciliter ou surveiller leurs échanges. Dans le cadre plus précis des réseaux informatiques, un proxy est alors un programme servant d'intermédiaire pour accéder à un autre réseau, généralement internet. Par extension, on appelle aussi proxy un matériel (un serveur par exemple) mis en place pour assurer le fonctionnement de tels services. Dans l'environnement plus particulier des réseaux, un serveur proxy (serveur mandataire en français) est une fonction informatique client-serveur qui a pour fonction de relayer des requêtes entre une fonction cliente et une fonction serveur (couches 5 à 7 du modèle OSI). Les serveurs proxys sont notamment utilisés pour assurer les fonctions suivantes: L’accélération de la navigation; La journalisation des requêtes (logging); La sécurité du réseau local; Le filtrage; L’anonymat. Dans Pfsense pour pouvoir utiliser les fonctionnalités de proxy, il faut ajouter les packages « squid » / « squid3 » et «squidguard», or un serveur Squid est un serveur mandataire (proxy) et un mandataire inverse capable d'utiliser les protocoles FTP, HTTP, Gopher, et HTTPS. Contrairement aux serveurs proxy classiques, un serveur Squid gère toutes les requêtes en un seul processus 37 d'entrée/sortie, non bloquant. C'est un logiciel libre distribué sous licence GNU GPL. En parallèle avec Squid nous utilisons aussi SquidGuard. C'est un redirecteur qui utilise la librairie Berkeley Database de sleepycat. Ses avantages : Il est rapide 250000 URLs par seconde sur un bi-xeon 3 GHz avec 12 catégories totalisant plus d'un million d'URLs ; Il permet de différencier la transformation (nous n'interdisons, nous transformons l'URL) suivant: o L'adresse de la machine; o L'identité de l'utilisateur; o L'URL (évidemment); o L'horaire de la consultation. La classe de redirection (par exemple n pouvons définir une classe publicité, une classe adulte, etc...); Insensibilité à la taille signifie aussi que l'on utilise moins les URLs génériques qui sont souvent source d'erreurs. En fait ses concurrents GPL sont tous au point mort depuis plusieurs années. Seul DansGuardian (qui est d'ailleurs un véritable proxy) est encore actif. Mais il fait payer ses Bases de données. A.30) Installation Nous commençons par l'installation des packages pour cela nous allons dans System > Packages | Availlable packages pour télécharger et installer les deux paquets Squid et Squidguard : A.31) Configuration Après l'installation est terminée nous allons dans Services > Proxy server | General pour sélectionner les interface concerner par SQUID et de cocher le mode transparent figure 54 puis allons dans Services > Proxy server | Access Control pour rajouter les ports (si manquant) figure 55 ensuite nous allons dans Services > Proxy filtre | General setting pour activer SQUIDGARD figure 56 et de mettre le lien de Blacklist (un exemple une blackliste que nous utilisons http://www.shallalist.de/Downloads/shallalist.tar.gz, il y a d'autre blackliste payantes ) figure 57, l’onglet Services > Proxy filtre | Blacklist dans laquelle nous téléchargeons la liste figure 58. Finalement il reste d'indiquer les catégories a bloqué dans Services > Proxy filtre | Common 38 ACL figure 59 et d'ajouter les domaines a bloqué dans Services > Proxy filtre | Target catégories. Attention il est très important d'ajouter ces 2 règles dans le pare-feu (Firewall > Rules) pour faire fonctionner le serveur proxy. HTTP Antivirus Proxy: HAVP K) HTTP Antivirus Proxy est un proxy avec le moteur d'antivirus ClamAV (un proxy avec un antivirus filtre). Il ne met pas en cache ou de filtrer le contenu. À l'heure actuelle, l'ensemble du trafic est scanné. La raison en est la chance de code malveillant dans presque tous les fichiers HTML par exemple (JavaScript) ou Jpeg. Principaux objectifs du HAVP sont les suivants : Continuer et non-blocage des téléchargements ; Lisse balayage de la dynamique et les pages d'accueil, protégé par mot de passe. Un petit schéma de fonctionnement : A.32) (Internet) →(HAVP) →(Squid) →(LAN) Installation et configuration du HAVP A.32.a) Installation Commençons par l'installation le package pour cela nous allons dans System > Packages | Availlable packages ensuite télécharger et installer le paquet HAVP antivirus figure 60. A.32.b) Configuration Au début nous commençons par configurer le proxy d'antivirus, dans l'onglet Services > Antivirus | Proxy Settings. Les étapes de la configuration sont les suivantes : Cocher la case "Enable Proxy" pour activer le proxy ; Mode du proxy : Parent de squid ; Interface du proxy : LAN ; Port du proxy : celui que l'on veut, sauf celui utilisé par Squid ; Langage : Français (c'est mieux) ; Taille maximum des fichiers scanner : 500k est suffisant (généralement les virus sont dans des petits fichiers) et permet de ne pas trop ralentir le système ; Cocher les cases "Log" et "Logsys" ; 39 Enregistrer les modifications figure 61. La partie proxy est maintenant configurée. Ensuite il faut configurer l'antivirus pour mettre à jour ses bases antivirales toutes les 12 heures sur un serveur hébergé en Europe. Et d'activer ses logs figure 62. Ne reste plus qu'à vérifier sur un poste du réseau que l'antivirus fait son boulot. Test fonctionnement A.33) Il existe un site très bien pour ce là, www.eicar.org . On tente de télécharger des fichiers de test proposés en téléchargement, et nous observe le résultat figure 63. Système de détection d'intrusion : SNORT L) Snort est un système de détection d'intrusion (ou NIDS) libre publié sous licence GNU GPL. Il analyse en temps réel les paquets qui circulent sur une ou plusieurs interfaces de notre pare-feu (couche application et transport du modèle TCP/IP). L'analyse permet de détecter les anomalies au sein des paquets (paquets trafiqués = forged packets) ou de repérer les signatures typiques d'un très grand nombre d'attaques réseau connues. Le blocage des paquets est majoritairement effectué à partir d'une analyse de la signature des paquets (payload). Snort pour effectuer ces analyses se fonde sur des règles. Celles-ci sont écrites par Sourcefire ou bien fournies par la communauté. Snort est fourni avec certaines règles de base mais cependant, comme tout logiciel, Snort n'est pas infaillible et demande donc une mise à jour régulière. Snort peut également être utilisé avec d'autres projets open sources tels que SnortSnarf, ACID, sguil et BASE (qui utilise ACID) afin de fournir une représentation visuelle des données concernant les éventuelles intrusions. A.34) Installation et configuration du SNORT A.34.a) Installation Allons dans System > Package > Available Packages et choisir le package Snort dans la liste et l'installer (comme dans les paragraphes précédents). 40 A.34.b) Configuration Configuration initiale de Snort et mise à jour Il est nécessaire de télécharger un jeu de règles afin de pouvoir ensuite les appliquer au filtrage de notre contenu. Nous disposons de plusieurs jeux de règles qui sont soit payants, soit gratuits. Donc nous allons dans Services > Snort > Global Settings figure. Pour les règles payantes : cocher "Install Snort VRT Rules" et inserer le code Oinkmaster. Nous pouvons aussi décider d'installer d'autres jeux de règles (Snort Community et Emerging Threat), ces jeux de règles sont moins stables que les règles fournies par Snort et produisent beaucoup plus de faux positifs. Il faut bien prendre soin, dans un premier temps, de ne pas bloquer les trames identifiées par le filtre. Dans premier temps il faut mettre les règles à jours, ensuite ils vont se mettre automatiquement à jour et un message nous indiquerons que l'opération est terminée. Nous pouvons vérifier cela dans Services > Snort > Updates figure. Configuration de l'interface Afin de pouvoir utiliser nos règles, il est nécessaire de les appliquer sur une interface de notre pare-feu. Il s'agit assez souvent de l'interface WAN, mais certaines règles peuvent aussi s'appliquer à d'autres interfaces (LAN, DMZ, …). Dans le cadre du déploiement dans un DataCenter, nous préférerons déployer cela sur le WAN car les attaques doivent être contrées au niveau du WAN. Pour empêcher nos utilisateurs d'utiliser des protocoles non souhaités, il est préférable de déployer cela sur le LAN. Alors pour régler ça nous allons dans Services > Snort > Snort Interfaces et ajouter une nouvelle interface à l'aide du bouton "+". Les interfaces Snort disposent de très nombreuses options que vous allez bientôt découvrir. Par défaut ne modifions que ce qui est nécessaire. Certaines règles étant liées à la façon dont une interface est configurée, la modification de paramètres au niveau des interfaces peut conduire à un blocage du démarrage de votre serveur figure. Activation des règles dans Snort Maintenant il faut activer les règles dans l'onglet Services > Snort > Snort Interfaces > WAN Categories figure. Une fois les règles activées, nous pourrons simplement y accéder et les configurer de façon plus 41 fines à partir de l’onglet Services > Snort > Snort Interfaces > WAN Rules. Chaque catégorie dispose de ses propres règles qui sont activées où désactivées par figure. L’onglet WAN Rules nous permet de configurer (activer / désactiver / modifier) chaque règle contenue à l’intérieur d’une catégorie. L’accès aux règles d’une catégorie se fait par l’intermédiaire du pop-up « Category » qui est présent sur la page. Les règles sont identifiées par leur SID (numéro unique). Elles utilisent souvent des alias définis sous forme de $NOM_DE_L_ALIAS - ces derniers peuvent et doivent être configurés dans la section Services > Snort > Snort Interfaces > WAN Variables de Snort. Par défaut certains Alias sont déjà configurés, les autres doivent être créés sous forme d'alias à partir de la section Firewall > Alias de Pfsense. L’onglet Services > Snort > Snort Interfaces > 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) figure. Attention : l’activation ou la désactivation des règles de pré-processing peut entrainer des blocages de Snort au démarrage. Certaines règles ayant besoin de certaine fonction de pré-processing pour fonctionner. Veillez donc à conserver une cohérence entre vos règles et les pré-process activés. Nous devrions maintenant être en mesure de démarrer Notre IDS Snort. Pour cela rendez-vous sur la page Services > Snort > Snort Interfaces > Snort Interfaces et démarrons cette interface en cliquant sur la croix rouge. Notre NIDS devrait démarrer sans problème. Si ce n’est pas le cas allons à la section « Logs » décrite ci-dessous pour une analyse plus approfondie du problème rencontré. La section « Log » permet d’avoir un aperçu des logs du module Snort. Ces logs peuvent aussi être renvoyés vers le système de log par défaut du pare-feu. A.34.c) Test de fonctionnement Il est maintenant possible de regarder ce que notre IDS à bloquer. Pour ce faire, rendez-vous sur la page Services > Snort > Alerts qui présente une liste des alertes interceptées par notre NIDS. Une fois la vérification de l’absence de faux positifs, nous pouvons activer le mode bloquant dans l’interface Services > Snort > Snort Interfaces > WAN Settings. M) Surveillance du réseau Bandwidthd permet de visualiser l'utilisation du trafic des clients de notre réseau local. Nous 42 serons en mesure de dire quels clients ont consommé le plus de bande passante sur une certaine période de temps, tout formatée dans un tableau agréable. A.35) Installation Allez dans System > Package > Available Packages et choisir le package Bandwidthd dans la liste et l'installer. A.36) Configuration Une fois que nous avons installé le paquet, nous pouvons afficher les paramètres en allant vers Services > Bandwidthd | Bandwidthd. Ici nous souhaitons activer bandwidthd et sélectionnons l'interface qui il va se lier à. Si nous surveillons l'utilisation de clients de notre réseau local, nous devons sélectionner l'interface LAN. L'autre chose que nous voulons spécifier ici est le sous-réseau que nous souhaitons signaler. Ceci est normalement la gamme IP privée (s) que nous utilisons dans notre LAN, dans notre cas, nous utilisons le réseau privé de classe C 192.168.0.0/24 pour notre adressage interne. A.37) Test de fonctionnement Après que Bandwidthd a été configuré et il est en place et fonctionne, alors nous devrions commencer à voir les rapports de bandwidthd en cliquant sur l'onglet Services > Bandwidthd | Accès bandwidthd. Ici nous pouvons voir les adresses IP qui ont consommé le plus de bande passante et le type de trafic qui il appartient. 43 La période de stage effectuée au sein de l’Université Cadi Ayyad Marrakech m’a permis de mettre en pratique les connaissances acquises tout au long de ces deux années en général. Il m’a aussi permis de savoir le rôle du service administration au sien d’un grand établissement qui ne cesse de satisfaire de suture son propre besoin. Après cette période que j’ai passé à l’intérieur de cet établissement, j’ai conclu que le stage est une période de transaction de l’esprit, une transaction qui se fait du théorique vers la pratique, de l’abstrait vers le concret, d’un cadre restreint vers un espace libre et riche, mais qui est régit par des contraintes, qu’il faut respecter en faveur du bon fonctionnement du travail. 44 Lors du démarrage de l’ordinateur avec le CD ou l’ISO monté, un menu de boot apparaît. Selon les besoins nous pouvons choisir de démarrer Pfsense avec certaines options activées. Si aucune touche n’est appuyée, Pfsense bootera avec les options par défauts (choix 1) au bout de 8 secondes. Figure 12: menu de boot Appuyons sur “Entrée” pour booter avec les options par défaut. Figure 13: démarrer l’installation 45 Appuyer rapidement sur la touche “I” afin de démarrer l’installation. Figure 14: paramètres d’installation L’installation démarre, dès le premier écran nous pouvons régler différents paramètres notamment la police d’écriture et l’encodage des caractères. Ces options sont utiles pour des cas bien particuliers. Nous n’y toucherons donc pas. On sélectionne “Accept these Settings“. Figure 15: procéder à l’installation rapide On choisit “Quick/Easy Install” pour procéder à l’installation rapide. Le message qui suit, nous informe que le disque dur sera formaté et toutes les données présentes dessus seront effacées. On sélectionne “OK” et nous continuons. L’installation débute et copie les fichiers nécessaires sur le disque dur, nous devons part la suite choisir quel type de kernel nous voulons installer, étant sur un ordinateur nous choisissons le “Standard Kernel“. Une fois l’installation finie, on choisit “Reboot” et nous redémarrons sur notre nouvelle installation. 46 Lors du premier démarrage de Pfsense, il faut configurer les différentes interfaces (WAN, LAN, DMZ, etc.), il faut donc bien repérer vos différentes cartes réseaux afin de ne pas vous tromper dans votre configuration auquel cas vous n’aurez pas accès à l’interface web et votre pare-feu ne fonctionnera pas. Pfsense vous affiche vos différentes cartes réseaux avec leur adresse MAC, ce qui vous permettra de les différencier. Figure 16: configuration concerne l’utilisation des VLANs La première étape de configuration concerne l’utilisation des VLANs, pour l’instant ce que nous importe est la configuration de base de Pfsense, nous appuyons donc sur la touche “N“. Figure 17: déterminer l’interface WAN Nous devons ensuite déterminer quel interface est sur le côté WAN, pour cela on peut soit saisir manuellement le nom de l’interface, soit laisser Pfsense le faire automatiquement en appuyant sur “A“. La détection automatique est utile dans le cas d’un ordinateur physique, car il est rarement simple de différencier les cartes réseaux, et, l’adresse MAC n’est pas une donnée accessible facilement. En revanche, la détection ne fonctionnera que si vos cartes sont branchées et actives. 47 Nous passerons pour notre part en configuration manuelle, nous entrons donc le nom de la bonne carte à savoir pour notre cas “em0“. Figure 18: entrer le nom de la carte réseau Ensuite, nous faisons la même chose pour la carte réseau sur le LAN, nous entrons donc “em1“, nous noterons la précision de Pfsense qui nous indique, que cela activera le Pare-feu et le NAT. Nous pouvons par la suite créer d’autres interface réseaux (DMZ, Wifi, etc.), celle-ci nécessite bien sur une carte réseau pour chacune d’elle, nous en resterons là pour l’instant et appuierons sur “Entrée“. Pfsense nous résume alors l’attribution des cartes réseaux aux différentes interfaces et nous validons avec “Y“. Figure 19: menu de la console de Pfsense Une fois la configuration terminée, le menu de la console de Pfsense apparaît. Celui-ci est utile dans le cas de tâches administratives, comme l’oubli du mot de passe de l’interface web. Néanmoins la plupart des options présentes dans ce menu sont également disponibles via l’interface web. 48 Figure 20 : l'interface web Figure 21: configuration de l'interface DMZ 49 Figure 22 : exemple de création d'une règle du pare-feu Figure 23 : test de la réglé sur HTTP Figure 24 : création d'un Pool pour les serveurs web 50 Figure 25 : création d'un cluster web Figure 26 : configuration de la passerelle 51 Figure 27 : l'ajout d'un groupe de passerelle Figure 28 : modifier les règles par l'ajout de passerelle Figure 29 : vérification de la répartition de charge Figure 30 : règle pour pfsync 52 Figure 31: activation de la synchronisation Figure 32 : configuration de la synchronisation Figure 33 : test de la fonctionnalité 53 Figure 34: groupe de passerelle pour basculement Figure 35: mettre une limite de 1Mbits/s Figure 36: appliquer la limite dans les règles du pare-feu 54 Figure 37:test de la bande passante avant la limite Figure 38: test de la bande passante après la limite Figure 39: configuration de VPN LAN-to-LAN coté serveur 55 Figure 40: configuration de VPN LAN-to-LAN coté serveur Figure 41: configuration de VPN LAN-to-LAN coté serveur 56 Figure 42: configuration de VPN LAN-to-LAN coté client Figure 43: configuration de VPN LAN-to-LAN coté client Figure 44: configuration de Nomade coté serveur 57 Figure 45: configuration de Nomade coté serveur Figure 46: configuration de Nomade coté serveur Figure 47: configuration de Nomade coté serveur Figure 48 : l'installation de OpenVPN Client Export Utility 58 Figure 49: installation d'un client OpenVPN GUI Figure 50: installation d'un client OpenVPN GUI Figure 51 : la connexion est réussir 59 Figure 52 : configuration de SQUID Figure 53: configuration de SQUID Figure 54: activation de SQUIDGARD 60 Figure 55: configuration de SQUIDGARD Figure 56: télécharger blackliste Figure 57: bloquer certain catégories 61 Figure 58:installer HAVP Figure 59: configurer HAVP http proxy Figure 60: configurer l'update et logging 62 Figure 61: un simple test de HAVP Figure 62: mettre des jeux de règles pour snort Figure 63: mise à jour des jeux de règles de snort Figure 64: une interface de snort 63 Figure 65: configuration les règles des catégories Figure 66: installer bandwithD Figure 67: configuration de bandwithD Figure 68: table de trafic. 64 65 Figure 1: organigramme de la FSSM............................................................................................ 8 Figure 2 : le réseau MARWAN................................................................................................... 10 Figure 3 : la topologie de la FSSM ............................................................................................. 10 Figure 4 : Figure illustre la zone DMZ ....................................................................................... 25 Figure 5 : représente la répartition de charge pour un site web .................................................. 27 Figure 6 : représente le basculement pour un site web ............................................................... 27 Figure 7: représente la répartition de charge pour Multi-WAN.................................................. 28 Figure 8 : illustre CARP avec IP virtuel ..................................................................................... 30 Figure 9 : basculement dans Multi-WAN ................................................................................... 32 Figure 10 : illustration un VPN LAN-to-LAN. .......................................................................... 34 Figure 11: illustration un VPN Nomade ..................................................................................... 34 66 Pfsense.org fr.wikipedia.org/wiki/Pfsense marwan.ma fr.wikipedia.org/wiki/R%C3%A9partition_de_charge fr.wikipedia.org/wiki/Basculement_%28informatique%29 freebsd.org openvpn.net commentcamarche.net developpez.net 67