.titleBar { margin-bottom: 5px!important; }

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

Dieses Thema im Forum "Freetz" wurde erstellt von Dunji, 4 Dez. 2008.

  1. Dunji

    Dunji Neuer User

    Registriert seit:
    28 Nov. 2008
    Beiträge:
    164
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 Dunji, 4 Dez. 2008
    Zuletzt bearbeitet: 2 Apr. 2009
    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:

  2. Whoopie

    Whoopie Aktives Mitglied

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    814
    Zustimmungen:
    4
    Punkte für Erfolge:
    18
    Warum machst Du noch einen Thread auf? So wird Dir keiner schneller helfen.
     
  3. Dunji

    Dunji Neuer User

    Registriert seit:
    28 Nov. 2008
    Beiträge:
    164
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Naja, der andere Thread war doch zum Thema DMZ ohne Freetz :)

    Aber sorry, wenn ich damit irgend jemanden verärgert habe sollte...
     
  4. Dunji

    Dunji Neuer User

    Registriert seit:
    28 Nov. 2008
    Beiträge:
    164
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #4 Dunji, 5 Dez. 2008
    Zuletzt bearbeitet: 5 Dez. 2008
    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...
     
  5. Dunji

    Dunji Neuer User

    Registriert seit:
    28 Nov. 2008
    Beiträge:
    164
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  6. frank_m24

    frank_m24 IPPF-Urgestein

    Registriert seit:
    20 Aug. 2005
    Beiträge:
    17,571
    Zustimmungen:
    1
    Punkte für Erfolge:
    36
    Ort:
    Niederrhein
    Hallo,

    wenn es hier im DMZ mit freetz geht, dann verschieben wir das doch mal nach Freetz.
     
  7. Dunji

    Dunji Neuer User

    Registriert seit:
    28 Nov. 2008
    Beiträge:
    164
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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....
     
  8. cuma

    cuma Aktives Mitglied

    Registriert seit:
    16 Dez. 2006
    Beiträge:
    2,743
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    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
     
  9. Dunji

    Dunji Neuer User

    Registriert seit:
    28 Nov. 2008
    Beiträge:
    164
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @Cuma: Vielen Dank für deine Antwort!

    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?

    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?

    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?

    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.
     
  10. cuma

    cuma Aktives Mitglied

    Registriert seit:
    16 Dez. 2006
    Beiträge:
    2,743
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    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
     
  11. Dunji

    Dunji Neuer User

    Registriert seit:
    28 Nov. 2008
    Beiträge:
    164
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #11 Dunji, 9 Dez. 2008
    Zuletzt bearbeitet: 28 Feb. 2009
    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
     
  12. Dunji

    Dunji Neuer User

    Registriert seit:
    28 Nov. 2008
    Beiträge:
    164
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Absicherung der Box gegenüber der DMZ
     

    Anhänge:

    • dmz.tar
      Dateigröße:
      20 KB
      Aufrufe:
      25
  13. Darkyputz

    Darkyputz Aktives Mitglied

    Registriert seit:
    27 Juli 2005
    Beiträge:
    2,320
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Newton, New Jersey
    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?
     
  14. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  15. Dunji

    Dunji Neuer User

    Registriert seit:
    28 Nov. 2008
    Beiträge:
    164
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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...
     
  16. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    vielleicht hat avm ja was am kernel geändert, das es jetzt mit den neuen FW besser läuft. :)
     
  17. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  18. Darkyputz

    Darkyputz Aktives Mitglied

    Registriert seit:
    27 Juli 2005
    Beiträge:
    2,320
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Newton, New Jersey
    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 ,-)
     
  19. cuma

    cuma Aktives Mitglied

    Registriert seit:
    16 Dez. 2006
    Beiträge:
    2,743
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    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.
     
  20. Dunji

    Dunji Neuer User

    Registriert seit:
    28 Nov. 2008
    Beiträge:
    164
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #20 Dunji, 15 Dez. 2008
    Zuletzt bearbeitet: 16 Dez. 2008
    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
      Dateigröße:
      20 KB
      Aufrufe:
      27