[Ausgesperrt] Iptables - Die Regeln nicht blind löschen.


Jeder, der schon mal iptables verwendet hat, hat sich mindestens einmal von einem Remote-Server ausgesperrt.
Es ist leicht zu vermeiden, wird aber oft vergessen.  Ich hoffe, dass dieser Beitrag hilft.

Setzen Sie die Standardrichtlinie nicht auf DROP.

Alle iptables-Ketten haben eine Standardrichtlinieneinstellung. Wenn ein Paket keiner der Regeln in einer relevanten Kette entspricht, entspricht es der Standardrichtlinie und wird entsprechend behandelt.
Ich habe einige Benutzer gesehen, die ihre Standardrichtlinie auf DROP gesetzt haben. Dies kann zu unbeabsichtigten Konsequenzen führen.
Stellen Sie sich eine Situation vor, in der Ihre INPUT-Kette einige Regeln enthält,

die Datenverkehr zulassen, und Sie die Standardrichtlinie auf DROP gesetzt haben.
Später meldet sich ein anderer Administrator beim Server an und löscht die Regeln (was ebenfalls keine gute Vorgehensweise ist).
Es gibt einige gute Systemadministratoren, denen die Standardrichtlinie für iptables-Ketten nicht bekannt ist. Ihr Server ist sofort vollständig unzugänglich.
Alle Pakete werden verworfen, da sie mit der Standardrichtlinie in der Kette übereinstimmen.

Die Regeln nicht blind löschen.
Überprüfen Sie vor dem Ausführen von iptables -F immer die Standardrichtlinie jeder Kette. Wenn die INPUT-Kette auf DROP gesetzt ist, müssen Sie sie auf ACCEPT setzen, wenn Sie nach dem Löschen der Regeln auf den Server zugreifen möchten. Berücksichtigen Sie auch die Sicherheitsauswirkungen Ihres Netzwerks, wenn Sie die Regeln löschen. Ihre Dienste werden vollständig verfügbar gemacht und alle Maskierungs- oder NAT-Regeln werden entfernt.


Bonus Tipp!
Localhost nicht vergessen!
Viele Anwendungen erfordern Zugriff auf die lo-Schnittstelle. Stellen Sie sicher, dass Sie Ihre Regeln sorgfältig einrichten, damit die lo-Schnittstelle nicht gestört wird.

Die Regeln immer Speichern!
Die meisten Distributionen bieten eine Möglichkeit, Ihre iptables-Regeln so zu speichern, dass sie auch nach einem Neustart bestehen bleiben.
Red Hat-basierte Distributionen bieten das Speichern von /etc/init.d/iptables, aber Debian und Ubuntu erfordern einige manuelle Arbeit.
Ein fehlerhafter Neustart würde Ihre nicht gespeicherten Regeln leicht entfernen. Speichern Sie sie daher häufig.

Beispiel: [Debian] Iptables - Firewall Regeln für einen Webserver:
#!/bin/bash

echo "MrGogeln -  abonnieren nicht vergessen"
#### SSH Verbindungen erlauben
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -i lo -j ACCEPT
ip6tables -I INPUT -p tcp --dport 22 -j ACCEPT
ip6tables -I INPUT -i lo -j ACCEPT

#### Alle nicht erlaubten eingehenden Verbindungen verbieten
iptables -P INPUT DROP
ip6tables -P INPUT DROP

#### Webserverbindungen erlauben
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 443 -j ACCEPT

#### Etablierte Verbindungen erlauben
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#MrGogeln #Wirsperrenunsaus
  • Netzwerk
  • Zugriffe: 115

Das könnte dich auch interessieren.