web-dev-qa-db-fra.com

Pourquoi est-il appelé un pare-feu avec état et sans état?

Je me demande simplement comment nommer ces comportements de pare-feu. Ma compréhension de base est que le filtrage avec état permet au trafic entrant de renvoyer la réponse sortante sans spécifier explicitement la règle, tandis que sans état requiert que la règle sortante soit spécifiée.

Je ne comprends pas. Pourquoi exige-t-on des règles explicites appelées apatrides et l'autre appelées avec état?

20
kickpuncher11

Vous avez presque raison. Mais l'inspection avec état vous permet d'avoir plus de contrôle sur les flux de données passant par le pare-feu.

Un article Cybrary dit:

Les pare-feu sans état surveillent le trafic réseau et restreignent ou bloquent les paquets en fonction des adresses source et de destination ou d'autres valeurs statiques. Ils ne sont pas "conscients" des modèles de trafic ou des flux de données. Un pare-feu sans état utilise des ensembles de règles simples qui ne tiennent pas compte de la possibilité qu'un paquet puisse être reçu par le pare-feu en prétendant être quelque chose que vous avez demandé.

Un filtre de pare-feu sans état, également appelé liste de contrôle d'accès (ACL), n'inspecte pas le trafic en état. Au lieu de cela, il évalue le contenu des paquets de manière statique et ne garde pas la trace de l'état des connexions réseau.

Les pare-feu avec état peuvent surveiller les flux de trafic de bout en bout. Ils connaissent les voies de communication et peuvent mettre en œuvre diverses fonctions de sécurité IP (IPsec) telles que les tunnels et le chiffrement. En termes techniques, cela signifie que les pare-feu avec état peuvent indiquer à quelle étape se situe une connexion TCP (ouverte, ouverte envoyée, synchronisée, acquittement de la synchronisation ou établie). Elle peut indiquer si la MTU a changé et si les paquets se sont fragmentés, etc.


Ils sont nommés comme tels parce qu'ils font vraiment ce que signifie le nom.

Sans état : ne me souviens d'aucun état, il suffit de filtrer le paquet actuel qui passe selon la liste des règles.

Avec état : rappelez-vous l'état du flux de données traversé (ce qui s'est produit dans tous les paquets précédents) et filtrez en fonction de la même liste qu'en cas d'apatride, mais filtre également en fonction des informations d'état.

Les informations d'état stockées dans la mémoire du pare-feu vous permettent de faire exactement ce que vous avez demandé auparavant et bien plus encore.


Vous pouvez ajouter une règle qui permet le passage de la nouvelle connexion TCP TCP entrante à l'intérieur (paquet TCP marqué d'un indicateur SYN) et tout le trafic établi/associé à l'intérieur/à l'extérieur.

En cas de TCP, le client (SRC IP/SRC PORT) envoie le paquet SYN au serveur (DST IP/DST PORT) pour ouvrir la connexion TCP. Le pare-feu a une règle selon laquelle ce paquet peut pass (uniquement les nouvelles connexions TCP à ce serveur). Le pare-feu se souvient maintenant que la demande d'ouverture de la connexion a été envoyée au serveur (il se souvient entre autres de src IP, src port, dst IP, dst port et état de la connexion - dans ce cas, CONNECT) et n'attend désormais que le paquet SYN/ACK côté serveur. Aucun autre paquet de cette connexion concrète TCP ne peut le traverser (dans les deux sens). Serveur envoie ensuite SYN/ACK, le pare-feu se souvient de l'état HALF-OPEN et attend uniquement le paquet marqué ACK du client. Une fois que le client envoie ACK, l'état de la connexion est changé en CONNECTED et uniquement les paquets avec le drapeau ACK (données) FIN/ACK (fermer) connexion) peut se passer maintenant. La même chose se produit pendant la procédure de fermeture de connexion - il est donc possible d'avoir un contrôle complet sur le protocole passant et fil éliminer les paquets invalides.


Pour TCP c'est un peu difficile à expliquer et à comprendre. ICMP est beaucoup plus facile. Il y a deux paquets ICMP de base - ECHO et REPLY.

En cas de pare-feu dynamique, vous pouvez vous assurer que REPLY ne peut passer le pare-feu que si l'ECHO a déjà été envoyé.

En cas d'apatridie, il est uniquement possible de contrôler si ECHO et REPLY peuvent passer afin que le serveur puisse envoyer REPLY à tout moment même si cela n'a pas été demandé.

34
Fis

Stateless signifie prendre une décision (supprimer, accepter, ...) uniquement sur la base d'un seul paquet sans autre contexte. Stateful signifie conserver certaines informations de contexte basées sur les paquets précédents et les inclure lors de la décision sur ce qu'il faut faire avec un paquet.

Ce contexte concerne les connexions établies précédemment (c'est-à-dire les connexions "réelles" comme dans TCP ou les associations de type connexion comme dans UDP). Le état stocké d'une connexion inclut la source et l'adresse IP et les ports de destination, l'heure de la dernière activité (pour les états de temporisation) et en cas de TCP également les numéros de séquence actuels. Il est mis à jour lorsque de nouveaux paquets correspondant à l'état actuel arrivent. Il obtient supprimé si les connexions sont explicitement fermées (négociation TCP FIN) ou implicitement fermées (délai d'inactivité).

Le maintien de cet état permet de faire correspondre des paquets appartenant à des connexions établies. Cela permet d'autoriser facilement les connexions de correspondance de trafic précédemment initiées depuis l'intérieur d'un réseau de confiance mais de refuser toute connexion initiée depuis l'extérieur non approuvé. Cela rend les configurations de pare-feu à la fois plus simples et plus sécurisées, mais au prix d'une utilisation accrue de la mémoire (pour les états) et de performances réduites (en raison du temps nécessaire à la recherche d'état).

21
Steffen Ullrich

Pare-feu avec état - Un pare-feu avec état connaît les connexions qui le traversent. Il ajoute et conserve des informations sur les connexions d'un utilisateur dans une table d'état, appelée table de connexion. Il utilise ensuite cette table de connexion pour implémenter les stratégies de sécurité pour les connexions des utilisateurs. Un exemple de pare-feu dynamique est PIX, ASA, Checkpoint.

Pare-feu sans état - (filtrage de paquets) Les pare-feu sans état, en revanche, ne regardent pas l'état des connexions mais uniquement les paquets eux-mêmes. Un exemple d'un pare-feu de filtrage de paquets est les listes étendues de contrôle d'accès sur les routeurs Cisco IOS.

6
Kiven Wanda