AVM-Firewall package für Freetz

Nunja, genau weiß ich das nicht, aber zumindest werden die aktuellen Einträge etwa der Forwardings und auch der FW-Regeln so zwischengespeichert, dass daraus dann der Teil der ar7.cfg neu beschrieben wird, wenn sich z.B. ein Forwarding ändert.
Diese sind auch nochmal "unterteilt" in die sichtbaren, die man per fortlaufender Nummer z.B. im Webif ansprechen kann, und die auf eine andere IP gehen und den "unsichtbaren" auf die 0.0.0.0 selbst.
Letztlich müsste man prüfen, wie webcm, ctlmgr und ggf. dsld da zusammenarbeiten. Das könnte natürlich auch bei den Boxen, wo der Webserver mit im ctlmgr ist, auch nochmal anders sein.

Meine Vermutung ist, dass die eigentliche Änderung tatsächlich der ctlmgr macht. Selbst ein "ar7cfgchanged", was letztlich ein "/etc/init.d/rc.net reload" ist, sorgt nicht dafür, dass Änderungen an der ar7.cfg im Forwardingbereich in der GUI erscheinen, sondern auch danach überschreibt eine AVM-GUI-Änderung die schon vorhandenen Änderungen in der ar7.cfg.

Jörg
 
Ich vermute auch, dass man an diesem Verhalten nichts ändern kann. Vermutlich speichert sich der AVM-Webserver intern beim Start für bestimmte Seiten die Daten. Solange kein AVM Script selbst eine Änderung verursacht, werden die Daten nicht erneut eingelesen. Würde zumindest auch erklären, warum Änderungen an der ar7.cfg wieder übermangelt werden.
 
Jepp, deshalb hilft dafür wohl nur ein Neustart des ctlmgr (oder man findet raus, wie die Kommunikation zwischen webcm und ctlmgr läuft und baut die nach).
Ansonsten: Bei läuft die GUI jetzt so? In "allen Variationen"?

Jörg
 
Irgendeinen Weg sollte es doch geben. Wenn AVM das selbst kann, müßtet Ihr es doch auch hintricksen können. Kann man das evtl. mit strace/ltrace irgendwie nachvollziehen?
 
[Spaßmodus ein]Jetzt motivierst du uns noch Reverse Engineering gegen AVM zu treiben, Alexander!
[Spaßmodus aus]
Obwohl anders haben sie auch nichts verdient, wenn sie schon sowas krummes da mit deren WebServer treiben, anstatt wie alle normale Menschen httpd von busybox zu nutzen.

MfG
 
Hi,

habe den gleichen Fehler wie Joel & andere - jedesmal nachdem ich eine Forwarding Regel aufsetze und die Settings übernehme, geht die Box in die Werkseinstellungen. :(

Ist mir gestern mit aktueller Trunk-Version auch passiert.

cu solaris
 
Klar, weil es ja auch noch keine endgültige Lösung gibt. ausser dem hier schon beschriebenen Workaround mit manuellem Reboot. Alternativ darfst du gern den patch auch #391 testen ;-)
 
Ich habe im Ticket dazu mal einen leicht veränderten Patch angehängt. Rückmeldungen sind sehr willkommen.

Jörg
 
Moin Jörg,

ich hab deinen Patch mal auf meiner Testbox eingebaut und alle 4 Radio-Buttons in Verbindung mit Anlegen von Portforwardings getestet.
Bei mir ist die Box bei keiner der Optionen abgeschmiert und auch nicht auf WE zurückgefallen. Scheint also zu funtkionieren. Denke aber das ein oder andere Feedback sollte vor dem check-in noch abgewartet werden.
 
@MaxMuster
Habe deinen Patch eingespielt und getestet. Keine Probleme. Danke dafür!

cu solaris
 
in der 2.0.4_rc3, wenn ich dort eine portfreigabe auf die box einrichte was muss ich dann nehmen? Forwardings aktivieren, Firewall und dsld-Schalter, AVM-GUI aktualisieren oder Beides?

ich und auch andere newbies wissen das nicht!
 
Moin,

Lies doch einfach mal bitte die letzten beiden Seiten. Danach sollte es zumindest klar sein. Wenn es das dann ist, darfst du es für andere auffindbar hier unterbringen
Wobei ich allerdings nicht weiß, inwieweit der patch jetzt fertig ist oder nicht. Aber nen Anfang kannst du ja schonmal machen
 
Ich fasse es hier nochmal zusammen:

Die GUI tangiert zwei AVM Daemons (ctlmgr und dsld) und zwar deshalb, weil AVM entweder keine Änderungen am Regelwerk vorsieht (bei der Firewall) oder selbst die Änderungen verwaltet (Forwarding).

Vorweg: Der sichere Weg zu neuen Regeln ist "Nix anhaken, Sichern, Reboot".

Wer das Risiko liebt ;-), oder auch Testen und Rückmeldungen geben will, bekommt hier nochmal eine Zusammenfassung der Dinge (die feine Unterteilung ist gemacht, um bei Problemen besser eingrenzen zu können, was denn dafür verantwortlich ist).

