[Frage] Firewallregeln über AVM-Firewall-GUI

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
Hallo *,

nachdem ich im Moment iptables nicht so zum Laufen bekomme, wie ich mir das wünsche, folgende Frage:

Ich möchte gerne, dass im Netzwerk AUSSCHLIESSLICH die erste Fritz!Box DNS-Abfragen tätigen darf (ausgehend TCP und UDP Port 53). Alle Clients im Netz sollen NUR die Box abfragen dürfen, aber keine externen DNS-Server.

Wie muss ich das in die AVM-Firewall-GUI unter Freetz eintragen?

Danke für Eure Hilfe!

hssuhle
 

DualIP

Neuer User
Mitglied seit
26 Jun 2011
Beiträge
44
Punkte für Reaktionen
0
Punkte
0
afaik, fritz firewall is on the outside interface. Packets are already NATted, so you can't tell the difference between dns requests originating from your LAN or the box itself.
 

JohnDoe42

Aktives Mitglied
Mitglied seit
17 Mrz 2009
Beiträge
1,416
Punkte für Reaktionen
0
Punkte
38
Hallo,

mit iptables hätte ich das mal hiermit versucht:
Code:
iptables -t nat -A PREROUTING -p udp -i lan --dport 53 -j DNAT --to-destination IPDEINERBOX
Aber auch falls das so funktionieren sollte: Was soll das denn bringen ? Irgendwann wird zumindest ein DNS-Server Deines Providers durch Deine Box gefragt, also damit auch im Internet gesucht. Es sei denn, Du betreibst an Deiner Box einen "privaten" DNS-Server.

Grüße,

JD.
 
Zuletzt bearbeitet:

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
0
Die Frage war ja, wie man die Abfragen blockieren kann, nicht, wie man sie auf die Box lenkt. Auf einem normalen Router kann man das so machen.
Code:
iptables -A FORWARD -p tcp -i lan --dport 53 -j DROP
iptables -A FORWARD -p udp -i lan --dport 53 -j DROP
Alternativ
Code:
iptables -A FORWARD -p tcp -i lan --dport 53 -j REJECT
iptables -A FORWARD -p udp -i lan --dport 53 -j REJECT
Der Vorteil hiervon ist, dass kein Conntrack benötigt wird, was auf einigen Boxen problematisch ist und auf anderen zumindest Speicher verbraucht.
 

JohnDoe42

Aktives Mitglied
Mitglied seit
17 Mrz 2009
Beiträge
1,416
Punkte für Reaktionen
0
Punkte
38
Die Frage war ja (auch), wie er was in der Firewall-GUI einstellen muß, weil er
... iptables nicht so zum Laufen ...
bekommt.
Und ich hatte meine Zweifel an der Sinnhaftigkeit des Umlenkens aller DNS-Abfragen auf eine Box geäußert, die dann trotzdem einen DNS "im Internet" befragt.
Aber okay, hinsichtlich DNS-Changer könnte das ein Mittel sein.
 
Zuletzt bearbeitet:

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,853
Punkte für Reaktionen
14
Punkte
38
nachdem ich im Moment iptables nicht so zum Laufen bekomme, wie ich mir das wünsche, folgende Frage:
...
Wie muss ich das in die AVM-Firewall-GUI unter Freetz eintragen?
Eine weitere Möglichkeit für dein Vorhaben ist dnsspoof aus dem Paket dsniff (im trac zu finden). Anleitung zur Anwendung mit Freetz: siehe hier im Forum.
 

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
0
Die Aussage "... iptables nicht so zum Laufen bekomme, wie ich mir das wünsche" kann alles mögliche bedeuten, von nicht in die Anleitung geschaut bis zu ernsthaften Problemen.
 

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
okok, ich führe ja schon aus, was Sache ist :)

Ich nutze auf meiner "alten" Box mit einer "alten" Freetz-Version (schlagt mich, ich kann gerade nicht auf meine Box sehen) ein ziemlich fettes ruleset mit iptables.
Nun habe ich für eine neue 7390 versucht, dieses Ruleset ans Laufen zu bekommen, allerdings bekomme ich viele,
viele Fehlermeldungen bezüglich nicht gefundener iptables-Module. Und das, obwohl ich ALLE iptables-Module im "make menuconfig" ausgewählt habe.


