Am Dienstag 29 Juni 2010 schrieb Michael Schuerig: > On Monday 28 June 2010, Martin Steigerwald wrote: > > [schnipp] > > > IPTables ist hingegen keine Firewall, sondern die Implementation > > eines IP- Filters. Eine sogenannte Personal Firewall macht hingegen > > nix anderes, als Ports zu sperren, die ohnehin nicht offen wären, > > wenn da keine Dienste lauschen. Und Ports von Diensten, die > > erreichbar sein soll, kann eine Personal Firewall ebenfalls nicht > > absichern. > > > > Eine solche Personal Firewall macht also nur Sinn, wenn Du Dir oder > > dem von Dir verwendeten Linux nicht zutraust, *immer* nur die von > > Dir gewünschten Dienste auf von außen zugängliche IP-Adressen > > lauschen zu lassen. Debian GNU/Linux traue ich das durchaus zu. > > Hi Martin, Hi Michael, > Apache lauscht nach draussen. Bei MySQL, PostgreSQL, CUPS, ntpd, inetd, > sshd weiss ich es nicht. Ich will mich vor allem nicht detailliert > darum kümmern müssen. Nicht, weil ich in der Hinsicht kognitiv > beschränkt wäre, sondern weil ich meinen Sysadmin-Aufwand klein halten Nee, das meine ich auch nicht. Da war mein "sich das zutrauen" etwas mißverständlich. Ich meinte da durchaus auch mit, sich damit nicht befassen wollen. Und klar, wer sich nicht selbst drauf achten will, dass bei Paket- Installationen und -Aktualisierungen die Ports dicht bleiben oder eben schnell mal einen Dienst togglen möchte, für den macht so eine Personal Firewall durchaus Sinn. Ich finde dann eben nur wichtig, auch zu verstehen, was man da hat. > will. Ist nicht mein Job, ich bin Anwender und Progammierer. Vor 10 > Jahren habe ich mal ipfilter-Regeln von Hand geschrieben und > zwischenzeitlich alles lange vergessen. Ich mache das zu selten, um es > gut zu machen. Eine einfache Personal-Firewall mit ein paar offenen Ports finde ich nun wirklich nicht kompliziert. Und vor allem, weiß ich dann, was ich da bekomme. Bei einem Frontend wäre meine erste Frage immer: Macht es wirklich fehlerfreie und brauchbare Regelsätze? > Mir genügt es, wenn ich ausdrücken kann: "Luken dicht" oder "sshd darf > rein" oder "Apache, bitte lauschen". Das *will* ich nicht auf iptables- > Niveau tun müssen. Ich will Abstraktion. firehol ist da schon ganz > hervorragend; es nervt bloß dadurch, dass es meine Logs vollmüllt. Hmmmm... wie Du meinst. Wobei ich finde, das genau so eine einfache Sache auf iptables-Niveau eben auch einfach ist. Was an Port nnn auf oder zu läßt sich denn noch *abstrahieren*? Ein einfaches Skript, das nur Antworten auf bekannte Verbindungen und ein paar ausgewählte Ports zuläßt, braucht via iptables auch keine 20 Zeilen. Okay, vielleicht 20-50 Zeilen mit *umfangreichen* Kommentaren. Und das Protokollier-Problem hast Du dann auch nicht, bzw. kannst es einstellen. Das folgende Ding tuts schon, mit einer Zeile pro Port, den Du freischalten willst, bzw. sogar einer Zeile für mehrere Ports mit -m multiport. martin@shambhala:/usr/local/bin> cat personal-firewall #!/bin/sh # iptables-Befehl IPT=/sbin/iptables # Debugging? #set -x # IP-Pakete nicht weiterleiten echo 0 > /proc/sys/net/ipv4/ip_forward # Conntracker-Modul für FTP-Verbindungen modprobe ip_conntrack_ftp # Standard-Richtlinien $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT ACCEPT # Tabellen leeren $IPT -F ## Eingehende Pakete (INPUT), Tabelle Filter # Bestehende Verbindungen akzeptieren $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Eingehende SSH-Verbindungen akzeptieren #$IPT -A INPUT -m state --state NEW -p tcp --syn --dport 9999 -j ACCEPT # ICMP akzeptieren (u.a. Pings) $IPT -A INPUT -m state --state NEW -p icmp -j ACCEPT # Verbindung für Loopback-Interface erlauben $IPT -A INPUT -i lo -j ACCEPT # Alles andere freundlich ablehnen $IPT -A INPUT -j REJECT Was läßt sich hier für ein einfaches Personal Firewall Setup noch abstrahieren? Nun, entscheide selbst, ob Du weiter Zeit aufwendest, um das ideale iptables-Frontend für Deinen Zweck zu finden oder einfach ein Skript in der obigen Art einsetzt ;). Wenn Du ein Frontend für genau diesen Zweck findest oder es schaffst, bei firehol ohne größere Probleme das Logging auszuschalten, wär ich evtl. interessiert. Wobei, das obige Skript tuts für mich auch, wenn ich das wirklich mal brauchen sollte. Ciao, -- Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
Attachment:
signature.asc
Description: This is a digitally signed message part.