21
CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°1 /XX MINISTÈRE MINISTÈRE DE LA DÉFENSE DE LA DÉFENSE Premier Maître Jean Baptiste FAVRE DCSIM / SDE / SIC / Audit SSI [email protected] NetFilter & Iptables Le pare-feu selon Linux

NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

  • Upload
    dinhthu

  • View
    240

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°1 /XX

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Premier Maître Jean Baptiste FAVREDCSIM / SDE / SIC / Audit SSI

[email protected]

NetFilter & IptablesLe pare-feu selon Linux

Page 2: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°2 /XX

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Au menuAu menu

Concept du pare-feu sous LinuxConcept du pare-feu sous LinuxNetfilter - IptablesNetfilter - IptablesIptablesIptables

PrincipeSyntaxe

ApplicationApplication

Page 3: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°3 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Concept du pare-feu sous LinuxConcept du pare-feu sous LinuxPrincipales fonctionnalitésPrincipales fonctionnalités

DNAT & SNATFiltre les couche MAC, IP, TCPPrise en charge de protocoles « particuliers »Modification de paquets « à la volée »« Statefull enabled »Modulaire...

Intervient en environnement noyau (NetFilter)Intervient en environnement noyau (NetFilter)Droits étendusVitesse d'exécution

Page 4: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°4 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Concept pare-feu sous LinuxConcept pare-feu sous LinuxLa mise au point des règles s'effectue en La mise au point des règles s'effectue en espace utilisateurespace utilisateur

Programme /sbin/iptables

Il faut être root (ouf !!) ou un utilisateur Il faut être root (ouf !!) ou un utilisateur autorisé (sudo)autorisé (sudo)Sauvegarde et restauration au démarrage Sauvegarde et restauration au démarrage possiblepossible

Soit par un script shell (ce que nous ferons)Soit directement les règles compilées

Page 5: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°5 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Principe de NetfilterPrincipe de Netfilter3 tables3 tables

Filter (table par défaut): module iptables_filter.oNAT: module iptables_nat.oMangle: module iptables_mangle.o

5 chaînes basiques5 chaînes basiquesPRE-ROUTING, INPUT, FORWARD, OUTPUT, POST-ROUTING

Des cibles (décisions)Des cibles (décisions)ACCEPT, DROP, LOG, REJECT, MASQUERADE, SNAT, DNAT, ... en fonction des tables

Page 6: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°6 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Architecture de NetfilterArchitecture de Netfilter

Page 7: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°7 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

La table FILTERLa table FILTERChaînes par défaut:Chaînes par défaut:

INPUT, FORWARD, OUTPUT

Page 8: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°8 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

La table NATLa table NATChaînes par défaut:Chaînes par défaut:

PREROUTING, OUTPUT, POSTROUTING

Page 9: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°9 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

La table MANGLELa table MANGLEChaînes par défaut:Chaînes par défaut:

PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING

Page 10: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°10 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Priorité des tablesPriorité des tablesPar défaut:Par défaut:

ConntrackMangleNatFilter

En fonction du point d'entrée:En fonction du point d'entrée:Ex: point d'entrée PRE-ROUTING

ConntrackMangleNAT

Page 11: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°11 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Priorité des tablesPriorité des tables

Page 12: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°12 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Le suivi de sessionsLe suivi de sessions

Géré par un module: ip_conntrackGéré par un module: ip_conntrackForme une pseudo-tableForme une pseudo-tableMaintient en mémoire un tableau des Maintient en mémoire un tableau des connexions « en cours »connexions « en cours »

Connexions TCP basées sur le premier paquetConnexions UDP basées sur un timeout

Page 13: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°13 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

La création de règles: syntaxe iptablesLa création de règles: syntaxe iptables/sbin/iptables/sbin/iptables

La table d'application (FILTER par défaut)La chaîne d'applicationUn motif de reconnaissanceLa cible représentant la décision à prendre

