Les firewalls libres : netfilter, IP Filter et Packet Filter



Documents pareils
Sécurité des réseaux Firewalls

Administration réseau Firewall

TP4 : Firewall IPTABLES

FILTRAGE de PAQUETS NetFilter

IPFilter. IPFilter IPFILTER: IN/OUT/FORWARD? IPFilter: chaîne FORWARD? Exemple: IPFilter: syntaxe de base

Licence 3 Systèmes et Réseaux II. Chapitre V : Filtrage

Filtrage IP MacOS X, Windows NT/2000/XP et Unix

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

Netfilter & Iptables. Théorie Firewall. Autoriser le trafic entrant d'une connexion déjà établie. Permettre le trafic entrant sur un port spécifique

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Sécurité et Firewall

TP Linux : Firewall. Conditions de réalisation : travail en binôme. Fonctionnement du parefeu Netfilter. I Qu est ce qu'un firewall?

RAPPORT SUR LES CAPACITÉS DE PF POUR LA HAUTE DISPONIBILITÉ

Formation Iptables : Correction TP

Administration Réseaux

Linux Firewalling - IPTABLES

avec Netfilter et GNU/Linux

Alexis Lechervy Université de Caen. M1 Informatique. Réseaux. Filtrage. Bureau S3-203

Fonctionnement de Iptables. Exercices sécurité. Exercice 1

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

TRAFFIC SHAPING SOLUTIONS OPEN SOURCE

TP 3 Réseaux : Subnetting IP et Firewall

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

pare - feu généralités et iptables

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

Conférence Starinux Introduction à IPTABLES

EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES ACTIVITE N 1. Thème de l activité : Configuration d un firewall

Firewall et NAC OpenSource

Exemples de commandes avec iptables.

Introduction. Adresses

TP SECU NAT ARS IRT ( CORRECTION )

Devoir Surveillé de Sécurité des Réseaux

Haka : un langage orienté réseaux et sécurité

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Master 1 ère année. UE Réseaux Avancés I. Corrections décembre Durée : 2h Documents autorisés

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

OpenBSD Spamd. Nicolas Greneche. Mathrice Rouen MAPMO Projet SDS

Sécurité GNU/Linux. Iptables : passerelle

Le filtrage de niveau IP

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

Sécurité d IPv6. Sécurité d IPv6. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr

Rappels réseaux TCP/IP

Réseau - VirtualBox. Sommaire

L3 informatique Réseaux : Configuration d une interface réseau

Packet Tracer : configuration des listes de contrôle d'accès étendues, scénario 1

Plan. Programmation Internet Cours 3. Organismes de standardisation

But de cette présentation. Proxy filtrant avec Squid et SquidGuard. Serveur proxy. Serveur proxy. Hainaut P

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

Architecture réseau et filtrage des flux

Figure 1a. Réseau intranet avec pare feu et NAT.

Iptables. Table of Contents

ATELIER NETFILTER : LE FIREWALL LINUX EN ACTION

Sécuriser son réseau. Sécuriser son réseau Philippe Weill (IPSL/LATMOS) Frédéric Bongat (SSI/GOUV/FR)

Ingénieurs 2000 Informatique et Réseaux 3ème année. Les Firewalls. Masquelier Mottier Pronzato 1/23 Nouvelles Technologies Réseaux

RESEAUX TCP/IP: NOTIONS AVANCEES. Preparé par Alberto EscuderoPascual

Proxy et reverse proxy. Serveurs mandataires et relais inverses

Réalisation d un portail captif d accès authentifié à Internet

TAGREROUT Seyf Allah TMRIM

Internet Protocol. «La couche IP du réseau Internet»

Réseaux IUP2 / 2005 IPv6

TCP/IP, NAT/PAT et Firewall

Nmap (Network Mapper) Outil d exploration réseau et scanneur de ports/sécurité

Plan. Rappels sur Netflow v1 v8. Netflow v9. Collecteur UTC «IPFlow» Cisco IOS : Implémentation de Netflow IPv6

