Outils pour utilisateurs

Outils du site


netadmin:iptables:creer_une_regle

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
netadmin:iptables:creer_une_regle [2020/11/08 17:45] yoannnetadmin:iptables:creer_une_regle [2021/06/25 12:56] (Version actuelle) 92.154.112.189
Ligne 3: Ligne 3:
  
  
-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'instruction donnée par la cible (ou saut).+Les règles sont lues séquentiellement au sein de la chaîne 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'instruction donnée par la cible (ou saut).
  
 La syntaxe générale est la suivante: La syntaxe générale est la suivante:
Ligne 35: Ligne 35:
 ===== Correspondances ===== ===== Correspondances =====
  
-Les correspondances utilisables dépendent du contexte: la table, le protocole etc.+Les correspondances utilisables pour la définition de la règle dépendent du contexte: la table, le protocole etc.
  
 ==== Correspondances implicites ==== ==== Correspondances implicites ====
Ligne 59: Ligne 59:
 Fonctionne comme la cible DROP mais renvoie un message d'erreur à l' hôte à l'origine du paquet. Fonctionne comme la cible DROP mais renvoie un message d'erreur à l' hôte à l'origine du paquet.
  
 +===== Afficher les règles =====
 +
 +L'argument -S utilisé sans la chaîne en option permet de lister les règles existantes sur l'ensemble des chaines associées à la table:
 +<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
 +</code>
 +
 +===== 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
 +</code>
 +
 +===== 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
 +</code>
 +
 +===== Exemples =====
 +
 +==== Autoriser/interdire une application ====
 +
 +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'appliquer à des utilisateurs ou des groupes.
 +
 +L'astuce consiste à créer un groupe système, à affecter ce groupe au binaire puis à créer une règle pouvant s'appliquer.
 +
 +Dans l'exemple proposé la politique par défaut rejette tous les paquets en sortie. On souhaite autoriser une application particulière (discord) à utiliser une plage de ports UDP en sortie (50000 à 50100)
 +
 +
 +<code bash>
 +# creation du groupe système
 +sudo addgroup --system discordnetpol
 +
 +# affecter le groupe 
 +# lancer le programme
 +sg discordnetpol /usr/share/discord/Discord
 +</code>
 +
 +===== Références =====
 +  * https://wiki.visionduweb.fr/index.php/Configurer_le_pare-feu_Iptables
 +  * https://stackoverflow.com/questions/4314163/create-iptables-rule-per-process-service
netadmin/iptables/creer_une_regle.1604857528.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)