iptables-cgi als AddOn in ds-mod (richtige Firewall)

han-solo

Mitglied
Mitglied seit
28 Jul 2005
Beiträge
451
Punkte für Reaktionen
0
Punkte
0
Da die hausgemachte Firewall von AVM per default nur ein einfaches Portforwarding kann und das nicht den Ansprüchen einer ordentlichen Firewall entspricht, habe ich eine GUI für iptables entwickelt. Denn mit iptables kann man jedglichen Datenverkehr zwischen sämtlichen Interfaces regulieren.

Wer z.B. mehrere VPN Tunnel zu Partnerboxen hat, kann mit iptables die Zugriffe einschränken. Weiterhin kann man ausgehenden Datenverkehr von bestimmten Clients ins Internet begrenzen, und und und....

Bevor hier die Diskussion aufkommt, dass iptables unstable ist und ca. alle 3h abschmiert, möchte ich noch anmerken, dass es irgendwann (vielleicht beim nächsten Kernel) wieder einwandfrei funktionieren wird.

Ich mach es z.B. derzeit so, dass ich alle 2h den rc.iptables daemon per cronjob restarte. Das klappt eigentlich ganz gut.

So, jetzt zur GUI:
Die GUI beinhaltet ein Eingabe Formular, mit dem man Regeln setzen und löschen kann.
Darunter sieht man alle Regeln in einer Tabelle mit entsprechenden chains (Ketten) aufgelistet.
Man kann sogar Reglen an eine bestimmte Position einfügen.

Der daemon kümmert sich um die Module und lädt bzw. entlädt diese und verarbeitet die Regeln, die über die GUI abgesetzt werden.
Alle Regeln werden im flash reset-fest gespeichert und vom daemon bei Bedarf geladen.

Weiterhin können Regeln auch manuell editiert werden. Dazu ist unter den Einstellungen "IPTABLES: Rules" zu finden.

Es handelt sich hierbei um die erste Version und ich hoffe, dass sich ein paar Leute finden werden, die das Paket mal testen werden und hier darüber berichten.

EDIT 09.01.2008 - V1.0.1 : Download-Pfad in Config.in geändert und Pfaderweiterungen in rc.iptables und iptables.cgi
EDIT 10.01.2008 - V1.0.2 : Fehlerkorrektur uStor01, modreg files, Add Services, images für ACCEPT, DROP und MASQUERADE
EDIT 10.01.2008 - V1.0.3 : Bug in Startoptionen beseitigt. Getestet auf 7050 und 7170.
EDIT 11.01.2008 - V1.0.3a: Fehlende Module und Librarys ins Makefile aufgenommen
EDIT 14.01.2008 - V1.0.4: NAT für PREROUTING und POSTROUTING eingebaut, Breitere Tabelle, One-Klick Rule Deleting, sinnvolle Services per default eingebaut

cronjob:
Code:
# iptables alle 2h neu laden
0 */2 * * * /mod/etc/init.d/rc.iptables restart

Im ds-mod muss vor dem "make menuconfig" die Datei "make/iptables/Config.in" gepatched werden. oder man ergänzt einfach manuell die Zeile 24 "source make/iptables-cgi/Config.in".
Nachfolgend der Patch:

Code:
--- /make/iptables/Config.in
+++ /make/iptables/Config.in
@@ -20,6 +20,8 @@
                modern Linux distributions.

 # Include here for a cleaner menu structure (list packages before modules/libs)
+source make/iptables-cgi/Config.in
+
 source make/firewall-cgi/Config.in

Wer das CGI erstmal im RAM testen will, entpackt das "iptables-cgi-1.x.x-dsmod.tar.bz2" und kopiert alles unter /root/ im Archiv nach /mod/ und setzt anschließend folgende Befehle auf der Console ab:
Code:
modreg file 'iptables.rules' 'IPTABLES: Rules' 0 "/mod/etc/default.iptables/iptables.def"
sed "s/vpnc/vpnc\nwebtransmission\niptables/" /etc/static.pkg > /var/tmp/static.pkg
mount -o bind /var/tmp/static.pkg /etc/static.pkg
rm /var/mod/var/cache/menu_packages
 

Anhänge

  • iptables_rules.jpg
    iptables_rules.jpg
    174.6 KB · Aufrufe: 64
  • iptables_services.jpg
    iptables_services.jpg
    158.3 KB · Aufrufe: 46
  • inptables-cgi.jpg
    inptables-cgi.jpg
    478.8 KB · Aufrufe: 54
  • make-iptables-cgi-1.0.4.tar.bz2
    1.3 KB · Aufrufe: 11
  • iptables-cgi-1.0.4-dsmod.tar.bz2
    6.3 KB · Aufrufe: 14
