[gelöst] Echte DMZ auf 7270 - [Paket dmz-0.0.4]

Dunji

Neuer User
Mitglied seit
28 Nov 2008
Beiträge
164
Punkte für Reaktionen
0
Punkte
0
Package DMZ für Fritz!Box

EDIT: dmz-0.0.4.patch angehängt.

Das Package DMZ soll die Einrichtung einer echten DMZ erleichtern. Dazu wird im eingebauten Switch der Fritzbox VLAN-Tagging verwendet, um die LAN-Ports getrennten Subnetzen zuzuweisen. Mittels iptables wird der Zugriff auf das LAN und WLAN geblockt.

Das Package wurde primär für die 7270 gebaut, ich habe aber versucht, auf andere Boxen rücksicht zu nehmen, indem ich die Kernel-Version prüfe, und nur beim Kernel der 7270 eine stateful Firewall für die Abschottung des LANs verwende, da auf älteren Kerneln das Modul ip_conntrack noch Probleme verursacht. Daher ist auf anderen Boxen als der 7270 grundsätzlich die DMZ aus dem LAN/WLAN heraus gar nicht erreichbar, ausser natürlich über die externe IP-Adresse, falls entsprechende Portfreigaben in der AVM-Firewall eingerichtet wurden.

Mangels Hardware konnte ich allerdings das Package nur auf der 7270 testen (und dort läuft es bei mir seit 3 Monaten problemlos!). Ich wäre dankbar für Feedback, wie es sich auf anderen Boxen verträgt.

Hier stehen Infos zum Package.
Hier steht, wie der Patch angewendet wird.

Versionen:
0.0.4 Bugfix cpmaccfg-Parameter waren falsch für WAN
0.0.3 WAN auf LAN1 Support; Auslesen der Box-IPs aus ifconfig
0.0.2 Blocken des Box Zugriffs
0.0.1 Initialer Draft


---------------------
Ursprünglicher Thread:


Hallo

dank diesem HowTo habe ich es geschafft, auf meiner FBF 7270 unter Labor-Firmware und Freetz mit cpmaccfg den Switch in den Special Modus zu versetzen. Somit habe ich nun auf LAN4 ein zweites Subnetz, das ich für meine DMZ verwenden will.

Nun habe ich in diesem HowTo das folgende Bild gesehen, wo auf der AVM-WebGUI mehrere LAN-Interfaces auftauchen.
Fragen:
1) Lässt sich das mit cpmaccfg erstellte Interface also ins WebGUI aufnehmen, um IP-Adressen dort festzulegen? Und wie ginge das?
2) Wie lassen sich die Interfaces mit den Tools aus Freetz brigden, also zusammenschalten? Ich habe mal irgendwo was gelesen, finde es aber nicht mehr.

Danke

------------------
 

Anhänge

  • dmz-0.0.2.patch.bz2
    2.9 KB · Aufrufe: 15
  • dmz-0.0.3.patch.bz2
    3.5 KB · Aufrufe: 13
  • dmz-0.0.4.patch.bz2
    3.4 KB · Aufrufe: 56
Zuletzt bearbeitet:
Warum machst Du noch einen Thread auf? So wird Dir keiner schneller helfen.
 
Naja, der andere Thread war doch zum Thema DMZ ohne Freetz :)

Aber sorry, wenn ich damit irgend jemanden verärgert habe sollte...
 
Bin schon mal ein Stück weiter gekommen:
- Die AVM-Firewall Forward-Rules funktionieren auch nach dem Neustart, wenn ich VirtualIP auf die IP-Adresse des DMZ-Rechners lege und das Interface eth1 angebe. Ich frage mich allerdings, wieso das funktionieren kann, weil das eth1 Interface ja erst in der debug.cfg an den LAN-Port gebunden wird. Trotzdem klappt es nur mit diesem Vorgehen, ansonsten greifen die Forwards nicht.

Ich habe nun folgende debug.cfg:
Code:
ifconfig eth1 down
cpmaccfg ssms eth0 0x27 eth1 0x28
cpmaccfg ssm special
ifconfig eth1 192.168.10.1 up
brctl addif wlan eth0

