iptables frage

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Totta123
Beiträge: 77
Registriert: 09.10.2002 20:07:02

iptables frage

Beitrag von Totta123 » 09.10.2006 12:44:35

Hiho,
hab zu dem folgenden Script eine Frage.

Code: Alles auswählen

#iptables-Modul laden
modprobe ip_tables

#Connection Tracking Module
modprobe ip_conntrack

#Tabelle flushen und undefinierte Benutzerregeln löschen
iptables -F
iptables -X

#Defaul-Policies setzen (alles dicht)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#Loopback aktivieren
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT


##################################
# Benötigte Dienste freischalten               #
##################################

#Bestehende Verbindung erlauben
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#SSH freischalten
iptables -A INPUT -p TCP -s 0/0 --dport 22 -j ACCEPT
iptables -A OUTPUT -p TCP --sport 1024: --dport 22 -j ACCEPT
Wenn ich das Script nun ausführe bleibt meine SSH Verbindung bestehen und ich kann neue SSH Verbindungen aufbauen. Nun die Frage:

Wieso kann ich keine neue SSH Verbindung aufbauen wenn ich die Regel "Bestehende Verbindung erlauben" auskommentiere? Ich dachte eigentlich das diese Regel nur besagt das keine bestehenden Verbindungen getrennt werden. Jemand nen Rat ? Spiele halt gerade ein Wenig mit IPTABLES rum um es besser kennen zu lernen.

Gruß
Totta

p.s.: Falls jemand ein Fehler beim kommentieren auffält, bitte mitteilen. :-)
Zuletzt geändert von Totta123 am 09.10.2006 13:46:23, insgesamt 1-mal geändert.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 09.10.2006 12:49:19

Der Kommentar ist bisschen schlecht gewaehlt an der Stelle.
Es ist so, dass diese beiden Regeln fuer Pakete matchen, die zu einer bekannten Verbindung zaehlen. Fuer iptables ist aber die Verbindung bekannt, wenn ein Paket mit Status NEW gesehen wurd, sprich eines, dessen SYN-Flag gesetzt war. Damit duerfen dann durch obige Regeln Pakete durch, die von oder zu diesem Host mit entsprechendem Port gehen...

Noch ausfuehrlicher: wenn du ne SSH-Verbindung aufbauen willst, kommt der normale TCP-Handshake. Dein Rechner schickt ein SYN-Paket los, durch das iptables eine neue Verbindung erkennt. Wenn nun die Gegenstelle mit SYN+ACK antwortet, erkennt iptables das Paket als zu dem vorheringen SYN gehoerend und laesst es durch.

Totta123
Beiträge: 77
Registriert: 09.10.2002 20:07:02

Beitrag von Totta123 » 09.10.2006 12:55:36

Also muss diese Regel IMMER mit rein oder versteh ich das falsch?

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 09.10.2006 13:25:34

Sagen wirs mal so, du musst diese Regeln nicht zwingend einbauen.
Du kannst auch extra fuer jede Art von Antwortpaketen eigene Regeln bauen ;)
Diese beiden Regeln unter Ausnutzung von statefull filtering vereinfachen die Sache einfach ein wenig. Deine Regeln sind damit uebersichtlicher und passen meistens auf Anhieb auch besser ;)

Totta123
Beiträge: 77
Registriert: 09.10.2002 20:07:02

Beitrag von Totta123 » 09.10.2006 13:35:00

okidoki! Dann danke ich dir erstmal! ;)

Totta

Antworten