Zuletzt bearbeitet:
Wozu die Regeln alle 2 Stunden neu laden? Das scheint mir etwas unglücklich, da es u.U. bestehende Verbindungen stören bzw. zu Race Conditions bei neuen Verbindungen führen könnte.
 
Naja, wenn man es ohne neuladen probieren möchte und es stürzt nicht nach ca. 3h ab, dann ist es umso besser.
 
wer hat denn dann bei den freigaben vorrang?
avm´s ar7cfg einträge oder die neuen hier aus dem mod?

p.s. iss das firewall.cgi nötig?
 
Zuletzt bearbeitet:
@Darkyputz: Das muss wohl auch noch getestet werden. Ich vermute, dass beide Regeln ziehen.
 
Wenn ich kriegaex' Aufruf zusammen mit Saschas Blog lese, dann stellt sich mir die Frage, was letzten Endes der Unterschied ist.

Man könnte doch dieses Interface genau so für die ar7-Firewall bauen, und diese liefe dann stabil.
 
Leider kann die ar7-Firewall kein NAT, welches ich z.B. für OpenVPN benötige. Auch so Spielchen wie markieren der Päckchen oder QOS lassen sich nicht konfigurieren. Das kann leider nur iptables.
 
Die FritzBox ist und bleibt halt eine SoHo Lösung und ist daher für fortgeschrittene Netzwerkapplikationen wie umfangreiches Firewalling/Routing einfach nicht zu gebrauchen.

Ihr könnt also gerne weiter Eure Zeit damit verschwenden, quasi mit Rapsöl zum Mond fliegen zu wollen, oder einfach für deartige Anwendungsfälle geeignete Hard- und Software einsetzen. ;)
 
schade...mein erster versuch ergab kein webinterface für iptables...
muss wohl was falsch gelaufen sein..
aber bei dienste steht es und status unused...
ein startversuch des ganzen bringt:
Code:
Loading modules...
insmod: can't open '/var/media/ftp/uStor01/modules/iptabels/ip_tables.ko': No such file or directory
insmod: can't open '/var/media/ftp/uStor01/modules/iptabels/ip_conntrack.ko': No such file or directory
insmod: can't open '/var/media/ftp/uStor01/modules/iptabels/ipt_LOG.ko': No such file or directory
insmod: can't open '/var/media/ftp/uStor01/modules/iptabels/iptable_filter.ko': No such file or directory
insmod: can't open '/var/media/ftp/uStor01/modules/iptabels/ipt_state.ko': No such file or directory
insmod: can't open '/var/media/ftp/uStor01/modules/iptabels/ip_conntrack_ftp.ko': No such file or directory
insmod: can't open '/var/media/ftp/uStor01/modules/iptabels/ipt_mac.ko': No such file or directory
insmod: can't open '/var/media/ftp/uStor01/modules/iptabels/ipt_multiport.ko': No such file or directory
insmod: can't open '/var/media/ftp/uStor01/modules/iptabels/ipt_iprange.ko': No such file or directory
insmod: can't open '/var/media/ftp/uStor01/modules/iptabels/iptable_nat.ko': No such file or directory
Loading table list...
/mod/etc/init.d/rc.iptables: line 226: cannot open /var/tmp/flash/iptables.rules: no such file

weshalb will der auf meinen stick??
iss der kram so gross, das er nicht ins image passst?
das stand aber nirgends ;-)
 
Zuletzt bearbeitet:
@knox

Konstruktiv bitte ...

und mit der "geeigneten Hard- und Software" ist dann wohl irgendwas jenseits der 500¤ gemeint. :heul:
 
Kann man mit der Firewall den nicht ar7.cfg umgehen? Wenns Probleme macht?
 
so...die 1.0.3 läuft...sie startet und sperrt ports wie ich es ihm auftrage...
werde nu nen bissel rumspielen um zu schauen wie stabil das iss...
aber sehr sympatsich so wie es ist...
vor allem ob es stabil druchläuft würd mich interessieren
 
Zuletzt bearbeitet:
sooo...und schon gehts los...
siehe bild...fehlermeldung oben...
iss das was wildes?