Mit dem brctl wird das eth0 Interface (LAN) in die Bridge des WLANs aufgenommen, sodass dann LAN und WLAN wieder im gleichen Subnetz liegen. Im WebGUI habe ich LAN auf ein beliebiges anderes Subnetz, ohne DHCP, gelegt.

Funktioniert soweit prima, ausser die Abschottung des LANs von der DMZ. Dazu muss ich wohl IPTables verwenden, da ich gelesen habe, mit AVM-Firewall sei es nicht möglich, oder irre ich mich da? Könnte man vielleicht mit einer statischen Route die Pakete in die Irre führen?

Ich werde dann mal probieren, analog zu VirtualIP, die Switch-Konfiguration in ein RC-Script zu packen. Dann wäre der Murcks mit der VirtualIP nicht mehr nötig...
Wäre auch noch schön, ein Paket "DMZ" zu haben, welches übers GUI die LAN-Ports und Subnetze zuordnen kann. Werde mich mal damit versuchen...
 
Zuletzt bearbeitet:
Das hat funktioniert mit dem Package.

Nun klappt das auch ohne VirtualIP.

Wie kommt es, dass sich niemand dazu meldet? Ist das Thema zu trivial? Oder im falschen Unterforum?

Wie dem auch sei, ich stelle das Package natürlich zur Verfügung, falls sich jemand dafür interessiert.
 
Neuster Stand:
- Switch-Konfiguration für DMZ-VLAN - ok
- Die Portfreigaben auf IPs der DMZ überleben jetzt einen Reboot
- LAN und WLAN sind bridged und erhalten vom DHCP das gleiche Subnetz
- Zugriff auf LAN/WLAN ist blockiert aus der DMZ (stateful, mit iptables)
- Konfiguration auf der Box funktioniert (halt noch ohne WebGUI)

Fehlt noch was?
Morgen werde ich mal meine erste Alpha des DMZ-Packages freigeben....

Vielleicht findet das dann ja doch noch der eine oder andere nützlich....
 
Hi, die cpmac Konfiguartion kannst du direkt in den Kernel patchen und das neue Interface in der ar7 anlegen, das übersteht dann auch einen reboot und zusätzlich das onlinechanged und wlan an/aus. Die noch fehlende iptables-Regel kann man dann auch noch über das vorhandene Package vornehmen.
Zum statefull filtern ist nicht zu raten, da bis zum Kenel der 7170 das conntrack Reboots verursacht.
Noch ein Tip: Wenn du Lan und Wlan nicht im AVM-WebIf trennst, brauchst du sie später auch nicht mir brctl zusammenzuschalten
 
@Cuma: Vielen Dank für deine Antwort!

die cpmac Konfiguartion kannst du direkt in den Kernel patchen
Da ich eine 7270 habe, muss der gepatchte Kernel wohl noch etwas warten. Oder hast du diesbezüglich eine Lösung, die auch für die 7270 funktioniert?

...und das neue Interface in der ar7 anlegen, das übersteht dann auch einen
reboot und zusätzlich das onlinechanged und wlan an/aus.
Ja das dachte ich auch, nur hat das bei mir leider so nicht geklappt (cpmaccfg in der debug.cfg, interface in ar7.cfg hochziehen). Werde ich mir aber nochmals anschauen. Erscheint das neue Interface dann auch im WebIf?
Aber was meinst du mit "zusätzlich das onlinechanged und wlan an/aus"? Wo siehst du da ein Problem für den Fall, dass das Interface nicht in ar7.cfg hochgezogen wird? Oder verstehe ich dich hier falsch? Verschwindet das wlan-Bridge-Interface bei wlan off?

Zum statefull filtern ist nicht zu raten, da bis zum Kenel der 7170
das conntrack Reboots verursacht.
Habe darüber gelesen. Scheint beim Kernel 2.6.19.2 der 7270 besser zu sein, zumindest konnte ich das bislang noch nicht nachvollziehen. Wie würdest Du denn bei der 7170 filtern, ohne den Zugriff auf die DMZ vom LAN aus ganz zu unterbinden?

Wenn du Lan und Wlan nicht im AVM-WebIf trennst, brauchst
du sie später auch nicht mir brctl zusammenzuschalten
Cool, dachte immer, diese Trennung sei nötig, um nicht alle Interfaces in einer gemeinsamen Bridge zu haben.