Surveillance et corrélation de flux réseaux via sondes applicatives embarquées

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

L outil Nmap-Stateful. Olivier Courtay Thomson R&D / IRISA

Environnements informatiques

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

pfsense Manuel d Installation et d Utilisation du Logiciel

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Première approche d'un outil merveilleux hping

DIGITAL NETWORK. Le Idle Host Scan

Réseaux - Cours 4. Traduction d adresse (NAT/PAT) et Service de Nom de Domaine (DNS) Cyril Pain-Barre. IUT Informatique Aix-en-Provence

Infocus < >

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Le Tunneling DNS. P.Bienaimé X.Delot P.Mazon K.Tagourti A.Yahi A.Zerrouki. Université de Rouen - M2SSI. 24 février 2011

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Sécurité des réseaux Les attaques

Présentation du modèle OSI(Open Systems Interconnection)

acpro SEN TR firewall IPTABLES

FACILITER LES COMMUNICATIONS. Le gestionnaire de réseau VPN global de Saima Sistemas

Introduction. Conclusion. Sommaire. 1. Installation de votre routeur Coyote Linux Configuration requise et installation du matériel.

Déployer des services en IPv6

Architectures sécurisées

Découverte de réseaux IPv6

Introduction à l'analyse réseau Philippe Latu philippe.latu(at)linux-france.org

Programme formation pfsense Mars 2011 Cript Bretagne

TER Réseau : Routeur Linux 2 Responsable : Anthony Busson

Vue d'ensemble de NetFlow. Gestion et Supervision de Réseau

Les systèmes pare-feu (firewall)

Année Universitaire session 1 d automne Parcours : CSB5 Licence 3 STS Informatique

TP 1 : LES COMMANDES RESEAUX Matière: RESEAUX LOCAUX

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

NuFW Howto. Eric Leblond Vincent Deffontaines Jean Baptiste Favre

CONFIGURATION FIREWALL

Les ACL Cisco. F. Nolot Master 2 Professionnel STIC-Informatique 1

Gestion et Surveillance de Réseau

Transcription:

Les firewalls libres : netfilter, IP Filter et Packet Filter Linux Expo Paris 1er Février 2002 Jean-Baptiste Marchand Jean-Baptiste.Marchand@hsc.fr Hervé Schauer Consultants Firewalls libres : netfilter, IP Filter et Packet Filter p.1

Firewalls Firewalls Logiciel de contrôle d accès au niveau réseau Fonctionnalité principale : filtrage IP Fonctionnalité supplémentaire souvent présente : traduction d adresses et de ports Filtrage IP Idée : contrôler les paquets IP autorisés à atteindre un hôte Intérêt : sécuriser un hôte de façon globale (au niveau réseau) Traduction d addresses et de ports Idée : récrire les en-têtes des paquets Intérêt : faire face à la pénurie d adresses routables sur l Internet Firewalls libres : netfilter, IP Filter et Packet Filter p.2

Firewalls libres netfilter Filtre de paquets du noyau Linux 2.4 Successeur d IPchains (Linux 2.2) Conçu par Paul "Rusty" Russell Développé par un noyau dur de 5 personnes Contributions pour des améliorations ou corrections IP Filter Filtre de paquets fonctionnant sous Unix libres et propriétaires Intégré dans FreeBSD et NetBSD Conçu et développé par Darren Reed Packet Filter Filtre de paquets dans OpenBSD (à partir de la version 3.0) Conçu par Daniel Hartmeier Développé par l équipe d OpenBSD Firewalls libres : netfilter, IP Filter et Packet Filter p.3

Filtrage IP standard Critères Interface réseau : entrée ou sortie Adresses IP (source et destination) : hôte ou sous-réseau Champs de l en-tête IP Fragmentation TOS et TTL Options IP Protocoles de niveau 4 : TCP, UDP et ICMP Ports source et destination (TCP et UDP) Drapeaux (TCP) Actions Types et codes (ICMP) Laisser passer Bloquer (façon silencieuse) Rejeter (message ICMP ou segment TCP avec drapeau RST) Firewalls libres : netfilter, IP Filter et Packet Filter p.4