Allgemein gilt, dass die in der Freetz-GUI vorgenommenen Änderungen erstmal den AVM-Diensten nicht bekannt sind. Deshalb muss der ctlmgr neu gestartet werden, um diese Änderunegen dort auch zu verankern. Wird der ctlmgr nicht neu gestartet, können Änderungen in der AVM-GUI alle Änderungen in dieser GUI rückgängig machen.


Für den dsld gibt es diese "Fallunterscheidung"

- Firewalländerungen:
Um Änderungen im Firewall Regelwerk zu aktivieren, muss der dsld gestoppt und neu gestartet werden
- Logging (dsld "Schalter")
Um Änderungen an den Optionen des dsld zu aktivieren, ist ebenfalls ein Neustart des dsld erforderlich
- Änderungen im Portforwarding
Um die Änderungen dort zu übernehmen, kann der dsld über ein Signal (HUP) "angewiesen" werden, die Regeln neu zu laden und anzuwenden.


Jörg

Edit: Hab auch das WIKI mal mit Minimalinfos ergänzt.
 
Zuletzt bearbeitet:
Moin Jörg,

magst du noch deinen screenshot aus #391 ins Wiki packen?
Ich hätte es ja selbst gemacht, nur weiß ich nicht, ob da zwischenzeitlich doch noch was geändert wurde. Denke mit dem Bild wird deine Beschreibung noch deutlicher.
 
Hallöle!!

Ich bin gestern mit meiner 7170 mit der 80'er Vorschau Firmware einer längst ausgemerzten Kinderkrnakheit aufgesessen...
Ich hatte nach dem setzten einer einfachen Portforwardrule ne geplättete Konfig und ich drufte alles neun konfen...
erstmal ja nix wildes...aber hat es mich doch irritiert...nochjemandem bekannt das Prob?
Grüße!!
 
... lies doch mal die letzten zwei drei Seiten, dann weißt du mehr.
Und das sollte mit aktuellem Trunk ( ab Changeset 4337, spätestens ab 4350) nicht mehr auftreten.

Jörg
 
Asche auf mein Haupt...Mea Maxima Culpa
 
Guten Tag,

sagt mal, auf was muss ich achten wenn ich die Fritzbox mit einer Whitelist einrichten möchte? Wenn ich ein/ausgehend auf "deny" setze fahre ich mich ja erst einmal vor eine Wand. Port 80/53 usw. ausgehend zu aktivieren nützt nichts.

Die FB GUI zeigt ja nicht einmal mehr die WAN IP.

Wäre nett wenn mir jemand helfen würde.

EDIT:
Das Problem hat sich dank eines anderen Themas erledigt. Falls jemand mal vor dem gleichen Problem stehen sollte -> "permit ip any any connection outgoing-related" bei lowinput verwenden und danach die gewünschten Ports über ausgehende Verbindungen von Hand erlauben.


