INSIA SRT 3 FIREWALLS
Firewall ● Un dispositif logiciel ou matériel qui filtre le flux de données sur un réseau – Je choisis les flux qui peuvent entrer et sortir ● Pare-feu en français – Au théatre, un mécanisme qui empêche à un feu éventuel de se propager de la salle vers la scène. ● C'est la pierre angulaire de la sécurité sur un réseau – Il définit une politique d'accès aux ressources sur le réseau
Fonctionnement général ● On peut filtrer les flux selon plusieurs critères comme : – l'origine ou la destination des paquets ● adresse IP source / dest., port source / dest., interface – options des paquets ● flags, TTL, etc. – les données des couches hautes ● On interdit l'accès à certains site webs par ex. – en fonction des utilisateurs
Routeur Pare-feu ● Un pare-feu peut diviser un réseau en plusieurs sous-réseaux et appliquer des politiques de sécurités différentes à chacun – Il connecte donc plusieurs réseaux entre eux et relaie les paquets – Il fait donc office de routeur. ● Zones sécurisées complètement protégées – Zones privées ● Zones hébergeant des serveurs accessibles depuis Internet – Protection moindre – Zones démilitarisées (DMZ)
Catégories de pare-feu ● Evolutions avec le temps ● On intègre des nouvelles technologies – Stateless Firewall : ne tient pas compte des états de connexions – Statefull Firewall : tient compte des états de connexions et laisse passer en fonction – Pare-feu Applicatif : filtre au niveau 5-7 – Pare-feu identifiant (Accounting) : filtre en fonction de l'utilisateur – Pare-feu personnel : ne protège pas le réseau, mais la station
Stateless Firewall ● Dispositif le plus ancien ● Chaque paquet est examiné indépendamment – et comparé aux règles ● On comprend mieux l'inconvénient des firewalls stateless en comparant avec les firewalls statefull – Les stateless n'existent quasiment plus, car trop contraignants et pas adaptés aux risques actuels – Sa conception l'oblige à laisser passer certains paquets illégitimes ● Par exemple, si un firewall veut empêcher les connexions de l'extérieur, il va filtrer les paquets ● Mais doit laisser passer les paquets SYN/ACK retour des connexions sortantes – Des paquets SYN/ACK spoofés peuvent alors rentrer – cf. Attaque Kevin Mitnick
Statefull Firewall ● Les firewalls statefull tiennent compte des connexions ● Alors qu'en stateless, chaque paquet était traité de manière indépendante, – en statefull, on considère le paquet par rapport aux autres : ● Le paquet fait-il partie d'une connexion existente ? ● Est-il un fragment d'un autre paquet ? ● Est-il une réponse à un autre paquet ? ● Exemple pour les fragments : – En stateless, on doit laisser passer tous les fragments – En statefull, seuls les fragments qui font partie d'un paquet légitime sont autorisés ● Les autres sont jetés ; par exemple des fragments générés par un pirate.
Statefull Firewall (suite) ● On a donc un meilleur contrôle des flux ● En plus de repérer les sessions courantes, les firewalls statefulls identifient également les sessions en relation – Par exemple, une session TCP de service (port 21) est autorisée par le firewall – Un tunnel de transfert de données va être ouvert entre le client et le serveur : des ports dynamiques sont négociés dans le protocole FTP – Le firewall doit donc savoir lire le protocole FTP pour autoriser ce tunnel parallèle : on tend déjà vers du firewall applicatif, même si la finalité concerne le niveau 4 (contrairement au filtre applicatif) – De plus, la plupart des routeurs implémentent ce type de filtrage ● On se demande alors l'intérêt d'un Firewall dédié
Pare-feu applicatif ● Le plus récent. Répond à un besoin nouveau, valeur ajoutée par rapport à un simple routeur : ● Pour contourner le filtrage des ports par les firewalls, certains protocoles créent un tunnel TCP sur les ports autorisés : – le firewall ne m'autorise pas à faire sortir du Emule sur le port standard ● Alors j'utilise le port 80 autorisé en sortie ● Il est donc nécessaire d'examiner le contenu des paquets passant sur le port autorisés – Le contenu est-il légitime ? – C'est l'objectif du filtre applicatif. – Nécessité d'ouvrir la donnée dans les paquets ● Très gourmand en processeur ● Firewall doivent être plus puissants
Pare-feu identifiant ● Les connexions filtrées par le firewall sont authentifiées par l'utilisateur – On laisse passer en fonction de l'utilisateur qui se connecte ● et non plus en fonction de l'adresse IP – Collaboration entre le Firewall et les stations ● Voir même avec un contrôleur de domaine Microsoft ● Des solutions existent pour BSD (authpf) et Linux (NuFW)
Pare-feu personnel ● L'augmentation de la sécurité a amené les pirates a envisager d'autres solutions ● Il est devenu difficile d'attaquer de l'extérieur – On va donc attaquer de l'intérieur ! – En abusant l'utilisateur, il est possible d'installer de trojans sur les machines utilisateurs ● Ces trojans exécutent des ordres qu'ils vont chercher sur Internet – Puisqu'ils sont autorisés à sortir ● L'objectif du firewall personnel sur la station, est d'empêcher les trojans d'agir – En plus d'offrir à la machine une seconde protection contre l'extérieur
Implémentations connues ● Versions libres – Netfilter/Iptables, pare-feu libre des noyaux Linux 2.4 et 2.6. – Packet Filter ou PF, pare-feu libre de OpenBSD. – IPFilter ou IPF, pare-feu libre de BSD et Solaris 10. – Ces FW sont très performants ● Versions propriétaires les plus connues – Checkpoint Firewall1 – Cisco Pix – Juniper Screen OS