[linux-l] iptables (Eheamals: Fedora3 Firewall)

Olaf Radicke olaf_rad at gmx.de
Di Nov 15 02:09:09 CET 2005


Am Dienstag, 15. November 2005 00:35 schrieb Volker Grabsch:
> On Mon, Nov 14, 2005 at 10:11:03PM +0100, Olaf Radicke wrote:
[...]
> Dass das alles in /etc/services steht, ist für mich
> Netzwerk-Grundwissen. Genauso elementar wie z.B. /etc/hosts.

Das ist Linux (Unix) speziefisch. Unter Windows wird es kein /etc/services 
geben.

[...]
> > Z.Z. sie mein sh-Skript so aus:
> > <ipt-sh-skript>
> > #!/bin/sh
> > iptables -F
> >
> > iptables -A INPUT -p udp --sport 53 -j ACCEPT # DNS
> > iptables -A INPUT -p udp --dport 53 -j ACCEPT # DNS
> > iptables -A INPUT -p tcp --dport 443 -j ACCEPT # https
> > iptables -A INPUT -p tcp --dport 80 -j ACCEPT # http
> > iptables -A INPUT -p tcp --dport 22 -j ACCEPT # ssh
> > iptables -A INPUT -p tcp --dport 25 -j ACCEPT # smtp
> >
> > iptables -P INPUT DROP
> > iptables -P OUTPUT ACCEPT
> > #sleep 30
> >
> > #iptables -F INPUT
> > #iptables -P INPUT ACCEPT
> > </ipt-sh-skript>
> >
> > Tut aber nicht das was ich erwarte. Wenn ich das ausführe komm ich nicht
> > mehr raus (kein Ping, http, etc zu anderen Rechnern). Weiß der Teufel
> > warum.
>
> Das liegt einfach daran, weil du die Antwort-Pakete, die dein System
> nach draußen zurück schickt, ebenfalls blockierst.

Dann weiß ich nicht warum ich dann noch eine Zeile
-P OUTPUT ACCEPT
brauche.

> Woran du scheiterst sind keine "Kernel-Details", sondern
> "Netzwerk-Details".

Auserhalb von Linux gibt es kein iptables. 

> Also eine früher sehr gängige, heutzutage eher als quick&dirty
> bezeichnete Lösung ist folgende:

Also in der Programmierung steht "quick&dirty" für Code den keine Sau mehr 
versteht aber der funktioniert und den deshalb niemand mehr anfassen will. 
Na, dann fühle ich mich bestätigt.

> #!/bin/sh
> iptables -F
>
> iptables -A INPUT -p udp --sport 53 -j ACCEPT # DNS
> iptables -A INPUT -p udp --dport 53 -j ACCEPT # DNS
>
> iptables -A INPUT -p tcp ! --syn -j ACCEPT
> iptables -A INPUT -p tcp --syn --dport 443 -j ACCEPT # https
> iptables -A INPUT -p tcp --syn --dport 80 -j ACCEPT # http
> iptables -A INPUT -p tcp --syn --dport 22 -j ACCEPT # ssh
> iptables -A INPUT -p tcp --syn --dport 25 -j ACCEPT # smtp
>
> iptables -P INPUT DROP

Die Zeile ist ja dann eigentlich überflüssig, weil wir ja oben schon alle 
Ports aufgerissen haben (außer für syn's).

[...]
> Das ist wiegesagt die "alte Schule", heutzutage macht man das
> wesentlich sauberer via Connection Tracking, das ich mir nochmal
> ansehen werde.

Noch nichts von gehört.

Die...
 /etc/network/if-pre-up.d/000iptables
...gibt es unter Fedora übrigens nicht. Soll ich es in die 
/etc/sysconfig/iptables
abkippen?

> Sobald ich ein Tutorial angefangen hab, melde ich mich nochmal. Aber
> vorab hab ich dir schonmal ne Lösung hier gegeben, die laufen müsste.

...Tut es jetzt.

Das hier habe ich noch entdeckt...
http://www.selflinux.org/selflinux/html/iptables.html
(für mein Geschmack, zu ausladend)

MfG
Olaf Radicke




Mehr Informationen über die Mailingliste linux-l