Filtrage à états Principe Filtrage dynamique, en conservant des états pour les communications en cours Seuls des paquets correspondants à un état pré-existant sont acceptés Intérêt Simplifie l écriture des règles de filtrage Améliore la sécurité, en n autorisant que le trafic effectivement licite Protocoles TCP Segments appartenant à une connexion TCP en cours UDP Datagrammes en réponse à un datagramme UDP émis Messages ICMP d erreur ICMP Messages ICMP en réponse à un message ICMP émis Firewalls libres : netfilter, IP Filter et Packet Filter p.5

Filtrage à états : mise en oeuvre Mise en oeuvre Création d un état lors de la traversée du premier paquet Mémorisation de paramètres identifiant de façon unique une communication Validation des paquets par comparaison des états courants Expiration des états après un temps paramétrable Paramètres conservés TCP Adresses source et destination Ports source et destination Type, code, identifiant et numéro de séquence (ICMP) S assurer que des segments TCP font partie d une connexion en cours est complexe Real Stateful TCP Packet Filtering in Ipfilter http://home.iae.nl/users/guido/papers/tcp_filtering.ps.gz Firewalls libres : netfilter, IP Filter et Packet Filter p.6

Traduction d adresses et de ports Traduction d adresses Uni-directionnelle Traduction en sortie d adresses (typiquement) privées en adresse(s) publique(s) Possibilité de changer le port source Bi-directionnelle Traduction d une adresse (typiquement) publique en une adresse (typiquement) privée et réciproquement Redirection de ports Rediriction d un port en entrée vers un autre, en modifiant l adresse de destination ou non Mise en oeuvre Fonctionnalités présentes dans netfilter, IP Filter et Packet Filter Ne sont pas détaillées ici Firewalls libres : netfilter, IP Filter et Packet Filter p.7

netfilter : chaînes Règles de filtrage placées dans des chaînes Chaîne : sous-programme Règles de filtrage : instructions Une des 3 chaînes standards est obligatoirement traversée : INPUT : paquets à destination de la machine locale OUTPUT : paquets émis par la machine locale FORWARD : paquets transitant par la machine locale Incoming / \ Outgoing -->[Routing ]---> FORWARD -------> [Decision] \ / ˆ v / \ / \ OUTPUT INPUT \ / \ / ˆ ----> Local Process ---- (c) 2002 Rusty Russell Firewalls libres : netfilter, IP Filter et Packet Filter p.8

netfilter : règles de filtrage Règles de filtrage Selection du trafic Cible à atteindre Cibles Classiques ACCEPT : paquet accepté DROP : paquet rejeté de façon silencieuse REJECT : paquet rejeté en informant l émetteur RETURN fin du parcours d une chaîne utilisateur cible par défaut dans les chaînes INPUT, OUTPUT ou FORWARD Journalisation LOG : paquet journalisé Extension du filtrage QUEUE redirection du paquet vers une application en mode utilisateur la décision de filtrage est prise par l application Firewalls libres : netfilter, IP Filter et Packet Filter p.9

netfilter : critères de filtrage Critères de filtrage classiques IP, TCP, UDP, ICMP Spécification des interfaces réseau Chaîne INPUT : interface d entrée Chaîne OUTPUT : interface de sortie Chaîne FORWARD : interfaces d entrée et de sortie Critères de filtrages moins classiques Filtrage par adresses MAC Filtrage sur l origine d un paquet local uid, gid, pid, sid du processus émetteur Firewalls libres : netfilter, IP Filter et Packet Filter p.10

netfilter : filtrage à états Protocoles TCP, UDP et ICMP Options permettant de comparer le trafic aux états NEW : création d un nouvel état ESTABLISHED : paquet appartenant à une communication en cours RELATED : paquet lié à une communication en cours Message ICMP d erreur Trafic lié au fonctionnement d un protocole applicatif INVALID : paquet non-identifié parmi les communications en cours Stratégie Créer un état au début de communication avec NEW Accepter les paquets liés aux communications en cours ESTABLISHED RELATED Firewalls libres : netfilter, IP Filter et Packet Filter p.11

