Pour chaque système, le pare-feu est indispensable pour la sécurité. Dans les systèmes Linux, un pare-feu peut être implémenté à l'aide de l'utilitaire de ligne de commande iptables. Il est très puissant pour définir des règles de pare-feu pour une sécurité renforcée. Sous le capot, iptables interagit avec les hooks de filtrage de paquets de la pile réseau du noyau connue sous le nom de framework Netfilter (http://www.netfilter.org/). Il peut gérer le filtrage de paquets et les règles NAT.
Remarque :En pratique, iptables gère les règles IPv4 et ip6tables http://linux.die.net/man/8/ip6tables gère les règles IPv6.
Premiers pas avec iptables
L'utilitaire iptables utilise le concept de table pour organiser les règles de pare-feu. Les tables, à leur tour, contiennent un ensemble de chaînes. Et les chaînes contiennent un ensemble de règles.
Il existe quatre types de tableaux.
1. Tableau de filtrage
2. Tableau NAT
3. Table de calage
4. Tableau brut
5. Tableau de sécurité
Filtrer le tableau
C'est l'iptable par défaut. Cette table décide si un paquet doit être autorisé ou non à sa destination. Un paquet typique qui atteint la table de filtrage passera par l'une des trois chaînes suivantes.
1. Chaîne d'entrée - Si un paquet est destiné à votre serveur, il passe par la chaîne d'ENTRÉE.
2. Sortie - Si la source des paquets est votre serveur, elle passe par la chaîne de sortie.
3. Transférer – Si les paquets, ni la source ni la destination n'appartiennent à votre serveur, ils passent par la chaîne de transmission. Cela signifie que le paquet d'une autre carte réseau de votre serveur est en cours de routage. Cela se produit normalement lorsque votre système Linux agit comme un routeur.
Vous pouvez afficher le tableau des filtres dans votre système à l'aide de la commande suivante.
sudo iptables -t filter --list
Tableau NAT
La table NAT contient les chaînes suivantes.
1. Chaîne PREROUTING - Cette chaîne est principalement destinée au DNAT (Destination NAT)
2. Chaîne POSTROUTING - Cette chaîne est principalement pour SNAT (Source NAT)
Remarque :En savoir plus sur DNAT et SNAT avec l'exemple d'ici .
3. Chaîne de SORTIE - Si les paquets sont livrés localement, cette chaîne est utilisée.
Vous pouvez afficher la table NAT à l'aide de la commande suivante.
sudo iptables -t filter --list
Tableau mangle
Cette table est principalement utilisée pour modifier les en-têtes IP. Il a les chaînes suivantes.
1. PREROUTING
2. SORTIE
3. AVANT
4. ENTRÉE
5. POSTROUTING
Affichez la liste des tables mangle à l'aide de la commande suivante.
sudo iptables -t mangle --list
Tableau brut
Ce tableau fournit un mécanisme pour marquer les paquets pour la désactivation du suivi des connexions. http://people.netfilter.org/pablo/docs/login.pdf
La table Mangle a les chaînes suivantes
1. PREROUTING
2. Chaîne de SORTIE
Affichez la liste des tables brutes à l'aide de la commande suivante.
sudo iptables -t raw --list
Tableau de sécurité
Cette table est liée à SELINUX. Il définit le contexte SELINUX sur les paquets. Pour être plus précis, il est utilisé pour le contrôle d'accès obligatoire https://en.wikipedia.org/wiki/Mandatory_access_control
Affichez la liste des tables de sécurité à l'aide de la commande suivante.
sudo iptables -t security --list