Chapitre Ii Bravo
Chapitre Ii Bravo
Chapitre Ii Bravo
Ils se trouvent souvent sur des routeurs achetés dans le commerce par
de grands constructeurs comme Cisco, Nortel ou Mikrotik. Intégrés
directement dans la machine, ils font office de « boite noire », et ont
une intégration parfaite avec le matériel. Leur configuration est souvent
relativement ardue, mais leur avantage est que leur interaction avec les
autres fonctionnalités du routeur est simplifiée de par leur présence sur
le même équipement réseau. Souvent relativement peu flexibles en
terme de configuration, ils sont aussi peu vulnérables aux attaques, car
présent dans la « boite noire » qu'est le routeur. De plus, étant souvent
très liés au matériel, l'accès à leur code est assez difficile, et le
2
a) Avantages.
1. Généralités
2. Architecture / utilisation
3. Filtrage
4. Iptables
5. Exemple
4
●
.
●
Être un point central de contrôle de sécurité plutôt que de
multiples contrôles dans différents logiciels clients ou serveurs
5
●
Appliquer une politique de contrôle d’accès
●
Enregistrer le trafic (journaux de sécurité / logs) Ce que peut faire
un pare-feu :
●
Appliquer une défense en profondeur (multiples parefeux)
Ce que ne peut pas faire un pare-feu :
●
Protéger contre les utilisateurs internes (selon leurs droits)
●
Protéger un réseau d’un trafic qui ne passe pas par le pare-feu
(eg. Modems)
●
Protéger contre les virus
7
Fonctionnalités :
●
Principale → filtrage IP (TCP/UDP)
8
Filtrage IP ( TCP/UDP )
●
Idée → contrôler les paquets IP (TCP/UDP) autorisés à atteindre
un groupe de machines
●
Intérêt → sécuriser de manière globale !
9
__________
OSI
_ 2
__________
_
OSI 3
__________
_
OSI 4
__________
_
●
Idée → réécrire les en-têtes des paquets ; Intérêt :
10
Avantages :
●
gestion de la sécurité concentrée
●
capacité d’audit du trafic réseau
●
concentrer la maintenance sur une machine plutôt qu’un parc
Inconvénients :
●
nécessite une connaissance des protocoles filtrés
( TCP/IP, HTTP, FTP, SQL, … )
●
Compréhension du fonctionnement du pare-feu
(divers niveaux de filtrage, traduction d’adresses, …)
Implémentations logicielles :
Netfilter (moteur d'Iptables) ( Paul Russell )
●
Filtre de paquets du noyau Linux 2.4
●
Successeur d’IPChains (Linux 2.2)
12
Architecture / utilisation
14
Filtrage
20
Intérêt
Tables Chaînes
FILTER INPUT, FORWARD, OUPUT
NAT PREROUTING, POSTROUTING, OUTPUT
MANGLE PREROUTING, INPUT, FORWARD, OUTPUT,
PORTROUTING
Voici le chemin d'un paquet à destination de la machine:
1.Netfilter vérifie les règles de la chaîne PREROUTING et effectue le
changement d'adresse destination si une règle de PAT est trouvée
3.Si ce paquet est destiné à cette machine, le paquet est filtré par la
chaîne INPUT et les processus qui attendent le paquet le recevront.
Sinon, si :
4.le noyau n'a pas le forwarding autorisé (machine qui n'est pas
configurée en routeur), ou qu'il ne sait pas comment forwarder le
paquet, le paquet est 'dropé' (supprimé).
29
Sinon, si :
5.le forwarding est autorisé et que le paquet est destiné à un autre
réseau, le paquet va directement à la chaîne FORWARD.
Chaque chaîne possède une règle « policy » qui définit la cible par
défaut lorsqu'un paquet ne correspond à aucune règle.
Cela permet de définir si l'on accepte ou refuse les paquets par défaut.
Elle est généralement toujours à ACCEPT.
On peut la modifier grâce à l'option '-P' : # iptables -P INPUT ACCEPT
o
Options Voici les cibles les plus utilisées:
• De la table FILTER :
1.ACCEPT
2.DROP
3.REJECT
● De la table NAT :
1.chaîne POSTROUTING → SNAT (IP source convertie)
2.chaîne PREROUTING → DNAT (IP destination convertie)
● [!] –syn : spécifie que cette règle ne devrait satisfaire que les
paquets TCP qui initient la connexion Iptables: le module
state
● Capacité de créer des règles de comparaison fondées sur les
états des paquets grâce au module 'state' :
iptables –m state –state [!] [state1, state2, …]
Voici les états possibles :
● NEW : compare les paquets n’appartenant à aucune
connexion en cours
● ESTABLISHED : compare les paquets appartenant à une
connexion déjà ouverte
● RELATED : compare les paquets qui appartiennent à une
autre connexion.
Tout d'abord, listons les règles qui sont présentes sur la machine :
# iptables -nvL
… et comme les règles sont lues dans l'ordre, aucune des règles
ajoutées après le « REJECT ALL » ne seront lues.
Il faut donc les insérer plutôt que de les ajouter :
# iptables -I INPUT 2 -p tcp --dport 80 -j ACCEPT
Gardez à l'esprit que vos règles ne sont pas sauvegardées tant que
vous n'avez pas exécuté la commande :