netfilter : écriture de règles Règles Options du programme iptables Evaluation Parcourues depuis le début de la chaîne Arrêt du parcours en cas de correspondance d une règle Politique par défaut en fin des chaînes standards Retour à la chaîne parente en fin des chaînes utilisateurs Chaînes utilisateurs Possibilité de créer de nouvelles chaînes Chaînes Améliore l efficacité du filtrage Regroupe des règles liées à un même type de trafic Placer une politique par défaut pour les chaînes standards Ajouter les règles en fin de chaîne Firewalls libres : netfilter, IP Filter et Packet Filter p.12

netfilter : exemple IFACE=eth0 MYLAN=192.168.1.0 MYWKS=192.168.1.22 MYDNS=192.168.1.53 MYADDR=192.168.1.42 # vide les chaînes standards iptables --flush # chaînes standards bloquent par défaut iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # Filtrage à états iptables -A OUTPUT -i $IFACE -m state --state ESTABLISHED, RELATED -j ACCEPT iptables -A INPUT -i $IFACE -m state --state ESTABLISHED, RELATED -j ACCEPT # Administration par SSH iptables -A INPUT -i $IFACE -p tcp -s $MYWKS --sport 1024:65535 -d $MYADDR --dport 22 \ -m state --state NEW -j ACCEPT # Résolution DNS iptables -A OUTPUT -i $IFACE -p udp -s $MYADDR --sport 1024:65535 -d $MYDNS --dport 53 \ -m state --state NEW -j ACCEPT # Surveillance avec ping(1) iptables -A OUTPUT -i $IFACE -p icmp -s $MYADDR --icmp-type echo-request -d $MYLAN \ -m state --state NEW -j ACCEPT Firewalls libres : netfilter, IP Filter et Packet Filter p.13

IP Filter : généralités Fonctionnement Ordre 1. Filtrage en entrée 2. Traitement TCP/IP du noyau 3. Filtrage en sortie Schéma Règles http://coombs.anu.edu.au/ avalon/ipfil-flow.html Spécifiées dans un fichier de configuration Syntaxe aisément compréhensible Possibilité de créer des groupes de règles Regroupement de règles portant sur un même type de trafic Mot clés head et group Deux jeux de règles possibles Actif Inactif Firewalls libres : netfilter, IP Filter et Packet Filter p.14

IP Filter : règles de filtrage Évaluation des règles Lues dans l ordre du fichier Celle qui s applique est la dernière Mot clé quick permet d arrêter le parcours des règles Filtrage à états keep frags autorise les fragments d un paquet en cours de réassemblage keep state autorise les paquets appartenant à une communication en cours Règles ne sont pas évaluées si le filtrage à états valide un datagramme Journalisation Option log au niveau d une règle Programme ipmon(8), journalisation via syslogd(8) Firewalls libres : netfilter, IP Filter et Packet Filter p.15

IP Filter : exemple ipf.conf # Administration par SSH pass in quick on xl0 proto tcp from 192.168.1.22 port > 1023 to 192.168.1.42 \ port = 22 flags S/SA keep state # Résolution DNS pass out quick on xl0 proto udp from 192.168.1.42 port > 1023 to 192.168.1.53 \ port = 53 keep state # Administraton avec ping(1) pass out quick on xl0 proto icmp from 192.168.1.42 icmp-type echo to 192.168.1.0/24 \ keep state block in on xl0 all block out on xl0 all Chargement des règles ipf -Fa -f /etc/ipf.conf Statistiques ipfstat Firewalls libres : netfilter, IP Filter et Packet Filter p.16

