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 [30/08/2018 14:18] Beta-Pictoris |
doc:reseau:iptables-pare-feu-pour-un-client [08/09/2018 03:24] Beta-Pictoris |
||
---|---|---|---|
Ligne 228: | Ligne 228: | ||
</code> | </code> | ||
- | <note> | ||
- | **Signification de ces commandes** :\\ | ||
- | Autorise un paquet passant par la chaîne (OUTPUT|INPUT), par protocole de transport udp sur le port 53 (''--dport'' : port de destination | ''--sport'' : port source ), et pour udp utilisation du module "conntrack", selon l'état de la connexion (NEW, demande de nouvelle connexion, RELATED, nouvelle demande mais en rapport avec une connexion déjà initiée et ESTABLISHED, en relation à une demande pour une connexion déjà initiée). | ||
- | __**options ** :__\\ | + | ===Signification de ces commandes=== |
+ | Les commandes précédentes autorisent un paquet sortant (chaine OUTPUT) et entrant (CHAINE INPUT), via le protocole udp sur le port 53 et selon l'état de la connexion (NEW ou ESTABLISHED). | ||
+ | |||
+ | ===Les options=== | ||
''-t filter'' : pour préciser la table (facultatif avec la table filter).\\ | ''-t filter'' : pour préciser la table (facultatif avec la table filter).\\ | ||
- | ''-A chain'' : ajouter une règle à la fin de la chaîne (OUTPUT, puis INPUT)\\ | + | ''-A chain'' : ajouter une règle à la fin de la chaîne (OUTPUT, puis INPUT)\\ |
- | ''-p'' : pour indiquer le type de trames utilisé dans le paquet. ([!] "all", "tcp", "udp", "icmp", ou un numéro)\\ | + | ''-p'' : pour indiquer le type de trames utilisé dans le paquet ([!] "all", "tcp", "udp", "icmp", ou un numéro).\\ |
- | ''-m //module//'' : Demande d'utiliser un module particulier\\ | + | ''--dport'' : port de destination.\\ |
- | ''conntrack'' : c'est un module de netfilter il est installé sur wheezy pour l'activer : | + | ''--sport'' : port source.\\ |
- | * ''/sbin/modprobe ip_conntrack'';\\ | + | ''-m module'' : Demande d'utiliser un module particulier.\\ |
- | ''--ctstate //liste des états//'' : liste les états de connexion : | + | ''conntrack'' : c'est un module de netfilter.\\ |
+ | ''--ctstate'' : liste des états conntrack. | ||
+ | |||
+ | ===La liste des états de connexion conntrack=== | ||
* INVALID : signifie que le paquet est associé à aucune connexion connue | * INVALID : signifie que le paquet est associé à aucune connexion connue | ||
* NEW : signifie que le paquet a commencé une nouvelle connexion | * NEW : signifie que le paquet a commencé une nouvelle connexion | ||
Ligne 252: | Ligne 255: | ||
* CONFIRMED : Connexion est confirmée | * CONFIRMED : Connexion est confirmée | ||
- | <note tip>Depuis debian stretch, conntrack va étiqueter des paquets comme étant dans l'ETAT RELTATED que pour le protocole icmp.( Module nf_conntrack_ipv4 est chargé automatiquement). | + | <note important>Depuis debian **Stretch**, **conntrack** ne va étiqueter les paquets en **RELATED** que pour le protocole **icmp**.\\ |
- | Pour les autres protocoles, il faudra ajouter une règle raw pour charger le module adéquat et activer la prise en charge de l'état RELATED. Par exemple, pour le protocole ftp: | + | Pour les autres protocoles, il faudra activer le module **conntrack** adéquat via une règle utilisant une cible **CT** de la table **raw** sur la connexion déclencheuse.\\ |
- | iptables -t raw -A PREROUTING -p tcp --dport 21 -j CT --helper ftp</note> | + | Par exemple, pour le protocole **ftp**, si on veut qu'une nouvelle connexion, sur le port 21 du serveur, active le tracking conntrack_ftp:\\ |
+ | <code root>iptables -t raw -A PREROUTING -p tcp --dport 21 -j CT --helper ftp</code> | ||
+ | |||
+ | De ce fait, **conntrack** étiquètera en **RELATED** le premier paquet sortant du port 20 du serveur (cas d'un serveur ftp actif).\\ | ||
+ | On pourra, donc, utiliser la règle suivante coté serveur:\\ | ||
+ | <code root>iptables -A OUTPUT -p tcp --sport 20 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT</code> | ||
+ | |||
+ | Si l'état **RELATED** n'est pas pris en charge, **conntrack** étiquètera les paquets en **NEW**. | ||
+ | </note> | ||
Vous n'avez rien compris ? C'est normal, voyons ce qu'est //conntrack// ! | Vous n'avez rien compris ? C'est normal, voyons ce qu'est //conntrack// ! |