Comme vous l'avez vu, les paquets peuvent prendre différents états à l'intérieur du noyau, en fonction du protocole considéré. Cependant, à l'extérieur du noyau, seuls 4 états sont disponibles, comme expliqué précédemment. Ces états peuvent être associés à la correspondance state qui est capable de sélectionner les paquets à partir de l'état actuel du traçage de connexion. Les états valides sont NEW, ESTABLISHED, RELATED et INVALID. Le tableau suivant décrit brièvement chacun d'eux.
Tableau 7.1. États de l'espace utilisateur
| État | Explication |
|---|---|
| NEW |
L'état NEW indique que le paquet est le
premier de la connexion. Cela signifie que, pour une connexion donnée, le
premier paquet que le module conntrack aperçoit est apparié. Par
exemple, si on rencontre un paquet SYN et que c'est
le premier paquet d'une connexion, on établit la correspondance. Cependant,
le paquet peut aussi ne pas être de type SYN et
considéré tout de même dans l'état NEW. Ceci peut
s'avérer problématique dans certaines situations, mais peut aussi être
extrêmement utile quand on doit récupérer les connexions perdues issues
d'autres pare-feux, ou quand une connexion a dépassé son temps de survie,
mais n'est pas réellement fermée.
|
| ESTABLISHED |
L'état ESTABLISHED résulte de
l'observation d'un trafic dans les deux sens, et donc établit une
correspondance avec ce type de paquet. Les connexions établies
(ESTABLISHED) sont particulièrement simple à comprendre.
La seule condition pour entrer dans l'état ESTABLISHED
est qu'un hôte ayant envoyé un paquet reçoive plus tard une réponse de
l'hôte destinataire de ce paquet. A la réception du paquet de réponse, l'état
NEW est transformé en ESTABLISHED. Les
messages d'erreur et de redirection ICMP peuvent
aussi être considérés comme ESTABLISHED, si on a généré
un paquet qui en retour génère le message ICMP.
|
| RELATED |
L'état RELATED est un des états les plus
astucieux. Une connexion est considérée comme RELATED
quand elle est liée à une autre connexion déjà établie, donc dans l'état
ESTABLISHED. Ainsi, pour qu'une connexion soit identifiée
comme RELATED, on doit tout d'abord disposer d'une
autre connexion dans l'état ESTABLISHED. Cette connexion
ESTABLISHED crée alors une connexion extérieure à la
connexion principale. La nouvelle connexion créée est donc considérée comme
RELATED, si le module conntrack l'identifie comme en
relation avec l'autre. Les exemples suivants peuvent être considérés comme
RELATED : les connexions
FTP-data sont liées au port
FTP control, et les connexions
DCC interviennent par l'intermédiaire de
IRC. Ceci permet d'utiliser des réponses
ICMP, des transferts FTP
et des DCC pour travailler convenablement à travers
un pare-feu. Remarquez que la plupart des protocoles
TCP et certains protocoles
UDP qui reposent sur ce mécanisme sont
particulièrement complexes. Ils envoient des informations de connexion à
l'intérieur des données utiles, qui par conséquent nécessitent des modules
assistant (helper) spécifiques pour être correctement interprétées.
|
| INVALID |
L'état INVALID signifie que le paquet ne
peut pas être identifié ou qu'il n'a aucun état connu. Il peut y avoir
plusieurs raisons à cela : par exemple, un système en dépassement de
mémoire ou des messages d'erreur ICMP ne répondant
à aucune connexion connue. Généralement, il est préférable de supprimer tout
ce qui se trouve dans cet état.
|
| UNTRACKED | C'est l'état UNTRACKED. En bref, si un paquet est marqué dans la table raw avec la cible NOTRACK, ce paquet sera vu comme UNTRACKED dans la machine d'état. Ceci indique aussi que toutes les connexions RELATED ne seront pas vues, ainsi certaines précautions doivent être prises lorsque vous utilisez cet état car la machine d'état ne sera pas capable de voir les messages ICMP, etc. |
Ces états peuvent être utilisés avec la correspondance --state pour sélectionner les paquets à partir de leur état de traçage de connexion. C'est ce qui rend la machine d'état si puissante et efficace pour votre pare-feu. Auparavant, nous devions souvent ouvrir tous les ports supérieurs à 1024 pour permettre le trafic inverse à destination de notre réseau local. Avec la machine d'état à l'oeuvre, ce n'est plus nécessaire, puisqu'il est possible d'ouvrir le pare-feu pour les réponses sans l'ouvrir pour le reste du trafic.
Vous êtes ici :