Mein jetziges Problem ist allerdings, dass ich zusätzlich 2 Portfreigaben benötige (eingehend) und es einfach nicht zum Laufen bewegen kann. :( Ich habe dies schon im anderen Thread geschilder, quote es hier aber trotzdem mal. Vielleicht weiß es ja hier jemand. Der Thread ist ja deutlich größer und hoffentlich aktiver.


EDIT:

Gelöst!

- deny/deny einstellen
- "permit ip any any connection outgoing-related" unter "lowinput"
- "permit ip any any connection incoming-related" unter "highoutgoing"

Sämtliche Ports von Hand ausgehend / eingehend erlauben. Portweitergabe für den NAT setzen - rennt. Man muss allerdings unter "lowinput" die Portfreigaben mit any/any einrichten, damit diese an den NAT übergeben werden (ich kenne dessen Adresse leider nicht, sonst würde ich das manuell machen). Unter highoutgoing kann man direkt die entsprechenden Rechner linken oder (wie ich) das jeweilige Netz (also z.B. 192.168.133.0 255.255.255.0)

Wirft man ausgehend nen port raus, so kann man diesen auch nicht nutzen. Wirft man eingehend nen Port raus, so melden ihn die Portscanner auch aus "gefiltert/geschlossen".

Funktioniert also scheinbar alles wie gewünscht. Oder habe ich irgendwo einen Sicherheitsfehler eingebaut?

EDIT 3:

Die Probleme, die noch bleiben.

- Freetz Datum ist auf 01.01.2000, wieso auch immer.
- Mit deny/deny Regeln wird in der FritzBox GUI unter "internet" nur noch die grüne LED, aber nicht mehr die Uhrzeit und IP angezeigt, wie das vorher noch der Fall war.


EDIT 4: Liegt beides am NTP Port. Den mit any/any frei und es rennt. Morgen such ich die intern genutzte Adresse der Fritzbox noch raus. Dann muss ich das nemmer per any/any machen, sondern kann direkt auf das Interface verlinken.

Danach noch IPv6 aus, VoIP UDP Freigaben in die Tonne, iptables drauf und das Teil ist "sicher". Wieso das alles? Weils möglich ist! :D Werden die VoIP UDP Freigaben eigentlich nur an den VoIP Dienst geleitet? Überlagern die jetzigen Firewall Einstellung das evt. sogar? :confused:
 
Zuletzt bearbeitet:
Anleitung für folgendes Problem verfügbar?

Hallo zusammen,
nachdem RAMler mir zwar schon per PN weiterzuhelfen versucht, denke ich es ist für alle hilfreich, wenn das im Thread diskutiert wird. Sollte ich mein Problem lösen, dann schreibe ich auch gerne eine Anleitung und stelle diese zur Verfügung.

Problem: Eine Komponente hinter der Fritz!Box 7270, soll nur auf einem Port (oder mehreren!) von außen erreichbar sein und auch nur über diesen Port Daten versenden dürfen. Sonst soll es der Komponente untersagt sein in irgendeiner Weise mit der Außenwelt zu kommunizieren.
Von den anderen Komponenten hinter der Fritz!Box, soll jedoch ein Vollzugriff möglich sein.

Was habe ich bis jetzt? Alle Komponenten im selben Netz)
Mein Netz hat folgende IPs (DHCP aktiviert):
FB7270: 10.33.77.1

WLAN:
Rechner1: 10.33.77.20
Rechner2: 10.33.77.21
Rechner3: 10.33.77.22

LAN:
Playstation 3: 10.33.77.5
Komponente: 10.33.77.3

Weiterhin habe ein passendes FreetzImage erstellt und bereits eingespielt.
Rufe ich im FreetzMenü die AVM-Firewall auf, dann sieht es wie im angehängten Bild aus.

Wie ist nun vorzugehen, damit ich mich nicht selber aussprerre und meine Fritz!Box offen wie ein Scheunentor ist? Oder habe ich schon was falsche gemacht?

Es wäre toll, wenn wir gemeinsam ne Lösung finden könnten.

Mr.Becks
 

Anhänge

  • Bildschirmfoto 2010-03-24 um 17.15.34.png
    Bildschirmfoto 2010-03-24 um 17.15.34.png
    127.4 KB · Aufrufe: 16
Zu deinen Fragen der 3 PMs.

- Ne, meinte mit "Box" die Fritzbox, nicht deine "Komponente". ;)
- Nein, es ist nicht "alles offen". Die Firewall nutzt die Fritzbox per default nicht wirklich. Es sind nur einige, wenige Dinge gesperrt. Der Rest steht (von Werk aus) auf "permit", also erlaubt.

Der Zugriff von außen wird nur per NAT geblockt (Portweiterleitungen).

Du hast mit dem Freetzimage und der AVM Firewall GUI also an den Einstellungen selbst nichts geändert und nach wie vor die gleiche Sicherheit wie vor dem Flashen.

Ich kann dir nur den gut gemeinten Rat geben dich in die Materien einzulesen, auch wenn es je nach dem etwas dauern wird. Früher oder später willst du an der Konfiguration ja wieder etwas ändern und auch verstehen was du machst.

Dich selbst aussperren ist mit der AVM Firewall nicht möglich, da diese nur zwischen WAN und LAN filtert, nicht aber die Fritzbox selbst. Selbst aussperren könntest du dich z.B. mit iptables, da iptables es erlaubt wirklich alles zu filtern, auch den LAN internen Verkehr zur Fritzbox hin. Die AVM Wall bietet das nicht.

Zu meiner PM mit den Regeln. Du kannst die Regeln auch sofort ins Regel Feld schreiben, musst das also nicht zwingend über die GUI machen. Im Endeffekt kommt das auf das Gleiche heraus. ;)

