iptables -N mal vorne mal hinten? und statefull?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Ganeymed
Beiträge: 35
Registriert: 29.06.2005 21:20:07

iptables -N mal vorne mal hinten? und statefull?

Beitrag von Ganeymed » 11.08.2005 22:09:01

Ich versuche gerade meine Firewall mit DMZ an Snort-Inline anzupassen.
Mein erstes Firewallskript habe ich mit dem FW builder erstellt.
Aber der ist mir irgendwie zu kryptisch und untestützt auch die QUEUE
Funktion nicht, die Snort-inline braucht.

Deshalb will ich mein Firewallskript lieber selbst schreiben.

Beim Einlesen zu Iptables bin ich darüber gestolpert, daß eine selbsterstellte Kette mal
als Kette mal als Action fungiert.

Hier zwei Beispiele , wobei ich mir die deklaration der Variablen gespart hab :oops:

DNS von innen erlauben - NEUE-KETTE1 als Kette.

Code: Alles auswählen

iptables -N NEUE-KETTE1
iptables -A NEUE-KETTE1 -p udp -s INTERN --dport 1024:65535 -d EXTERN --dport 53 -j ACCEPT
Nochmal DNS mit NEUE-KETTE2

Code: Alles auswählen

iptables -N NEUE-KETTE2
iptables -A FORWARD  -o eth0 -p udp  --sport 1024:65535 --dport 53 -j NEUE-KETTE2
iptables NEUE-KETTE2 -j ACCEPT
Macht das nicht beides das selbe?
Wo liegt der Vorteil?

-----------------------------------------------------

Und gleich noch eine Frage hinterher.

Wenn ich am anfang des Skriptes einmal die Statefull Funktion eingeschaltet habe:

Code: Alles auswählen

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
brauche ich die doch in einer Regel nichtmehr aufzuführen.

Es sei denn sie ist neu:

Code: Alles auswählen

iptables -N NEUE-KETTE2
iptables -A FORWARD  -o eth0 -p udp  --sport 1024:65535 --dport 53 -m state --state NEW -j NEUE-KETTE2
iptables NEUE-KETTE2 -j ACCEPT
Ist das so richtig?

Vielen Dank und viele Grüße
Ganeymed

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 11.08.2005 22:25:41

Beim ersten Beispiel hast du zwar ein paar Fehler/Unterschiede eingebaut (z.B.: 2x--dport bei NEUE-KETTE1, die interfaces sind unterschiedlich), aber so wie es gemeint war, kann diese Frage mit "ja" beantwortet werden.

Mit Ketten kannst du gleichen Code zusammenfassen, den du sonst öfters schreiben müßtest. Geschickt angelegt wird daher dein Code leserlicher und daher auch leichter wartbar. Die NEUE-KETTE2 ist eher sinnlos.

Das zweite Beipiel ist so richtig

Gruß
gms

Ganeymed
Beiträge: 35
Registriert: 29.06.2005 21:20:07

Beitrag von Ganeymed » 11.08.2005 22:51:31

@ gms
Dankeschön.
Ah - gut, dann habe ich es doch richtig verstanden.
Das zweite Beispiel ist vom fwbuilder.
Überhaubt ist die lesbarkeit total schlecht, weill fwbuilder so sinnge
Bezeichnungen wie "Cid42EE07.a8.0" verwendet.8O

Ist da nochwas falsch?

Code: Alles auswählen

iptables -N NEUE-KETTE1
iptables -A NEUE-KETTE1 -p udp -s INTERN --sport 1024:65535 --dport 53 -j ACCEPT

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 11.08.2005 23:05:30

Ganeymed hat geschrieben: Bezeichnungen wie "Cid42EE07.a8.0" verwendet.8O
huch
Ganeymed hat geschrieben: Ist da nochwas falsch?
Ist ja nur ein Beispiel. Ich habe das nur angemerkt um "keine schlafenden Hunde zu wecken". (Hoffe dieses Sprichwort ist nicht Ösi spezifisch)


Gruß
gms

Ganeymed
Beiträge: 35
Registriert: 29.06.2005 21:20:07

Beitrag von Ganeymed » 11.08.2005 23:07:35

Lol - nee, das Sprichwort gibt's hier auch.
thx.

fwbuilder setzt auch rules doppelt, obwohl "ruleshadowing" angeblich vermieden werden soll. Also selber tippen ist wohl noch das beste.

Antworten