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:// |