Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| netadmin:iptables:creer_une_regle [2020/11/08 13:34] – créée yoann | netadmin:iptables:creer_une_regle [2021/06/25 12:56] (Version actuelle) – 92.154.112.189 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== iptables: | + | ====== iptables: |
| - | Les règles sont lues séquentiellement par le noyau pour déduire ce qu'il convient de faire d'un paquet. Si tous les critères (match ou correspondance) sont remplis, il exécute l' | + | Les règles sont lues séquentiellement |
| - | La syntaxe est la suivante: | + | La syntaxe |
| < | < | ||
| Ligne 11: | Ligne 11: | ||
| </ | </ | ||
| - | La table **filter** est utilisée par défaut. Elle est dédiée au filtrage des paquets. Les accepte les cibles **DROP**, **LOG**, **ACCEPT** et **REJECT**. La table filter inclue 3 chaînes pré-définies: | + | La table **filter** est utilisée par défaut |
| + | * FORWARD: s' | ||
| + | * INPUT: tout paquet destiné a l’hôte local. | ||
| + | * OUTPUT: tout paquet généré localement. | ||
| + | |||
| + | ===== Commandes ===== | ||
| + | |||
| + | Le tableau ci-dessous résume les commandes disponibles | ||
| + | ^ Commande | ||
| + | | -A, | ||
| + | | -D, | ||
| + | | -R, | ||
| + | | -I, | ||
| + | | -L, | ||
| + | | -F, | ||
| + | | -Z, | ||
| + | | -N, | ||
| + | | -X, | ||
| + | | -P, | ||
| + | | -E, | ||
| + | |||
| + | ===== Correspondances ===== | ||
| + | |||
| + | Les correspondances utilisables pour la définition de la règle dépendent du contexte: la table, le protocole etc. | ||
| + | |||
| + | ==== Correspondances implicites ==== | ||
| + | |||
| + | ==== Correspondances explicites ==== | ||
| + | |||
| + | ===== Cibles ===== | ||
| + | |||
| + | La cible et le saut forment la partie de la règle qui indique le comportement à adopter lorsque les critères de correspondance sont vérifiés. Il existe deux cibles de base **ACCEPT** et **DROP**. | ||
| + | |||
| + | On parle de saut lorsque l' | ||
| + | |||
| + | ==== Cible LOG ==== | ||
| + | |||
| + | La cible LOG est spécialement destinée à journaliser de informations détaillées sur les paquets. | ||
| + | |||
| + | ==== Cible ULOG ==== | ||
| + | |||
| + | Journalisation en espace utilisateur. Permet d' | ||
| + | |||
| + | ==== Cible REJECT ==== | ||
| + | |||
| + | Fonctionne comme la cible DROP mais renvoie un message d' | ||
| + | |||
| + | ===== Afficher les règles ===== | ||
| + | |||
| + | L' | ||
| + | <code bash> | ||
| + | # liste toutes les règles de toutes les chaines de la table filter | ||
| + | iptables -t filter -S | ||
| + | |||
| + | # la table utilisée par défaut est filter, commande équivalente: | ||
| + | iptables -S | ||
| + | |||
| + | # lister seulement les règles de la chaine INPUT dans la table filter | ||
| + | iptables -S INPUT | ||
| + | |||
| + | # equivalent | ||
| + | iptables -t filter -S INPUT | ||
| + | </ | ||
| + | |||
| + | ===== Sauvegarder les règles ===== | ||
| + | |||
| + | Les règles saisies à l'aide du CLI iptables sont actives mais ne seront pas conservées après redémarrage. Pour sauvegarder les règles actives dans un fichier texte afin de pouvoir les recharger, on peut utiliser **iptables-save** | ||
| + | |||
| + | <code bash> | ||
| + | iptables-save > firewall.rules | ||
| + | </ | ||
| + | |||
| + | ===== Restauration d'un jeu de règles ===== | ||
| + | |||
| + | iptables-restore écrase les règles préexistantes et les remplaces par celles passées en entrée: | ||
| + | <code bash> | ||
| + | iptables-restore < firewall.rules | ||
| + | </ | ||
| + | |||
| + | ===== Exemples ===== | ||
| + | |||
| + | ==== Autoriser/ | ||
| + | |||
| + | On ne peut pas directement écrire de règle qui autorise ou refuse les paquets liés à une application (un binaire) en le désignant par son nom de fichier. En revanche grâce au module **owner** on peut écrire des règles pouvant s' | ||
| + | |||
| + | L' | ||
| + | |||
| + | Dans l' | ||
| + | |||
| + | |||
| + | <code bash> | ||
| + | # creation du groupe système | ||
| + | sudo addgroup --system discordnetpol | ||
| + | |||
| + | # affecter le groupe | ||
| + | # lancer le programme | ||
| + | sg discordnetpol / | ||
| + | </ | ||
| + | |||
| + | ===== Références ===== | ||
| + | * https:// | ||
| + | * https:// | ||