Ohne Handarbeit im rc-Script läuft das Package iptables-cgi nicht auf dem Kernel der 7270. Somit habe ich per se auch kein Script, um die iptables-Regeln hochzuziehen. So wies aussieht, werde ich wohl trotzdem ein Package erstellen, wenn auch hauptsächlich für die 7270.
 
Hi, mit der .67 Firmware kann man den Patch leider nicht verwenden, deshalb bleib ich vorerst noch bei der Älteren.
In der ar7 hab ich unnützes rausgenommen und sie so umgeschrieben:
Code:
        ethinterfaces {
                name = "lan";
                dhcp = no;
                ipaddr = 192.168.1.1;
                netmask = 255.255.255.0;
                dstipaddr = 0.0.0.0;
                interfaces = "eth0", "wdsup1", "ath0", "wdsdw4", "wdsdw1",
                             "wdsdw2", "wdsdw3";
                dhcpenabled = no;
                dhcpstart = 0.0.0.0;
                dhcpend = 0.0.0.0;
        } {
                name = "bad";
                dhcp = no;
                ipaddr = 192.168.2.1;
                netmask = 255.255.255.0;
                dstipaddr = 0.0.0.0;
                interfaces = "eth1";
                dhcpenabled = no;
                dhcpstart = 0.0.0.0;
                dhcpend = 0.0.0.0;
        }
Nebeneffekt ist noch, dass das interface nachher "bad" heisst. Mit "interfaces =" kann man angeben welche zusammengehören, ich kann also von Lan auf Wlan zugreifen.
Wenn man cpmaccfg beim booten per Skript setzt, kann es vorkommen, dass es bei cpmac-Umkonfiguartion zurückgesetzt wird, deshalb habe ich das Default nach meinen Bedürfnissen angepasst.
Bei der 7270 funktioniert conntrack bei mir auch ohne Probleme, ich habe "lan" und "bad" aber eh komplett getrennt. Wenn man es nicht mit conntrack machen möchte, muss man sich die Services anschauen die man freigeben möchte und die entsprechenden Ports von Hand freigeben, was natürlich nicht so komfortabel ist.
Was meinst du mit "Erscheint das neue Interface dann auch im WebIf"? Wo soll es erscheinen? Ich kann allerdings nicht mal mehr die IP der box dort ändern, weil die ar7 nicht geparst werden kann. So kann aber auch nichts kaputt gehen
An der 7270 Anpassung für die AVM-Firewall wird momentan schon gearbeitet
 
Ich habe ein Package DMZ-0.0.1 erstellt, welches die Einrichtung einer DMZ erleichtern soll.

EDIT: Neu: Version 0.0.3 wurde ergänzt

Also Paket auswählen, build, flash und fertig.

Primär ist das Package für die 7270 mit Kernel 2.6.19.2 gedacht, es sollte aber im Prinzip auch auf anderen Geräten laufen (das konnte ich aber mangels Hardware nicht nachprüfen. Würde das mal jemand testen?).

Features:
  • Konfiguration über Config-file auf der Box
  • Switch-Controllersettings per Portmasks definierbar (siehe cpmaccfg)
  • Subnetz einstellbar (Default: 192.168.10.0/24)
  • WLAN-LAN Bridge ein/ausschaltbar
  • Schutz des LANs/WLANs vor Zugriff aus der DMZ (verwendet iptables)
  • Schutz der Box vor Zugriff aus der DMZ (liest ifconfig aus)
  • Konfiguriert den Switch auf Wunsch für den WAN-Zugang über LAN1

Voraussetzungen:
Ein Kernel, bei dem der Switch-Mode SPECIAL funktioniert, ist Voraussetzung. Bei der 7270 kommen also nur Firmwares >= 54.04.63 in Frage (auch die 54.04.67 funktioniert bestens). Bei anderen Boxen muss entsprechend Replace-Kernel ausgewählt werden.
Die Option "Alle Computer befinden sich im selbsen IP-Netzwerk" muss deaktiviert sein!
Die BusyBox Option "brctl" sollte nicht gewählt werden, da automatisch das Paket bridge-utils eingebunden wird.

