web-dev-qa-db-fra.com

Réduire les règles de pare-feu de moitié - une règle d'IPTABLES pour TCP et UDP

J'ai un certain nombre de règles d'IPTABLES sur mon pare-feu qui ressemblent à ceci:

iptables -A zone_lan_forward -p tcp -d 1.2.3.0/24 -j ACCEPT
iptables -A zone_lan_forward -p udp -d 1.2.3.0/24 -j ACCEPT

Existe-t-il un raccourci pour avoir deux règles - une pour TCP et une pour UDP - pour chaque adresse? Je veux dire puis-je faire quelque chose comme ça:

iptables -A zone_lan_forward -p tcp,udp -d 1.2.3.0/24 -j ACCEPT
12
Big McLargeHuge

Créez une nouvelle chaîne qui acceptera tout TCP et UDP et sauter à cette chaîne à partir des règles de permissives IP/Port individuelles:

iptables -N ACCEPT_TCP_UDP
iptables -A ACCEPT_TCP_UDP -p tcp -j ACCEPT
iptables -A ACCEPT_TCP_UDP -p udp -j ACCEPT

iptables -A zone_lan_forward -d 1.2.3.0/24 -j ACCEPT_TCP_UDP

Cela ajoute la surcharge de quelques lignes supplémentaires, mais fait moitié le nombre de TCP/UDP.

Je voudrais pas omettez le -p argument, car vous ouvrez non seulement le pare-feu pour ICMP, mais également tout autre protocole. De la page de l'homme iptables sur -p:

Le protocole spécifié peut être l'un des TCP, UDP, ICMP ou tout ou peut être une valeur numérique, représentant l'un de ces protocoles ou un autre. Un nom de protocole de/etc/protocoles est également autorisé.

Vous ne pouvez pas écouter des protocoles, à l'exception de TCP, UDP et ICMP en ce moment, mais qui sait ce que l'avenir peut tenir. Ce serait une mauvaise pratique de laisser le pare-feu ouvert inutilement.

Disclaimer: les commandes IPTABLES sont en haut de la tête; Je n'ai pas accès à une boîte sur laquelle les tester atm.

22
s.co.tt

Si vous ne vous souciez pas vraiment du trafic ICMP (que vous pouvez bloquer dans le monde entier avec une règle de toute façon), vous pouvez simplement omettre le drapeau -p et couvrir tous les protocoles.

2
Nathan C