Packet Filter : généralités Historique Nouveau filtre de paquets pour OpenBSD 3.0 Mêmes fonctionnalités qu IP Filter Maintenu par les développeurs de l équipe d OpenBSD Fonctionnalités nouvelles Normalisation des paquets Protège les piles TCP/IP fragiles contre des paquets anormaux Vérifie et supprime certaines anomalies dans les en-têtes Réassemble les fragments Action scrub Renforcement des numéros de séquences initiaux (ISN) TCP Pour des systèmes dont les ISNs sont prévisibles car trop peu aléatoires Option modulate state Ponts filtrants Ponts Ethernet en standard sous OpenBSD : bridge(4) Filtrage sur l une des interfaces avec Packet Filter Firewalls libres : netfilter, IP Filter et Packet Filter p.17

Packet Filter : règles de filtrage Règles Syntaxe très proche de celle d IP Filter Sucre syntaxique pour écrire des règles de façon plus synthétique Ensembles (sets) regroupant des listes d attributs Définition et expansion de variables Même mode d évaluation qu IP Filter Journalisation Option log au niveau d une règle Paquets journalisés sur l interface pflog0 Journalisation au format tcpdump(8) avec pflogd(8) Différences avec IP Filter Ordre des règles optimisée à la volée Options head et group inutiles et non-supportées Gestion des fragments option keep frags remplacé par la directive scrub Firewalls libres : netfilter, IP Filter et Packet Filter p.18

Packet Filter : exemple # Extrait de la section 6 de la FAQ d OpenBSD # # http://www.openbsd.org/faq/faq6.html#pf # Define useful variables ExtIF="fxp0" # External Interface IntNet="1.1.1.0/24" # Our internal network NoRouteIPs="{ 127.0.0.1/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }" Services="{ www, https }" # Clean up fragmented and abnormal packets scrub in all # don t allow anyone to spoof non-routeable addresses block in quick on $ExtIF from $NoRouteIPs to any block out quick on $ExtIF from any to $NoRouteIPs # only allow our machines to connect via ssh pass in quick on $ExtIF inet proto tcp from $IntNet to any port = 22 # allow others to use http and https pass in quick on $ExtIF inet proto tcp from any to any port $Services flags S/SA # finally lock the rest down with a default deny block in quick on $ExtIF from any to any # and let out-going traffic out and maintain state on established connections pass out on $ExtIF from any to any keep state Firewalls libres : netfilter, IP Filter et Packet Filter p.19

Références : netfilter netfilter/iptables http://netfilter.samba.org HOWTO Networking Concepts HOWTO Packet Filtering HOWTO NAT HOWTO http://netfilter.samba.org/documentation/ Les caractéristiques de netfilter sous Linux 2.4 http://www.hsc.fr/ressources/presentations/netfilter-2.4/netfilter.html.fr Firewalls libres : netfilter, IP Filter et Packet Filter p.20

Références : IP Filter IP Filter http://www.ipfilter.org Pages de manuel FreeBSD et NetBSD ipf(5), ipf(8) http://www.freebsd.org/cgi/man.cgi IP Filter HOWTO http://www.obfuscation.org/ipf/ Traduction française par IDEALX : http://openbsd.idealx.org/doc/index.fr.html Fonctionnalités avancées (des règles) d ipfilter http://www.hsc.fr/ressources/breves/ipfilter.html Présentation de IP Filter à la BSDCON 2000 http://www.madison-gurkha.com/publications/bsdcon2000/ Firewalls libres : netfilter, IP Filter et Packet Filter p.21

Références : Packet Filter OpenBSD Packet Filter http://www.benzedrine.cx/pf.html Pages de manuel OpenBSD pf.conf(5), pfctl(8) http://www.openbsd.org/cgi-bin/man.cgi Section 6 de la FAQ OpenBSD http://www.openbsd.org/faq/faq6.html The OpenBSD Packet Filter HOWTO http://www.inebriated.demon.nl/pf-howto/ Traduction française par IDEALX : http://openbsd.idealx.org/doc/index.fr.html Firewalls libres : netfilter, IP Filter et Packet Filter p.22