Profifrage: ext. Firewall mit windows

chinamaschiene

Lt. Commander
Registriert
Mai 2008
Beiträge
1.257
hallo,

bei gesperrten adressen kommt im browser immer ewig "warten auf www.gesperrt.de....." oder "Verbinden mit...". pro seite dauert das dann ewig zum laden. ist nen externe iptables firewall die sogar wie sichs gehört ICMP packete schicken tut.

mit jeder linux version klappt das.

wie kann man das ändern (unter windows)?

ich bin für antworten sehr dankbar
 
Entschuldige, aber ich habe deinen Post nicht ganz verstanden.


Du willst statt einer externen iptables Firewall eine (welche?) Windows Firewall einsetzten, und zwar so, dass gesperrte Seiten sofort abrechen (Verbindung kann nicht hergestellt werden.)?


Eine Firewall darf in diesem Fall keine ICMP Packete (z.B: port unreachable oder Host administratively prohibited), sondern muss mit einem TCP RST Packet antworten. Dass veranlasst den TCP Stack des Betriebssystemes, die Verbindung sofort abzubrechen.



unter iptables wäre das

Code:
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
 
hab ich schon probiert gehabt geht auch nicht. (hab alle möglichen antworten durchprobiert inkl dem tcp reset)

edit
hab ich mir wohl eingebildet. es geht nun doch. (gerade nochmal auf tcpreset zurückgeändert)

VIELEN DANK!

P.S. für was sind denn die icmps gedacht? für alles auser tcp?
 
Zuletzt bearbeitet:
Wenn es ein Router ist kommt es natürlich in die FORWARD chain, und nicht in die INPUT chain. Hast du matches auf der Regel und es funktioniert trotzdem nicht? Was ist das für ein Firewall, eine normale Linux Box?
 
icmps brauch man iirc für die richtige größe der MTU, wenn da was fragmentiert ist und icmp nicht geht ist das gaaanz böse, sagt zumindest der #linux.de kanal

alternativ könntest du ja auch squid und das zusätzliche sperrlistentool nehmen, da kannste sone bestimmt seite auslifern like "seite gesperrt! böse!blablabla..."
 
war zu lahm mit dem edit ;). funktioniert super. ist eine bridged firewall auf einer gentoo hardened box. soll irgendwann noch mit squid erweitert werden das ich noch content filtern kann. wenn du zufällig ein gutes tutorial kennst kannst dus gerne posten (musst jetzt aber nicht extra suchen wg. mir). und dann wird auch noch dnsmasq durch bind o.ä. ersetzt.

EDIT
theksk: lol mein squid gedanke teilst du auch. war nur schon wieder etwas langsam..
wo gibst den das sperrlisten tool?

zum icmp:

icmp-port-unreachable
icmp-proto-unreachable
icmp-net-prohibited
icmp-host-prohibited or
icmp-admin-prohibited

die sind aber dem namen nach für mehr als nen falsche mtu oder?
 
Zuletzt bearbeitet:
theKSK schrieb:
icmps brauch man iirc für die richtige größe der MTU, wenn da was fragmentiert ist und icmp nicht geht ist das gaaanz böse, sagt zumindest der #linux.de kanal

Das stimmt (auch wenn dieses spezielle Problem meist eher durch ein Runtersetzten der MSS am Router gelöst wird). Ich meinte dass allerdings in Bezug auf eine Reject/Drop bei TCP Traffic.

Bei einem simplen -j REJECT wird ein TCP Packet eben nicht mit einem TCP RST beantwortet, sondern mit einem ICMP Port unreachable. Deshalb hängt dann auch der Browser.


chinamaschiene schrieb:
icmp-port-unreachable
icmp-proto-unreachable
icmp-net-prohibited
icmp-host-prohibited or
icmp-admin-prohibited

die sind aber dem namen nach für mehr als nen falsche mtu oder?