Zur Umsetzung (Der Port 17010 dient nur dem Beispiel, dort natürlich der Port und das Protokoll rein, das du brauchst!):

- In der GUI stellst du erst einmal bei "lowinput" und "highoutgoing" die Standardregel auf "deny", so das erst einmal alles verboten ist, was du nicht explizit erlaubst (Whitelist Modus).
- Nun stellst du bei "lowinput" "permit ip any any connection outgoing-related" ein. An welche Stelle du das setzt, ist unerheblich.

Zu sehen hier: http://666kb.com/i/bhrpvzf7qpqqq41mn.png

- Bei "highoutgoing" stellst du "permit ip any any connection incoming-related" ein.


Diese beiden Werte ermöglichen der Firewall die Stateful Inspection. Klar verständlich gesagt: Wenn dein PC ausgehend eine (erlaubte) Verbindung aufbaut, sieht das die Firewall und lässt dann Datenpakete, die zu dieser Verbindung gehören, auch wieder herein.

Da die Firewall aktuell aber erst einmal alles ablehnt (whitelist Betrieb - es stehen die Standardregeln ja auf deny), ist aber aktuell erst einmal nichts erlaubt.

Nun konfigurieren wir also die gewünschten Dinge für die jeweiligen Rechner bzw. erst einmal für deine Komponente.

Unter "lowinput" musst du die Ports öffnen, die deine Komponente empfangen können darf. Dies musst du per "any", also für jeden, erlauben, da diese Öffnung danach beim NAT landet, der es dann (bei existierender Portweiterleitung) an den gewünschten Rechner weiter gibt.

Kurz gesagt:

Port oder port range bei "lowinput" wie folgt öffnen: "permit tcp any any eq 17010"

Wäre in dem Beispiel der Port 17010 für das Protokol TCP.

Screeni: http://666kb.com/i/bhrq2rjqphcl3lnwf.png

Und nun musst du noch unter "Portforwarding" die Weiterleitung des Portes auf den gewünschten Rechner (10.33.77.3) einrichten. Dies kannst du sowohl über die AVM GUI als auch in der Fritzbox selbst machen. Ist das Gleiche. Bei weiteren Ports, auch für andere Rechner, verfährst du genau so. Portfreigaben (eingehend) musst du in Zukunft also doppelt anlegen. Einmal mit any/any in der Firewall und dann noch mit der Portweiterleitung (NAT) für den jeweiligen Rechner, für den die Freigabe bestimmt ist.


So, nun zu den ausgehenden Verbindungen. Im Grund ist es unter "highoutgoing" das gleiche Spiel, nur kannst du dort den jeweiligen Rechnern direkt getrennte Regeln zuweisen. In deinem Falls musst du das auch tun, denn die "Komponente" soll ja anders behandelt werden als der Rest.

Die Freigabe nach außen stellst du nun wie folgt: "permit tcp 10.33.77.3 255.255.255.0 any eq 17010"
oder per "permit tcp host 10.33.77.3 any eq 17010"

Wie rum ist im Endeffekt egal. ;)

Screeni: http://666kb.com/i/bhrq6o6i1rk5viclb.png

Dies erlaubt nun NUR dem Rechner 10.33.77.3 ausgehend den Port 17010 über TCP zu nutzen.

ALLE anderen Rechner kannst du einfach mit einem"permit tcp 10.33.77.0 255.255.255.0 any eq 80" für z.B. den Port 80/TCP freigeben. Die .0 am Ende in der Freigabe bedeutet eben das die Regel für alle Rechner in diesem Netz gilt.

Aufgrund der Whitelist musst du alle Ports öffnen, die man tagtäglich so nutzt. Das sind z.B. 80 für http / 443 für SSL/https, 110 für pop3 usw. usf. Solltest du ausgehend den "ping" Befehl nutzen solltest, musst du diesen natürlich auch freigeben (icmp).

Listen dazu findest du genügend per google.

Ich denke das wars. Viel Erfolg beim Basteln! :)


PS:
Zu meinem "NTP" Hinweiß. Die Fritzbox zeigt doch unter "Internet" immer die aktuelle IP und Uhrzeit an. Diese Uhrzeit wird über NTP abgefragt, das den Port 123 über UDP nutzt. Du musst also ausgehend mit any/any den Port 123/UDP freigeben, damit die Fritzbox (und alle weiteren Rechner im Netz) sich die Uhrzeit über NTP holen dürfen.

Wie man das ganze nur für die Fritzbox frei gibt weiß ich selbst (noch) nicht. Da ich aber ntp eh zum synchronisieren einiger Programme nutze, ist es nicht verkehrt, wen es für alle auf ist. :)
 
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.