Im Grunde geht es mir allerdings (im Moment in der Hauptsache) darum, dass meine Box nicht den DNS des Providers nutzt, sondern eine (gefilterte) DNS-Version von openDNS. So kann ich Inhalte herausfiltern, die für Kinderaugen nicht geeignet sind.

Da aber auch Kinder findige kleine Wesen sind - und den bösen openDNS-Server umgehen wollen - möchte ich von vorne herein ausschließen, dass jemand mit Erfolg seinen eigenen DNS einträgt.

So - lange Rede, kurzer Sinn - iptables mag im Moment nicht richtig, und ich dachte mir, "AVM hat ja auch eine Firewall - warum also nicht die nutzen?".
 

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
Eine weitere Möglichkeit für dein Vorhaben ist dnsspoof aus dem Paket dsniff (im trac zu finden). Anleitung zur Anwendung mit Freetz: siehe hier im Forum.
Klasse, danke für Deinen Hinweis!
Leider bekomme ich im trac die Fehlermeldung:
Code:
Trac-Fehler

Die Wiki-Seite packages/dsniff wurde nicht gefunden
Dann muss ich mir die Dokumentation dazu wohl wo anders suchen :-/
 

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,853
Punkte für Reaktionen
14
Punkte
38

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
@sf3978: DAS muss ich mir ansehen! Das klingt genau nach dem, was ich suche! Danke!
 

JohnDoe42

Aktives Mitglied
Mitglied seit
17 Mrz 2009
Beiträge
1,416
Punkte für Reaktionen
0
Punkte
38
Nun habe ich für eine neue 7390 versucht, dieses Ruleset ans Laufen zu bekommen, allerdings bekomme ich viele,
viele Fehlermeldungen bezüglich nicht gefundener iptables-Module. Und das, obwohl ich ALLE iptables-Module im "make menuconfig" ausgewählt habe.
Hast Du die fehlenden Module auch im kernel-menuconfig ausgewählt und Dein Image mit "replace kernel" gebaut ?
Falls ja, könnte das auf ein größeres Problem hindeuten (s. hier).
Grüße,

JD.
 

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
Ja, habe ich tatsächlich - irgendwann hatte ich bis auf conntrack alles drin.
Gestern hatte ich dann irgendwann die Box fertig und bin gefahren, um vor Ort "mal eben schnell" die alte gegen die neue Box auszutauschen - nur um festzustellen, dass sich die 7390 (die neue Box) jedes Mal, nachdem sie 10 Sekunden mit DSL in Sync war, rebootet hat. KLASSE! :-/

Ich habe dann den Schwanz eingezogen, die alte Box wieder angeschlossen und die neue nochmal mitgenommen. Die kommt heute Nachmittag nochmal auf die Werkbank.

Echt peinlich sowas...
 

JohnDoe42

