[Frage] Firewallregeln über AVM-Firewall-GUI

hssuhle

Neuer User
Mitglied seit
16 Mai 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
16
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
 
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.
 
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:
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.
 
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:
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.
 
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.
 
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?".
 
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: DAS muss ich mir ansehen! Das klingt genau nach dem, was ich suche! Danke!
 
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.
 
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...
 
Könntest Du mal die kernel config von der "neuen" Box posten ?
 
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.
 
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:
root@fritz:/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:
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
 
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?
 
Ja, die 1.24 habe ich benutzt.
 
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:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.