Ex:Ex:/sbin/iptables-t FILTER-A INPUT-p tcp --syn -s 192.168.0.2 --sport 1024: --dport 80-j ACCEPT

Page 14: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°14 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Les opérations sur les chaînesLes opérations sur les chaînes

-N <chaîne>-N <chaîne>Crée (Nouvelle) <chaîne>

-L <chaîne>-L <chaîne>Liste les règles de <chaîne>

-F <chaîne>-F <chaîne>Vide (Flush) les règles de <chaîne>

-Z <chaîne>-Z <chaîne>Remet à Zéro les compteurs de <chaîne>

Page 15: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°15 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Les opérations sur les chaînes (2)Les opérations sur les chaînes (2)-P <chaîne>-P <chaîne>

Fixe la cible (Politique) par défaut de <chaîne>Limité aux tables « basiques » (FILTER, NAT et MANGLE)

-E <ancienne_chaîne> <nouvelle_chaîne> -E <ancienne_chaîne> <nouvelle_chaîne> **Renomme (Échange) <ancienne_chaîne> en <nouvelle_chaîne>

-X <chaîne> -X <chaîne> **Supprime <chaîne>

** Ne fonctionnent pas avec les tables par Ne fonctionnent pas avec les tables par défaut (FILTER, NAT et MANGLE)défaut (FILTER, NAT et MANGLE)

Page 16: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°16 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Les opérations sur les règlesLes opérations sur les règles

-A <chaîne> [ Règle ]-A <chaîne> [ Règle ]Ajoute [Règle] à la fin de <chaîne>

-I <chaîne> n [ Règle ]-I <chaîne> n [ Règle ]Insère [Règle] à la nième position dans <chaîne>

-R <chaîne> n [ Règle ]-R <chaîne> n [ Règle ]Remplace la nième règle par [Règle] dans <chaîne>

-D <chaîne> n-D <chaîne> nDétruit la nième règle dans <chaîne>

Page 17: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°17 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Motif de reconnaissanceMotif de reconnaissanceBasiques:Basiques:

-p: protocole de niveau 4 (tcp, udp, icmp)-s: adresse IP/réseau source-d: adresse IP/réseau destination--sport: port TCP/UDP source--dport: port TCP/UDP destination-i: interface d'entrée-o: interface de sortie-f: paquet fragmenté--icmp-type: type de paquet ICMP

--icmp-type:

Page 18: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°18 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Motif de reconnaissance (2)Motif de reconnaissance (2)Modules de concordance (switch -m)Modules de concordance (switch -m)

state, mac, owner, ttl, multiport, limit, ...Exemple:-m multiport --dport 80,443-m state --state NEW-m state --state RELATED, ESTABLISHED

Valables dans toutes les tables, ...Valables dans toutes les tables, ...... mais pas toutes les chaînes... mais pas toutes les chaînes

Exemple:mac: PREROUTING, INPUTowner: POSTROUTING, OUTPUT

Page 19: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°19 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Les ciblesLes cibles

DROPDROPSupprime le paquet

ACCEPTACCEPTLaisse passer le paquet

LOGLOGA utiliser conjointement à la concordance LIMIT

REJECTREJECTComme DROP mais envoie un message ICMP

Page 20: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°20 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Les cibles (2)Les cibles (2)

-j <chaîne utilisateur>-j <chaîne utilisateur>Envoyer le paquet dans <chaîne utilisateur>

-j RETURN-j RETURNSort de <chaîne utilisateur> et retourne dans la chaîne appelante

-j QUEUE-j QUEUEEnvoie le paquet en espace utilisateur pour traitement

Page 21: NetFilter et Iptables - Publications · Concept du pare-feu sous Linux Netfilter - Iptables Iptables Principe Syntaxe Application. CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive

CFI – Juin 2005 – NetFilter 15 mai 2005 Diapositive N°21 /26

MINISTÈREMINISTÈREDE LA DÉFENSEDE LA DÉFENSE

Netfilter - IptablesNetfilter - Iptables

Questions ?Questions ?