Hinweise zu iptables:
Da ip_conntrack auf den meisten Boxen nicht störungsfrei läuft, wird es nur beim Kernel 2.6.19.2 geladen und benutzt. In allen anderen Fällen wird somit auf Stateful-Filterung verzichtet und die DMZ ist somit auch aus dem LAN heraus nicht zugreifbar (bzw. die Antwortpakete kommen nicht zurück).
In meinem Fall (mit 2.6.19.2) konnte ich keine Probleme feststellen, und so wird das LAN stateful von der DMZ getrennt, so dass Zugriffe vom LAN auf die DMZ funktionieren.

rc-Script:
Das rc-Script /etc/init.d/rc.dmz lädt beim ersten Start die iptables-Module (kernelabhängig) und setzt 2 bis 4 Rules auf (Parameter DMZ_PROTECT_INTERFACE1/2). Beim Aufruf des Scripts mit "stop" werden aber weder die iptables-Rules gelöscht, noch die Module entfernt, um die Verwendung von iptables in anderen Paketen nicht zu stören und keine fremden Regeln ausser Kraft zu setzen. Beim Stoppen werden nur die LAN-WLAN-Bridge entfernt und das DMZ-Interface heruntergefahren. Auch die Switch-Konfiguration wird nicht geändert.

Konfiguration auf der Box:
Editieren von /mod/etc/conf/dmz.cfg.
Code:
vi /mod/etc/conf/dmz.cfg
modconf save dmz
modsave
aufrufen, um die Änderungen zu behalten. Ausser bei der simplen Änderung des IP-Subnetzes, muss neu gebootet werden, um die Änderungen zu übernehmen.


Weitere Infos folgen....

EDIT: Besser den Patch von hier verwenden
 
Zuletzt bearbeitet:
Absicherung der Box gegenüber der DMZ
 

Anhänge

  • dmz.tar
    20 KB · Aufrufe: 25
sehe grad das das gute ding ip_contract nutzt...hat dieses paket immernoch die abstürzneigung? oder iss das bei der dmz unerheblich wenn das ding mal wegbricht?
 
Das Modul selber neigt wohl nicht zum Wegbrechen, sondern bringt die ganze Box zu regelmäßigen Abstürzen, was für die DMZ sehr erheblich ist
 
oder iss das bei der dmz unerheblich wenn das ding mal wegbricht?

Sicher nicht unerheblich....
Bei einigen, so auch bei meiner, 7270 läuft conntrack stabil ohne Aussetzer. Für die älteren Kernel wird das Modul eh nicht geladen...
 
vielleicht hat avm ja was am kernel geändert, das es jetzt mit den neuen FW besser läuft. :)
 
Der Kernel der 7270 ist deutlich neuer als der in den anderen Modellen.
Ich glaube nicht, daß AVM gezielt für iptables etwas geändert hat, sie verwenden es ja nicht.
 
dann bleibt wohl nur fleissiges testen auf breiter systemlandschaft um das zu klären...
iptables iss ja nur wegen dem ip_contract nicht mit inner box ,-)
 
Im dazugehörigen Ticket hab ich bereits vor 3 Wochen angemerkt, dass mit dem neuen Kernel conntrack anscheinend funktioniert. Bis jetzt gibts dazu keine Änderungen.
 
Gelegentlich hatte ich das Phänomen, dass nach einem Reboot die Forwards in die DMZ nicht mehr funktionierten. Aus diesem Grund habe ich noch einen Restart des DSLDs ans Ende des Scripts eingebaut. Nun funktioniert auch das tadellos auf meiner Box.

Eine einzige Unschönheit bleibt noch: Der (AVM-)Samba-Server hört nur auf dem IP-Subnetz des eth0-Interfaces und nicht auf der manuell erstellten WLAN-Bridge, somit ist momentan kein Zugriff auf Samba möglich.
Hat da jemand eine Idee? Kann man den eingebauten Samba-Server umkonfigurieren, dass er stattdessen auf dem WLAN-Subnetz lauschen würde? In der ar7.cfg konnte ich nichts dergleichen finden, nur Samba ein/aus.

EDIT: Nach Installation des Freetz-Samba-Packages kann man die IP-Adresse einstellen. Funktioniert prima.
 

Anhänge

  • dmz.tar
    20 KB · Aufrufe: 27
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,696
Beiträge
2,216,700
Mitglieder
371,316
Neuestes Mitglied
realbluethunder
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.