Iptables, Reihenfolge der Regeln - verstehe ich das richtig?

17

Ich möchte meinen VPS so konfigurieren, dass er NUR Verbindungen von außerhalb an Port 22 (wo sshd lauscht) und ICMP-Anforderungen akzeptiert. Alles andere von außen sollte abgelehnt werden. Im Server sollte alles erlaubt sein. Erzeugen die folgenden Regeln das gewünschte Verhalten?

iptables -A INPUT --jump ACCEPT --protocol all   --source 127.0.0.1
iptables -A INPUT --jump ACCEPT --protocol tcp   --dport 22
iptabels -A INPUT --jump ACCEPT --protocol icmp
iptables -A INPUT --jump ACCEPT --match state    --state ESTABLISHED,RELATED
iptables -A INPUT --jump REJECT --protocol all

Ich bin nicht ganz sicher, ob die ACCEPT-Regeln das letzte REJECT insgesamt "gewinnen" werden

Xpector
quelle
1
Sie sollten nicht verwenden --source 127.0.0.1, um zu bestimmen, ob die Annahme eines Pakets sicher ist. Siehe serverfault.com/a/825231/4131
Bruno Bronosky,

Antworten:

20

Du hast Recht.

Die Regeln werden in der Zeilenreihenfolge der Datei verarbeitet. Wenn für eine Regel eine Übereinstimmung vorliegt, werden für dieses IP-Paket in Ihrem Fall keine anderen Regeln verarbeitet.

http://en.wikipedia.org/wiki/Iptables

Jede Regel in einer Kette enthält die Angabe, mit welchen Paketen sie übereinstimmt. Es kann auch ein Ziel (das für Erweiterungen verwendet wird) oder ein Urteil (eine der integrierten Entscheidungen) enthalten. Wenn ein Paket eine Kette durchläuft, wird jede Regel der Reihe nach geprüft. Wenn eine Regel nicht mit dem Paket übereinstimmt, wird das Paket an die nächste Regel übergeben. Wenn eine Regel mit dem Paket übereinstimmt, ergreift die Regel die vom Ziel / Urteil angegebene Aktion, was dazu führen kann, dass das Paket in der Kette fortgesetzt werden kann oder nicht

NGRhodes
quelle