Bezüglich Path MTU Discovery handelt es sich um ICMP Type 3 (Destination Unreachable) Code 4 (Fragmentation Needed and Don't Fragment was Set).

Es gibt noch sehr viel mehr ICMP Typen und Codes:

http://www.iana.org/assignments/icmp-parameters
 
werde das mal anschauen vielen dank. was ich suche ist aber eigentlich ein Contentfilter. das muss doch aber auch mit squid gehen oder? wie gesagt wenn jemand noch was passendes findet bitte melden.

btw.: es funktioniert bei den meisten seiten immer noch nicht mit windows auch nicht mit dem tcp reset. habe auch schon den stack unter windows gelöscht in der firewall die syncookies an/aus geschaltet genauso mit der anzahl syn bzw. syn/ack retries in /proc/ rumgespielt. hilft alles nicht. z.b. hier de.at.atwola.com was immer das ist. stört aber nicht da die seite wenigstens geladen ist. bei anderen z.b. googlesyndication oder sourceforge dauerts dann ne minute.

wieso kriegt das nur windows nicht gebacken. oder liegst an Win 7 RC? hab gerade kein anderes windows mehr. am besten gar nicht mit ms surfen... obwohl das keine gute lösung ist. es nervt halt nur weil jedes anderes os alle seiten sofort lädt und zwar auch wenn ich icmps verschicke. (ohne die passiert das gleiche)

naja.. wenn ich das irgendwann hinkriege poste ich es auf jeden fall.
 
Zuletzt bearbeitet:
Syncookies solltest du nicht einschalten wenn du nicht weißt, was es bedeutet.


Kontrolliere, ob die Regeln matchen und Sniffe auf dem Windows PC mit.
 
ich weiß was syncookies sind. wireshark sieht den tcp reset nicht, die icmps aber schon. und die regeln werden angewendet.

hier poste ich meine copy paste arbeit: (syn cookies sind aus)

iptables-log: (die firewall denkt immer das sie noch 2002 lebt weil die batterie leer ist)
Code:
Jan 16 09:37:43 router [ 4281.181563] IPTABLES-DROPend IN=br0 OUT=br0 PHYSIN=eth1 PHYSOUT=eth0 SRC=meinpcip DST=74.125.77.166 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=2859 DF PROTO=TCP SPT=49451 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
Jan 16 09:37:46 router [ 4284.189778] IPTABLES-DROPend IN=br0 OUT=br0 PHYSIN=eth1 PHYSOUT=eth0 SRC=meinpcip DST=74.125.77.166 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=2861 DF PROTO=TCP SPT=49451 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
Jan 16 09:37:52 router [ 4290.185407] IPTABLES-DROPend IN=br0 OUT=br0 PHYSIN=eth1 PHYSOUT=eth0 SRC=meinpcip DST=74.125.77.166 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=2863 DF PROTO=TCP SPT=49451 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B401010402)
Jan 16 09:38:04 router [ 4302.198106] IPTABLES-DROPend IN=br0 OUT=br0 PHYSIN=eth1 PHYSOUT=eth0 SRC=meinpcip DST=74.125.77.167 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=2865 DF PROTO=TCP SPT=49452 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)
Jan 16 09:38:07 router [ 4305.197592] IPTABLES-DROPend IN=br0 OUT=br0 PHYSIN=eth1 PHYSOUT=eth0 SRC=meinpcip DST=74.125.77.167 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=2867 DF PROTO=TCP SPT=49452 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405B40103030201010402)

wireshark-capture:
Code:
1	0.000000	meinpcip	firewallip	DNS	Standard query A www.googlesyndication.com
2	0.031881	routerMAC	Broadcast	ARP	Who has firewallip?  Tell routerip
4	0.033120	meinpcMAC	Broadcast	ARP	Who has routerip?  Tell meinpcip
5	0.033566	routerMAC	meinpcMAC	ARP	routerip is at routerMAC
6	0.033585	meinpcip	74.125.77.166	TCP	49451 > http [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=2
9	0.908603	meinpcip	firewallip	TCP	49228 > ssh [ACK] Seq=1 Ack=377 Win=252 Len=0
10	3.042083	meinpcip	74.125.77.166	TCP	49451 > http [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=2
13	3.909052	meinpcip	firewallip	TCP	49228 > ssh [ACK] Seq=1 Ack=753 Win=251 Len=0
14	9.038298	meinpcip	74.125.77.166	TCP	49451 > http [SYN] Seq=0 Win=8192 Len=0 MSS=1460
17	9.910396	meinpcip	firewallip	TCP	49228 > ssh [ACK] Seq=1 Ack=1129 Win=256 Len=0

iptables-rules:
Code:
$IPTABLES -N LOGDROPend
$IPTABLES -A LOGDROPend -j LOG --log-prefix "IPTABLES-DROPend " --log-level debug --log-ip-options --log-tcp-options
$IPTABLES -A LOGDROPend -p tcp -j REJECT --reject-with tcp-reset
 
Zurück
Oben