filtrage des paquets - université sorbonne paris nordzhang/contenu/filtrage.pdf · 2014. 5....
TRANSCRIPT
Sécurité avancée des réseauxFiltrage des paquets
IUT d’Auxerre
Département RT
2ème année 2013-2014
ZHANG Tuo
Outline
• Pare-feu & Filtre de Confiance
• Filtrage de paquets
• Pare-feu Linux
• Exemple
• Autres mécanismes
Pare-feu et Filtre de Confiance requirement
Fonctions de filtrage
Décomposition et recomposition des trames
Pare-feu (Firewall)(1/2)
Pare-feu(2/2)
• Définition
– Ensemble de composants appliquant une politique de contrôle d'accès entre deux réseaux
• Fonctions
– Autoriser ou interdire l'ouverture d'un service utilisant un protocole
– Autoriser ou bannir une adresse IP source / destination
– Vérifier / inspecter la conformité du trafic
• Principe
– Tout ce qui n'est pas explicitement autorisé, est interdit
• Objectifs
– Se protéger des malveillances "externes"
– Éviter la fuite d’information non contrôlée vers l’extérieur
– Surveiller les flux d'informations internes / externes
– Faciliter l’administration du réseau
Types de pare-feu(1/2)pare-feu à filtrage de paquets
Types de pare-feu(1/2)pare-feu à filtrage de paquets
filtrage de paquets
La Grande Muraille
Filtrage de paquets
Filtrage de paquets
Différence entre filtrage statique et dynamique
• Le filtrage statique analyse les paquets indépendamment les uns des autres– Pour tcp seul les flags sont regardés pour «established »
• Le filtrage dynamique introduit la notion de session (Aussi bien en TCP qu’en UDP)– un flux de retour sera autorisé uniquement si
on a déjà « vu passer un paquet similaire » dans
l’autre sens
Les Décision de firewall
Exemple de règle en entreprise
Avantages et Inconvénients
Différents Types de firewalls
• Pare-feu niveau réseau(Iptables, paquet filter,…)– Firewall fonctionnant à un niveau bas de la pile TCP/IP
– Basé sur le filtrage des paquets
– Possibilité (si mécanisme disponible) de filtrer les paquets suivant l’état de la connexion
Intérêt: Transparence pour les utilisateurs de réseau
• Pare-feu au niveau applicatif.(inetd, xinetd,…)– Firewall fonctionnant au niveau le plus haut de la pile TCP/IP
– Généralement basé sur des mécanisme de proxy
Intérêt: Possibilité d’interpréter le contenu du trafic
• Pare-feu des applications. (/etc/ftpaccess pour ftp,…)– Restrictions au niveau des différentes applications
Proxy(1/2)
Proxy (2/2)
Filtrage applicatif(Proxy,…)
DMZ(DeMilitarized Zone)(1/2)
• Définition: – Une zone démilitarisée est un sous-réseau se trouvant
entre le réseau local et le réseau extérieur.
• Propriétés: Les connexions à la DMZ sont autorisées de n’importe où.
Les connections à partir de la DMZ ne sont autorisées que vers l’extérieur.
• Intérêt: Rendre des machines accessible à partir de
l’extérieur(possibilité de mettre en place des serveurs( DNS,SMTP,…) )
DMZ(DeMilitarized Zone)(2/2)
DMZ
DMZ
Bastion
Architecture(1/2)
Architecture(1/2)
• Exemple
Configurations
NAT(Network Address Translation)
• C’est aussi une mécanisme de filtrage des paquets
– Permet de renuméroter les adresse et les ports source/destination
– Traduction dynamique ou statique
– Table de correspondances adresse: port en entrée/ adresse : port traduite
NAT statique
NAT statique: Principe
NAT dynamique:Masquerading
NAT dynamique: Principe(1/2)
NAT dynamique: Principe(2/2)
Pare-feu Linux
Linux firewall
• Quand une paquet arrive à la firewall de linux, il peut être accepté par application de hôte ou bien transféré par l’autre interface d’après sa destination.
• Pare-feu libre– Netfilter/iptables(Linux)
netfilter
• Un framework implémentant un pare-feu au sein du noyau Linux.(version>=2.4)
• Il prévoit des accroches(hooks)dans le noyau pour l’interception et la manipulation des paquets réseau lors des appels des routines de réception ou d’émission des paquets des interfaces réseaux.
Netfilter Hook
• 5 hooks dans la pile réseau, soit Pre-Routing, Local-IN, Forward, Local-Out et Post-Routing
Netfilter Hook routage
Netfilter Table
• Netfilter défini trois Tables différents, soit NAT, Mangle et Filter
• Utilisateur peut configure les actions à travers les tables différents pour satisfaire les exigences.
Netfilter Table
Filter table
3 chaînes :INPUT : Paquets rentrants vers des processus locaux OUTPUT : Paquets sortant des processus locaux
FORWARD : Paquets passant d'une interface à l'autre
NAT table
• 3 chaînes :
– PREROUTING : Paquets rentrants dans la couche réseau
– POSTROUTING : Paquets sortants de la couche réseau
– OUTPUT : Paquets sortants des processus locaux
Mangle table
Table et Hook
Exemple pour expliquer iptables
• Supposons la configuration dans Filter table:
si on a une règle: protocole=ICMP, on fait DROPiptables -A INPUT -p ICMP -j DROP
Explication(flèche1)
Flèche1:le paquet transférer à travers les interfaces réseaux Le paquet entre de Pre-Routing, via Forward Post-Routing et
puis sort. Quand le paquet passe via Forward(Check Point A), on va check
si c’est paquet de ICMP et puis log.
Explication(flèche2)
• Le paquet entré dans application de Hôte Linux
– Le paquet passe via Pre-Routing, puis passe INPUT, donc faire le check si c’est paquet de ICMP dans le point B, si oui, log it.
Explication(flèche3)
• Paquet via hôte linux vers extérieur
– Via OUTPUT, Faire le check dans le Point C
Bilan
Tous les paquets émis par des processus locaux au routeur traversent la chaine OUTPUT.
Fonctionnement:
Bilan
Connection Tracking
• Un mécanisme permettant netfliter manager et contrôler l’état de connexion.
• On peut faire TCP Connection Tracking à travers iptables
• Quatre état(State) de TCP Connection Tracking : NEW、ESTABLISHED、RELATED etINVALID
• Sauf le paquet produit par le hôte est dans le chaine OUTPUT, toutes les autres Connection Tracking fonctionnent dans le chaine Pre-Routing.
État de Connection Tracking(connect TCP)
État de Connection Tracking(disconnect TCP)
État de Connection Tracking(connect UDP)
État de Connection Tracking(connect ICMP)
Commands iptables
• iptables est noyau de contrôle sur netfilter de userspace
• Trois genres de configuration iptables:
– Table, Chain, Rule
• Trois genres de tables: Filter,NAT, Mangle.
• Iptable –v –L peut lister toutes les règles et infos de table. Il est utilisé pour expliquer Table, Chain, Rule
Un exemple de résultat iptables -v -L
Format de command iptables
Ex:
Format iptables
Liste de iptables Table
Liste de iptables Table
Liste des autre iptables commands
Liste de iptables Generic match
Liste de iptables implicit match
Liste de iptables explicit match
Liste de iptables target/jump
EXEMPLE
Exemple1
• port 53 de hôte accepte un paquet UDP vient de 1.2.3.4 # iptables -A INPUT -p UDP -s 1.2.3.4 --dport 53 -j ACCEPT
• Rajouter une règle(Rule), puis le supprimer# iptables -A test -p tcp -j ACCEPT
# iptables -D test -p tcp -j ACCEPT
Exemple2
• accpte paquet ICMP comme 3(ping)# iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
• Si 20 paquet de tcp SYN se produit par seconde, log it, le prefix est SYN Flood.# iptables -A INPUT -p tcp --syn -m limit --limit 20/second -j \ LOG –logdatagrammeprefix "SYN Flood:"
Exemple3
• Fonctionnalité NAT d’iptables(1/2)
Exemple4-a
• Fonctionnalité NAT d’iptables(1/2)
Exemple4-b
• Fonctionnalité NAT d’iptables(1/2)
Fonctionnalités NAT d’Iptables (2/2)
Transfert de ports
Iptables et filtrage(1/2)
Iptables et filtrage(1/2)
Iptables et filtrage(2/2)
Iptables et filtrage(2/2)
Iptables et suivi des connexions(1/2)
Iptables et suivi des connexions(2/2)
Outils de diagnostic
• Traces iptables. Possibilité de tracer certaines actions iptables. exemple :1. Tracer toutes les actions iptables :
2. Rajouter une règle pour tracer les paquets rejetés
• nmap, nessus,. . . . Logiciels permettant de diagnostiquer l’état d’un firewall (trouver les ports ouverts, détecter les services utilisant les ports, . . . )
Outils et liens
Autres mécanismes de sécuritédétection d’instrusion(1/3)
Autres mécanismes de sécuritédétection d’instrusion(2/3)
Autres mécanismes de sécuritédétection d’instrusion(3/3)
Autres mécanismes de sécuritéIPS et Honeypots