Upload
roch-ferreira
View
108
Download
3
Embed Size (px)
Citation preview
Firewall sous Linux
Netfilter / iptables
Introduction
Le sous système de traitement de paquets
réseau linux s’appelle Netfilter
La commande employée pour le configurer
est Iptables
Intérêts
Filtrage de paquets Traduction,Translation d’adresse réseau Modification de paquets
Les commandes iptables opèrent au niveau de la couche osi 3 (couche réseau)
Exemple de commande
##iptables –t filter –A INPUT –i eth1 -j DROPiptables –t filter –A INPUT –i eth1 -j DROP -t filter = table filter -A INPUT = ajoute au « point d’entrée »Input -i eth1 = interface (carte réseau)eth1 -j DROP = -j (jump) que fait-on du paquet DROP (elimine)
En clair : on interdit tout entrée sur eth1
Les points d’entrées
Pré-routage PREROUTING Entrée INPUT Transfert FORWARD Post-routage POSTROUTING Sortie OUTPUT
Flux des paquets
Points d’entrées du NAT
Flux des paquets
Points d’entrées pour le filtrage
Flux des paquets
Points d’entrées pour l’amputation (mangle)
Les points d’entrées
FORWARD (transfert) Permet le traitement des paquets qui arrivent
vers une passerelle, arrivant vers l’une des interfaces et ressortant immédiatement par une autre.
Les points d’entrées
INPUT (entrée) Permet le traitement des paquets
immédiatement avant qu’ils ne soient délivrés au processus local.
Les points d’entrées
OUPUT (sortie) Permet le traitement des paquets
immédiatement après leur génération par un processus local.
Les points d’entrées
Postrouting (post-routage) Permet le traitement des paquets
immédiatement juste avant qu’ils ne quittent l’interface réseau.
Les points d’entrées
Prerouting (pré-routage) Permet le traitement des paquets
immédiatement après leur traitement par l’interface réseau.(vérification de leur somme de contrôle et suppression des paquets non autorisés en raison de l’activation du mode
promiscuous de l’interface réseau)
Les Tables
Iptables intègre trois tables par défaut
NAT Utilisée en conjonction avec le suivi de connexion pour rediriger les connexions pour la traduction d’adresses réseau.
Utilise les points d’entrée (chaînes)
Output, Postrouting et prerouting
Les Tables
Filter Utilisée pour configurer les politiques de sécurité relatives au trafic autorisé à entrer, sortir ou transiter par le PC
Iptables utilisera cette table par défaut si aucune autre n’est explicitement désignée.
Utilise les points d’entrée (chaînes)
Forward, Input et Output.
Les Tables
mangle Utilisée pour modifier les paquets comme la suppression de certaines option IP.
Utilise les points d’entrée (chaînes)
Forward,Input,Output, Postrouting et prerouting
Actions possibles sur les paquets
Ces actions également appelés cibles
ACCEPT
Autoriser le paquet à passer à l’étape suivante du traitement.
Actions possibles sur les paquets
Ces actions également appelés cibles
DROP
Arrêter complètement le traitement du paquet. Ne pas appliquer les autres règles, chaînes ou tables.
Actions possibles sur les paquets
Ces actions également appelés cibles
DROP
Arrêter complètement le traitement du paquet. Ne pas appliquer les autres règles, chaînes ou tables.
Reject (rejeter) fournira un retour à l’émetteur
Flux des paquets
Ordre suivant lequel les paquets sont présentés aux tables
Lors du forwardingNat PreroutingFilter ForwardNat Postrouting
Le paquet que vous voulez filtrer en « forward » n’at-il pas était modifié en NAT lors de son entrée (prerouting) ?
Flux des paquets
Ordre suivant lequel les paquets sont présentés aux tables
Lors d’une entrée vers un processus local Input
Nat Prerouting
Filter input
Flux des paquets
Ordre suivant lequel les paquets sont présentés aux tables
Lors d’une sortie du processus local OuputNat Output
Filter Output
Nat Postrouting
Flux des paquets
Ordre suivant lequel les paquets sont présentés aux tables
Lors d’un transit d’un processus local vers un autre
processus local Nat Output
Filter Output
Filter Input
Source nat et Masquerade
Le SNAT est utilisé pour partager une connection Internet entre plusieurs ordinateurs.
Le poste disposant de la connection va modifier l’adresse source des paquets sortant en la remplaçant par l’IP publique fixe de la passerelle.
Lorsque le serveur répond il envoie ses paquets à la passerelle. Celle-ci va modifier l’adresse de destination pour mettre celle de la machine du LAN
Source nat et Masquerade
Le SNAT implique la modification des adresses et/ou des ports source des paquets juste avant qu’ils ne quittent le noyau.
Cette modification doit être effectuée dans la chaîne Postrouting de la table nat
Source nat et Masquerade : 2 solutions
Si vous avez une IP publique fixe
#iptables –t nat –A Posrouting –o eth0 –j SNAT
Si vous avez une IP publique dynamique
#iptables –t nat –A Posrouting –o eth0 –j masquerade
L’option masquerade gère les changement d’adresse et les coupures de connexion
Destination NAT
Vous héberger un serveur web dans une DMZ. Vous souhaitez que le public y accède. L’adresse public de votre passerelle sera demandée
par les clients du net. Le serveur de votre DMZ à l’adresse 192.168.2.1 et
il écoute sur le port 8080 #iptables –t nat –A Prerouting –i eth0 –p tcp –dport
80 –j DNAT –to-destination 192.168.2.1:8080
#iptables –t nat –A Prerouting –i eth0 –p tcp –dport 80 –j DNAT –to-destination 192.168.2.1:8080
-t nat table Nat -A Prerouting on ajoute une règle en (entrée d’interface) -i etho on précise le sens (–i=input) et la carte réseau -p TCP on indique le protocole TCP --dport 80 le port de destination prévu à l’origine. -J jump, quel action on va faire subir au paquet. DNAT modification de la destination -to—destination 192.168.2.1:80 on précise la nouvelle
destination
La syntaxe d’Iptables
#iptable –t filter -A input –p TCP –S 192.168.3.1 –j drop
Table
Nat
Filter
Mangle
Chaîne
Prerouting
Postrouting
Input
Outpout
forward
Sélection
-p protocole
-S source
Action
-j
Drop paquet rejeté
Accept paquet accepté
La syntaxe d’Iptables
Lister les règles -L Retirer les règles -F Ajouter une règle –A Inserer une nouvelle règle –I Remplacer une règle –R