Vous êtes sur la page 1sur 88

Sécurité avancée des réseaux

Filtrage 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
La Grande Muraille

filtrage de paquets
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 DROP
iptables -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
Fonctionnement:

Tous les paquets émis par des processus locaux au routeur


traversent la chaine OUTPUT.
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 et
INVALID
• 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

Vous aimerez peut-être aussi