Filtrage des paquets - Université Sorbonne Paris Nordzhang/contenu/Filtrage.pdf · 2014. 5....

Post on 19-Aug-2020

0 views 0 download

Transcript of Filtrage des paquets - Université Sorbonne Paris Nordzhang/contenu/Filtrage.pdf · 2014. 5....

Sécurité avancée des réseauxFiltrage des paquets

IUT d’Auxerre

Département RT

2ème année 2013-2014

ZHANG Tuo

tuo.zhang@u-bourgogne.fr

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