Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:reseau:iptables-pare-feu-pour-un-client [08/09/2018 16:00] Beta-Pictoris |
doc:reseau:iptables-pare-feu-pour-un-client [06/01/2019 02:57] Beta-Pictoris |
||
---|---|---|---|
Ligne 255: | Ligne 255: | ||
* CONFIRMED : Connexion est confirmée | * CONFIRMED : Connexion est confirmée | ||
- | <note important>Depuis debian **Stretch**, **conntrack** ne va plus étiqueter les paquets en **RELATED**, sauf pour le protocole **icmp**.\\ | + | <note important> |
- | + | Depuis debian **Stretch**, **conntrack** ne va plus associer de paquets à l'état **RELATED**, sauf pour le protocole **icmp**.\\ | |
- | Pour les autres protocoles, il faudra déclencher l'activation du module **conntrack** adéquat, appelé module helper, en pré-routant les nouvelles connexions vers une cible **CT**. Pour cela, il faudra créer une règle particulière dans la table **raw**.\\ | + | \\ |
- | + | Si vous voulez faire du filtrage sur des paquets dans l'état **RELATED** pour d'autres protocoles, il va falloir déclencher l'activation d'un module **conntrack**, appelé module **helper**, en cas de connexion sur un port particulier.\\ | |
- | Par exemple, pour le protocole **ftp**, si on veut qu'une nouvelle connexion **tcp**, sur le port 21 du serveur, active le module **nf_conntrack_ftp**:\\ | + | \\ |
+ | Pour cela, il va falloir créer une règle particulière, de **PREROUTING**, dans la table **raw**.\\ | ||
+ | \\ | ||
+ | A noter, la cible de cette règle s'appelle **CT** (Pour **C**onn**T**rack ?).\\ | ||
+ | \\ | ||
+ | Par exemple, pour le protocole **ftp**, si on veut qu'une nouvelle connexion **tcp** entrante, vers le port 21 du serveur, puisse générer des réponses dans l'état **RELATED** :\\ | ||
<code root>iptables -t raw -A PREROUTING -p tcp --dport 21 -j CT --helper ftp</code> | <code root>iptables -t raw -A PREROUTING -p tcp --dport 21 -j CT --helper ftp</code> | ||
- | + | Pour information, la règle précédente va activer le module **nf_conntrack_ftp**.\\ | |
- | En conséquence, **conntrack** étiquètera en **RELATED** le premier paquet, d'une nouvelle connexion **tcp**, sortant du port 20 du serveur (cas d'un serveur ftp actif).\\ | + | \\ |
- | On pourra, donc, utiliser la règle suivante coté serveur:\\ | + | **conntrack** associera, donc, l'état **RELATED** a une nouvelle connexion **tcp**, sortante du port 20 du serveur (cas d'un serveur ftp actif) à condition qu'une nouvelle connexion **tcp** entrante, vers le port 21 du serveur ait été acceptée.\\ |
+ | \\ | ||
+ | Pour cela, on autorise de nouvelles connexions entrantes sur le port 21 :\\ | ||
+ | <code root>iptables -A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT</code> | ||
+ | \\ | ||
+ | On devra, donc, utiliser la règle suivante pour autoriser la suite de l'échange sur le port 20 (cas d'un serveur ftp actif) :\\ | ||
<code root>iptables -A OUTPUT -p tcp --sport 20 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT</code> | <code root>iptables -A OUTPUT -p tcp --sport 20 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT</code> | ||
- | + | \\ | |
- | Si le module helper, qui gère l'état **RELATED**, n'est pas activé, **conntrack** étiquètera les paquets en **NEW**. | + | Vous devez, donc, toujours, traiter les paquets étant dans l'état **RELATED** à partir du moment où ils existent, sinon ils seront perdus et cela entrainera des problèmes de communication !\\ |
+ | \\ | ||
+ | Si le module helper, qui gère l'état **RELATED**, n'est pas activé, **conntrack** associera les paquets à l'état **NEW**.\\ | ||
+ | On devra, donc, utiliser la règle suivante :\\ | ||
+ | <code root>iptables -A OUTPUT -p tcp --sport 20 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT</code> | ||
</note> | </note> | ||