« Le système d'exploitation GNU-Linux/Protection avec iptables » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 24 : Ligne 24 :
== Les actions sur les tables ==
== Les actions sur les tables ==
=== Le principe ===
=== Le principe ===

Par défaut, iptables est composé de 3 catégories appelées "chaînes" (chain) :

* INPUT : Chaîne où l'on règle le trafic entrant.
* FORWARD : Chaîne où l'on règle le trafic qui sera redirigé.
* OUTPUT : Chaîne où l'on règle le trafic sortant.

A chaque chaîne est attribuée une "politique" (policy), les deux principales sont :

* ACCEPT : Politique d'acceptation. Par défaut, tout ce qui n'est pas dans la chaîne est accepté.
* DROP : Politique de refus. Par défaut, tout ce qui n'est pas dans la chaîne sera rejeté. (utile pour filtrer les connections entrantes)

Un exemple concret. Par défaut, si vous n'avez jamais touché à votre iptables, voici ce que vous devez avoir :

# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

On constate ici que rien n'est sécurisé : tout entre (Chain INPUT, policy ACCEPT), tout sort (Chain OUTPUT, policy ACCEPT).

=== Le réglage simple ===
=== Le réglage simple ===
== Les conditions ==
== Les conditions ==

Version du 1 mai 2009 à 16:28

Iptables est un outil permettant de paramétrer Netfilter le filtre de paquet intégré à Linux.

Principe des tables

Netfilter utilise une liste de règles inscrites dans 3 tables : INPUT, OUTPUT, FORWARD.

Le paquet arrivant est voué à:

  • soit être filtré suivant les règle de la table INPUT pour être utilisé par un processus de la machine
  • soit être transféré à une autre machine en respectant les règle de la table FORWARD
  • soit quitter la machine dans les condition de la table OUTPUT

Le but est donc de modifier les tables en ajoutant et supprimant des règles dans les différentes tables. pour cela nous utilisons la commande iptables.

Syntaxe globale

#iptables <une action sur une table de netfilter> <la table en question> <condition(s) d'application> -j <action sur le paquet>
#exemple 
iptables  -A  INPUT  --p icmp  -j  ACCEPT
#on ajoute à la table INPUT la règle ACCEPT pour les paquet icmp (ping) entrant,
#bien entendu il faut aussi accepter les paquet sortants. D'où :
iptables  -A  OUTPUT  --p icmp  -j  ACCEPT

Les actions sur les tables

Le principe

Par défaut, iptables est composé de 3 catégories appelées "chaînes" (chain) :

  • INPUT : Chaîne où l'on règle le trafic entrant.
  • FORWARD : Chaîne où l'on règle le trafic qui sera redirigé.
  • OUTPUT : Chaîne où l'on règle le trafic sortant.

A chaque chaîne est attribuée une "politique" (policy), les deux principales sont :

  • ACCEPT : Politique d'acceptation. Par défaut, tout ce qui n'est pas dans la chaîne est accepté.
  • DROP : Politique de refus. Par défaut, tout ce qui n'est pas dans la chaîne sera rejeté. (utile pour filtrer les connections entrantes)

Un exemple concret. Par défaut, si vous n'avez jamais touché à votre iptables, voici ce que vous devez avoir :

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

On constate ici que rien n'est sécurisé : tout entre (Chain INPUT, policy ACCEPT), tout sort (Chain OUTPUT, policy ACCEPT).

Le réglage simple

Les conditions

ports en destination et en source

protocoles

états

Les actions sur les paquets

Exemple