Hallo Experten,
hat jemand eine Idee, wie man diesen iptables Eintrag interpretieren soll (die matchende Regel lautet: iptables -A INPUT -m state --state INVALID -j REJECT):
invalid state IN=eth0 OUT= MAC=$(mac unseres gw) SRC=188.1.35.129 DST=141.30.108.193 LEN=56 TOS=0x00 PREC=0x00 TTL=253 ID=0 PROTO=ICMP TYPE=3 CODE=1 [SRC=141.30.108.193 DST=10.0.0.2 LEN=40 TOS=0x00 PREC=0x00 TTL=62 ID=0 DF PROTO=TCP INCOMPLETE [8 bytes] ]
141.30.108.193 sind wir selbst, 188.1.35.129 ist ein Router an der Uni (also erstmal ein vertrauenswürdiger Host). Das ICMP Paket ist laut:
http://www.geek-guy.com/knowledge/icmp_types_and_codes.htm
ein Host unreachable. Soll das letzte SRC/DST Paar die Ursache bedeuten, auf die sich das ICMP Packet bezieht? Wissentlich schicken wir nichts an ein privates Netz, könnte es sein, daß meine Kiste auf ein gefaktes Packet antworten will, was von der privaten Adresse zu kommen scheint?
ICMP erlaube ich auch generell, da ich davon zu wenig Ahnung habe und man sich damit auch super in den Fuß schießen kann (Reinhard hat ja vor kurzem darauf hingewiesen, daß es nicht immer deny all sein muß :-)
Allerdings werden Packete, die von iptables für ungültig gehalten werden vorher verworfen. Erst nach diesem Filterschritt passieren ICMP Packete die Kette. Das habe ich jetzt mal abgestellt. Wenn der Router Recht hat, wäre es ja dumm, dieses Packet zu verwerfen, da meine Kiste ja sonst immer weiter versuchen wird den anderen Host zu erreichen.
Warum stuft iptables so was als invalid ein?
andre
On Fri, 17 Jan 2003 19:35:39 +0100, Andre Schulze wrote:
(die matchende Regel lautet: iptables -A INPUT -m state --state INVALID -j REJECT):
invalid state IN=eth0 OUT= MAC=$(mac unseres gw) SRC=188.1.35.129 DST=141.30.108.193 LEN=56 TOS=0x00 PREC=0x00 TTL=253 ID=0 PROTO=ICMP TYPE=3 CODE=1 [SRC=141.30.108.193 DST=10.0.0.2 LEN=40 TOS=0x00 PREC=0x00 TTL=62 ID=0 DF PROTO=TCP INCOMPLETE [8 bytes] ]
141.30.108.193 sind wir selbst, 188.1.35.129 ist ein Router an der Uni (also erstmal ein vertrauenswürdiger Host). Das ICMP Paket ist laut:
http://www.geek-guy.com/knowledge/icmp_types_and_codes.htm
ein Host unreachable. Soll das letzte SRC/DST Paar die Ursache bedeuten, auf die sich das ICMP Packet bezieht?
Denk ich schon. In der host unreachable ICMP ist der Kopf des angemeckerten Pakets nochmal mit drin. 188.1.35.129 ist der Router ins WIN. Er ist der erste in der Kette Richtung 10.0.0.2, der 10/8 filtert. Die Router davor schicken das Paket vermutlich einfach die default route weiter.
Wissentlich schicken wir nichts an ein privates Netz, könnte es sein, daß meine Kiste auf ein gefaktes Packet antworten will, was von der privaten Adresse zu kommen scheint?
Vielleicht annonciert ein filesharing-client irgendwo in der Welt eine Quelle auf der 10.0.0.2 und der Client auf eurer Seite will eine Verbindung dahin aufbauen. Bei "telnet 10.0.0.2" bekommst du sicherlich auch so ein ICMP host unreachable von der 188.1.35.129 zurueck.
Wenn der Router Recht hat, wäre es ja dumm, dieses Packet zu verwerfen, da meine Kiste ja sonst immer weiter versuchen wird den anderen Host zu erreichen.
Du kannst die Verbindungen in Richtung privater Netze gleich selbst lokal unterbinden wenn du willst.
Warum stuft iptables so was als invalid ein?
Mmmh. Probier mal mit "telnet 10.0.0.2" aus ob die ICMP-Antwort RELATED oder INVALID ist. Da als Ziel im conntrack-Modul die 10.0.0.2 steht, die ICMP-Nachricht aber von 188.1.35.129 reinkommt, kann die ICMP-Nachricht nicht der richtigen Verbindung zugeordnet werden und is somit INVALID. NEW und ESTABLISHED als "state" fallen ja ebenfalls aus. Das ist nur eine Vermutung.
Reinhard
lug-dd@mailman.schlittermann.de