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 [03/02/2019 03:42] Beta-Pictoris |
doc:reseau:iptables-pare-feu-pour-un-client [03/02/2019 19:17] Beta-Pictoris |
||
---|---|---|---|
Ligne 256: | Ligne 256: | ||
<note important> | <note important> | ||
- | Depuis debian **Stretch**, **conntrack** ne va plus taguer de paquets en **RELATED**, sauf pour le protocole **icmp**.\\ | + | Depuis debian **Stretch**, **conntrack** ne va plus marquer de paquets dans l'état **RELATED**, sauf pour le protocole **icmp**.\\ |
\\ | \\ | ||
- | Par conséquent, si vous voulez faire du filtrage sur des paquets dans l'état **RELATED** pour d'autres protocoles qu'icmp, vous devrez déclencher l'activation d'un module **conntrack**, appelé module **helper**, en cas de connexion sur un port particulier.\\ | + | Par conséquent, si vous voulez faire du filtrage sur des paquets dans l'état **RELATED** pour d'autres protocoles qu'**icmp**, vous devrez créer une règle particulière, de **PREROUTING**, dans la table **raw**.\\ |
\\ | \\ | ||
- | Pour cela, vous devrez créer une règle particulière, de **PREROUTING**, dans la table **raw**.\\ | + | Cette règle va déclencher l'activation d'un module **conntrack** (appelé module **helper**) en cas de connexion sur un port particulier.\\ |
\\ | \\ | ||
A noter, la cible de cette règle s'appelle **CT** (Pour **C**onn**T**rack ?).\\ | 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 une réponse dans l'état **RELATED** :\\ | + | Par exemple, pour le protocole **ftp**, si vous souhaitez qu'une nouvelle connexion **tcp** entrante, vers le port 21 du serveur, puisse permettre une réponse 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 **helper** //nf_conntrack_ftp//.\\ | Pour information, la règle précédente va activer le module **helper** //nf_conntrack_ftp//.\\ | ||
\\ | \\ | ||
- | **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.\\ | + | Vous devez aussi autoriser de nouvelles connexions entrantes sur le port 21 :\\ |
- | \\ | + | |
- | 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> | <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) :\\ | + | **Conntrack** associera l'état **RELATED** au nouveau paquet **tcp** sortant du port 20 du serveur (cas d'un serveur ftp actif). |
+ | Vous devez, donc, autoriser la connexion :\\ | ||
<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> | ||
\\ | \\ |