RSS-Feed anzeigen

jahlives

Firewall mit iptables (Teil 2)

Bewerten
Hier beispielhaft und ohne Anspruch auf Komplettheit für eine OUTPUT Table
Code:
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -m state --state NEW ! -d 192.168.100.0/24 -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
als erstes wird lo (localhost) als Output-Interface erlaubt. Dann erlaubt eine Regel der Firewall neue Verbindungen zu öffnen, wenn die Ziele NICHT im LAN liegen. Zum Schluss werden wiederum Antworten erlaubt. Das ist auch bei der OUTPUT-Kette sehr wichtig!
Wenn man dann noch iptables -P OUTPUT DROP macht, dann darf die Firewall kein neuen Verbindungen ins LAN öffnen, nur der Zugriff auf's Internet ist erlaubt für neue Verbindungen.
Wie bei jeder default Policy: Testen, testen und nochmals testen, bevor man die Policy setzt!!

Die FORWARD-Kette werde ich bei Zeiten mal in einem neuen Beitrag abhandeln. Man braucht sie am ehesten wenn man VPN einsetzt, weil dabei Pakete beim Server landen, die weder für ihn bestimmt noch von ihm generiert worden sind. Das setzt dann aber aktiviertes IP-Forwarding voraus. Beim VPN-Paket von Synology kommt diese Kette afaik nicht zum Zuge, weil der Zugriff genatted wird. Damit sind die Pakete immer entweder für den Server oder vom Server (INPUT und OUTPUT)

Aktualisiert: 27.01.2013 um 20:31 von jahlives

Kategorien
Kategorielos

Kommentare

  1. Avatar von itari
    Ich hab mit vor langer Zeit mal iptables auf der DS angeschaut, weil ich ein Logfile über den IP-Traffic erzeugen wollte. Damals hat mir irgendein Modul gefehlt. Vielleicht ist das ja jetzt dabei oder lässt sich einfach installieren. Wärest du so nett und würdest mal eine Zeile dazu schreiben; also wie man den Traffic zu einem spezielle TCP-Protokoll (sagen wir FTP) aus dem Internet via Router (192.168.2.1) in die Datei /tmp/iplog protokolliert (Datum, Uhrzeit, IP-Adresse). Ich denke, solch ein Logfile wünscht sich der ein oder andere.

    LG Itari
    Aktualisiert: 19.04.2012 um 12:43 von itari
  2. Avatar von jahlives
    da gäbe es mehrere Wege. Ich weiss aber auch nicht ob alle benötigten Module dafür vorhanden sind. Das einfachste wäre das iptables-Ziel LOG
    Code:
    iptables -I KETTE -p tcp --dport XX -j LOG --log-level debug --log-prefix "Mein iptables-log" --log-tcp-squence --log-tcp-options --log-ip-options
    dann müsste man eigentlich im Kernellog die Meldungen haben. Allerdings werden die Logs gewaltig werden

    Leider lässt sich das Logziel nicht wirklich beeinflussen. Schreibt immer in den Kernellog. Eine mögliche Alternative wäre ein Logdaemon z.B. specter. Dann kann man als Logziel den specter angeben und im specter als Ziel ein beliebiges Logfile oder sogar ein Script. Man müsste mal bei ipkg gucken ob es eventuell specter gibt. Habe aber ehrlich gesagt noch nie geguckt. du weisst ja bin eigentlich nur noch debian unterwegs ;-)
    Ich guck heute abend mal ob es specter bei ipkg gibt. Bei einer DS mit x86 Prozi könnte man specter allenfalls aus den Quellen bauen, bei ARM und PPC dürfte es eher mau ausschauen, wenn es kein ipkg Paket gibt
  3. Avatar von jahlives
    @itari
    Code:
    ipkg list | grep ulogd
    ulogd - 1.24-1 - A userspace logging daemon for netfilter/iptables
    der ulogd kann zumindest das Ziel des Logs ändern (http://sparlampe.wordpress.com/2011/...passing-dmesg/). Ob auch externe Scripte wie bei specter gehen weiss ich leider ned. Aber specter gibt es ned im ipkg für meine DS408. Könnte sein, dass es specter für x86 via ipkg gibt.
  4. Avatar von jahlives
    Sodele habe mal ein bissl mit ULOG auf der DS gespielt. Geht leider nicht weil zwei wichtige Module fehlen: xt_NFQUEUE und ipt_ULOG
    Habe auf die schnelle keine ipkg Pakete gefunden, welche diese beiden Module liefern würde. Ich fürchte das müsste Synology nachliefern oder man müsste diese Module mittels crosscompiling selber bauen. Falls jemand eine Idee hat wie man an die fehlenden Module kommen könnte wäre ich sehr froh um eine kurze Rückmeldung
    Habe hier noch einen Thread im Intl Forum gefunden wo scheinbar verschiedene Kernelmodule für iptables vorhanden sind (http://forum.synology.com/enu/viewto...p?f=38&t=16396)
    Aktualisiert: 19.04.2012 um 15:42 von jahlives