Aktives Mitglied
Mitglied seit
17 Mrz 2009
Beiträge
1,416
Punkte für Reaktionen
0
Punkte
38
Könntest Du mal die kernel config von der "neuen" Box posten ?
 

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
umpf... Sorry... nö...
Hab gerade eben (nach einem fehlgeschlagenen Versuch, dsniff zu integrieren) den kompletten Ordner gelöscht und checke gerade neu aus.
Ich fange jetzt einfach noch einmal von Null aus an.
 

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,853
Punkte für Reaktionen
14
Punkte
38
Im Grunde geht es mir allerdings (im Moment in der Hauptsache) darum, dass meine Box nicht den DNS des Providers nutzt, sondern eine (gefilterte) DNS-Version von openDNS. So kann ich Inhalte herausfiltern, die ...
Mit dnsspoof kann man auch Inhalte filtern und zwar nach IP-Adresse und nach Hostnamen. Benötigt wird nur eine Hostnamendatei. Die Zugriffe auf die gefilterten IP-Adressen bzw. Hostnamen kann man auch loggen, wenn man sehen möchte welcher Client auf was zugreifen wollte:
Code:
[COLOR=red]nohup[/COLOR] dnsspoof -i lan -f /var/media/ftp/uStor01/archiv/hostsfile [COLOR=red]>>[/COLOR] /var/media/ftp/uStor01/archiv/dnsspoof.log [COLOR=red]&[/COLOR]
Beispiel für eine Hostfile-Datei:
Code:
149.219.195.86          *hustler.*
149.219.195.86          *sex*.*
149.219.195.86          *porn*.*
149.219.195.86          *nude*.*
149.219.195.86          *173.192.24.116
149.219.195.86          *173.192.24.119
149.219.195.86          *173.192.24.120
149.219.195.86          *173.192.24.121
149.219.195.86          *173.192.60.242
149.219.195.86          *173.192.60.245
149.219.195.86          *173.192.24.114
149.219.195.86          *173.192.24.115
Beispiel für die log-Datei:
Code:
[email protected]:/var/mod/root# cat /var/media/ftp/uStor01/archiv/dnsspoof.log
dnsspoof: listening on lan [udp dst port 53 and not src 192.168.138.1]
192.168.138.185.41517 > 192.168.138.1.53:  45988+ A? sexbook.com
192.168.138.185.45441 > 192.168.138.1.53:  28136+ A? www.gaysextube.com
192.168.138.185.48492 > 192.168.138.1.53:  23445+ A? www.watchporn.com
192.168.138.185.38170 > 192.168.138.1.53:  1320+ A? www.sexcams.com
192.168.138.185.34006 > 192.168.138.1.53:  60212+ A? www.sexbook.com
192.168.138.185.59095 > 192.168.138.1.53:  19405+ A? www.camsex.com
192.168.138.185.38235 > 192.168.138.1.53:  51537+ A? www.sexycam.com
192.168.138.185.56954 > 192.168.138.1.53:  14680+ A? www.nudetube.com
192.168.138.185.46522 > 192.168.138.1.53:  6485+ A? www.youporn.com
192.168.138.185.51590 > 192.168.138.1.53:  10359+ A? nudetube.com
EDIT:
Mit crontab kannst Du z. B. stündlich, das Datum und die Uhrzeit in die log-Datei schreiben lassen. Dann weißt Du auch, wann man versucht hat, auf umgeleitete Seiten zuzugreifen.

EDIT 2:
crontab wird nicht mehr benötigt. dnsspoof ist jetzt so gepatcht (siehe im trac oder hier im Forum), dass Datum und Uhrzeit mit formatiert ausgegeben wird:
Code:
(26), [COLOR=red]Sat Jan 28, 2012; 11:12:45[/COLOR]; 192.168.138.185.40591 > 192.168.138.1.53:  30325+ A? www.microsoft.com
(26), [COLOR=red]Sat Jan 28, 2012; 11:13:39[/COLOR]; 192.168.138.185.52483 > 192.168.138.1.53:  30325+ A? pagead2.googlesyndication.com
 
Zuletzt bearbeitet:

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
Ja, würde ich gerne einsetzen, das Compilieren schug jedoch fehl.

Code:
/home/hss/Downloads/Fritz/Freetz/7390_Gemeinde/trunk/toolchain/build/mips_gcc-4.5.3_uClibc-0.9.31.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.5.3/../../../../mips-linux-uclibc/include/./libnet/libnet-headers.h:1658:12: error: duplicate member '({anonymous})'
make[2]: *** [killtcp.o] Fehler 1
make[2]: Leaving directory `/home/hss/Downloads/Fritz/Freetz/7390_Gemeinde/trunk/source/target-mips_uClibc-0.9.31.1/libnids-1.24/src'
make[1]: *** [static] Fehler 2
make[1]: Leaving directory `/home/hss/Downloads/Fritz/Freetz/7390_Gemeinde/trunk/source/target-mips_uClibc-0.9.31.1/libnids-1.24'

ERROR: Build failed.
make: *** [source/target-mips_uClibc-0.9.31.1/libnids-1.24/src/libnids.so.1.24] Fehler 1
 

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,853
Punkte für Reaktionen
14
Punkte
38
Du brauchst die libnids (klick) und für die Integration der libnids in Freetz, siehe die Beiträge #28 bis #32 aus dem bereits verlinkten "klack"-Thread.

EDIT:
Welche libnids hast Du benutzt?
 

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
Ja, die 1.24 habe ich benutzt.
 

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,853
Punkte für Reaktionen
14
Punkte
38
Poste mal die Ausgabe von:
Code:
ls -la make/libs/libnids
Danach ein "make config-clean-deps" und ein "make libnids-precompiled" machen.

EDIT:

Siehe hier: klick
 
Zuletzt bearbeitet: