Ich verwende die folgende einfache iptables-Regel, die verwandte Pakete akzeptiert :
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Ich lasse ICMP -Echoanforderungen mit dieser anderen Regel weiterleiten:
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
Sollte ich explizit etwas hinzufügen, um "nützliche" ICMP-Nachrichten wie destination-unreachable
, time-exceeded
und zu erhalten parameter-problem
, oder RELATED
akzeptiert die Klausel diese bereits?
Antworten:
http://www.linuxtopia.org/Linux_Firewall_iptables/x1571.html
quelle
Die RELATED-Regel kümmert sich standardmäßig um die zugehörigen ICMP-Nachrichten. Auf der Manpage zu iptables im Abschnitt zu conntrack ( http://linux.die.net/man/8/iptables ):
Andere von conntrack gemeldete Zustände sind:
Sie können die Conntrack-Tabelle mit dem
conntrack
Paket untersuchen und verwalten .quelle
Im Allgemeinen ist es eine sehr schlechte Idee, icmp zu filtern oder zu blockieren. Normalerweise ist das einzige "gültige" Bit von icmp, das gefiltert werden soll, die Echoanforderung, in einem naiven Scan nach unten zu "erscheinen".
Wenn Sie jedoch Teile davon explizit zulassen möchten, fehlen mindestens zwei sehr wichtige Bits, Fragmentierung erforderlich & Source Quench:
Lassen Sie mich noch einmal sagen, dass das Filtern von icmp eine schlechte Idee ist, die Probleme maskiert und es schwierig macht, sie zu entdecken.
Dies war das Problem mit DF (nicht fragmentieren) und Fragmentierung erforderlich, das für die automatische PTMU-Erkennung erforderlich ist und dazu führte, dass auf Websites nicht zugegriffen werden konnte, da zwischengeschaltete Firewalls / Router die icmp-Pakete verwarfen, die den Endpunkt ankündigten, um die MTU zu senken.
quelle
source-quench
veraltet? tools.ietf.org/html/rfc6633#section-2Ich werde meine eigene Antwort hinzufügen, um meine endgültige Konfiguration bereitzustellen, inspiriert von anderen Antworten und den folgenden Quellen:
eine dritte Ressource, die verwendet
RELATED
:quelle
ICMP ist ein sehr wichtiges Verbindungsprotokoll. Die "Echo-Anfrage" ist die einzige wichtige nützliche Nachricht, die die Kommunikation unterstützt. Der Rest von ihnen, einschließlich "Ziel nicht erreichbar", kann sicher blockiert werden, insbesondere wenn die von Ihnen ausgeführte Anwendung eine große Anzahl unbekannter Treffer erhält.
Mit so etwas bist du besser dran,
Dies würde nicht nur "Echo-Request" akzeptieren, sondern auch Ping-Floods mit mehr als 30 Paketen / s blockieren. Alles andere, was Sie hinzufügen möchten, muss ausdrücklich akzeptiert werden, da die RELATED-Klausel sie nicht empfängt, solange die Verbindung durch Einlassen hergestellt wird.
quelle