Code:
Loading modules...
modprobe: module iptable_nat not found
modprobe: failed to load module iptable_nat
modprobe: module ipt_MASQUERADE not found
modprobe: failed to load module ipt_MASQUERADE
modprobe: module ipt_REDIRECT not found
modprobe: failed to load module ipt_REDIRECT
/mod/etc/init.d/rc.iptables: line 253: cannot open /var/tmp/flash/iptables_rules: no such file
Loading table list...
 

Anhänge

  • iptables.JPG
    iptables.JPG
    52.1 KB · Aufrufe: 40
Zuletzt bearbeitet:
@Darkputz
Ja, essentiell. :-]

Ohne diese "filters" läuft iptables nicht. Schau mal mit "lsmod|grep ip" nach. Bei mir steht u.a. in der debug.cfg:
insmod /lib/modules/2.6.13.1-ohio/kernel/net/ipv4/netfilter/ip_tables.ko
insmod /lib/modules/2.6.13.1-ohio/kernel/net/ipv4/netfilter/iptable_filter.ko
 
@Darkjputz: Im Makefile fehlen die Selektierungen der Librays und Module.
Hier der Patch:

Code:
--- make/iptables-cgi/Config.in
+++ make/iptables-cgi/Config.in
@@ -1,5 +1,5 @@
 config DS_PACKAGE_IPTABLES_CGI
-        bool "Iptables-CGI 1.0.0"
+        bool "Iptables-CGI 1.0.3"
         default n

         # Be visible only if iptables is selected
@@ -19,6 +19,9 @@
         select DS_MODULE_ipt_mac
         select DS_MODULE_ipt_multiport
         select DS_MODULE_ipt_state
+       select DS_MODULE_iptable_nat
+       select DS_MODULE_ipt_MASQUERADE
+       select DS_MODULE_ipt_REDIRECT

         # Shared libs
         select DS_LIB_libipt_iprange
@@ -29,6 +32,10 @@
         select DS_LIB_libipt_state
         select DS_LIB_libipt_tcp
         select DS_LIB_libipt_udp
+       select DS_LIB_libipt_DNAT
+       select DS_LIB_libipt_SNAT
+       select DS_LIB_libipt_MASQUERADE
+       select DS_LIB_libipt_REDIRECT

         help
                 New Configuration front-end to iptables.

Werd gleich ein neues Makefile uploaden. (1.0.3a).

Gruß
HS
 
Zuletzt bearbeitet:
Abgesehen davon, dass die t-online s100 Geschichte ist, hilft es mir ja nicht, hinter DSL-Modem/Telefonanlage ein zusätzliches Gerät zu stellen. Habe ich schon.

Der Punkt ist, den "single point of intrusion" so sicher wie möglich zu machen. An anderer Stelle hier im Board habe ich schon mal "Wünsche" geäußert, etwa: "...ich hätte gern ein Gerät mit DSL-Modem, Telefonie, Gigabit-Ports auf LAN-Seite, reichlich Rechenpower, viel Speicher ...". Da gab es keine wirklich hilfreichen Antworten ( :crazy: ). Jaja, geb's ja zu, unverschämte Erwartungen.

An der Stelle nervt es dann nur, wenn hier unpassende Lösungen präsentiert werden, die vielleicht einen Teilaspekt sauber regeln (heute: iptables), die den Rest aber völlig außen vor lassen.

So jetzt aber zurück zum Thema dieses Threads: ich mache Platz für die Diskussion einer sinnvollen Alternative / Ergänzung zur eingebauten Firewall! ;)
(Und werde sie bei der nächsten Gelegenheit selber mal ausprobieren)
 
An anderer Stelle hier im Board habe ich schon mal "Wünsche" geäußert, etwa: "...ich hätte gern ein Gerät mit DSL-Modem, Telefonie, Gigabit-Ports auf LAN-Seite, reichlich Rechenpower, viel Speicher ...". Da gab es keine wirklich hilfreichen Antworten ( :crazy: ). Jaja, geb's ja zu, unverschämte Erwartungen.
[OT]Das ist auch alles zu erfüllen, die Geräte gibt es. Nur in der Regel kommen alle diese Wünsche mit einem Preiswunsch <100¤ daher...[/OT]
 
[OT]Bittebitte: AndreR, knox ... wenigstens eine konkrete Typbezeichnung! Isch werd' noch Meschugge! :silly: [/OT]
 

Statistik des Forums

Themen
246,361
Beiträge
2,250,846
Mitglieder
374,014
Neuestes Mitglied
flindiesel
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.