GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Firewall-Konfiguration mit Iptables unter Ubuntu 14.04

Einführung

Das Einrichten einer Firewall ist ein wichtiger Schritt bei der Sicherung der meisten modernen Betriebssysteme. Die meisten Linux-Distributionen sind mit verschiedenen Firewall-Tools ausgestattet, mit denen wir unsere Firewall konfigurieren können. In diesem Handbuch werden wir besprechen, wie Sie die Iptables-Firewall für Ubuntu 14.04 konfigurieren.

Hinweis: Dieses Tutorial behandelt die IPv4-Sicherheit. Unter Linux wird die IPv6-Sicherheit getrennt von IPv4 verwaltet. Beispielsweise verwaltet „iptables“ nur Firewall-Regeln für IPv4-Adressen, hat aber ein IPv6-Gegenstück namens „ip6tables“, das verwendet werden kann, um Firewall-Regeln für IPv6-Netzwerkadressen zu verwalten.

Grundlegende Befehle

Bevor Sie dieser Anleitung folgen, müssen Sie Zugriff auf ein Nicht-Root-Superuser-Konto haben, mit auf Ihrem Server eingerichteten sudo-Berechtigungen. Zuerst müssen Sie wissen, dass iptables-Befehle nur mit Root-Rechten ausgeführt werden dürfen. Um diese Bedingung zu implementieren, fügen wir „sudo“ vor allen Befehlen in diesem Handbuch hinzu. Wir können uns auch als Root-Benutzer anmelden, indem wir die Befehle „su“ oder „sudo -i“ verwenden, aber wir bleiben in dieser Anleitung bei „sudo“.

Zunächst müssen wir die aktuellen Regeln finden, die für die iptables konfiguriert sind. Dies wird mit dem folgenden Befehl erreicht:

# sudo iptables -L
Kette INPUT (Richtlinie ACCEPT)Ziel     Prot Opt Source               Ziel         Chain FORWARD (Policy ACCEPT)Ziel     Prot Opt Source               Ziel         Chain OUTPUT (Policy ACCEPT)Ziel     Prot Opt Source            pre>. >.  

Wir können die aktuellen Regeln auch in einem einfacheren Format sehen, indem wir das Flag -S anstelle des Flags -L verwenden:

# sudo iptables -S
-P INPUT ACCEPT-P FORWARD ACCEPT-P OUTPUT ACCEPT

In beiden Ergebnissen sehen wir drei Ketten, die als INPUT, FORWARD und OUTPUT angezeigt werden. Wir sehen auch, dass die Standardrichtlinie jeder Kette als ACCEPT festgelegt ist, aber in den obigen Ergebnissen sind keine tatsächlichen Regeln festgelegt. Dies liegt daran, dass Ubuntu nicht mit Standardregeln ausgeliefert wird.

Wenn bereits Regeln in den Iptables konfiguriert sind, können wir sie vollständig löschen, indem wir das -F-Flag wie folgt verwenden:

Hinweis:Wenn Sie die Regeln remote löschen, sollten die Richtlinien der INPUT- und OUTPUT-Ketten auf ACCEPT gesetzt werden. Dies kann durch Eingabe von

erfolgen
# sudo iptables -P INPUT ACCEPT# sudo iptables -P OUTPUT ACCEPT# sudo iptables -F

Einstellungsregeln für Iptables

Regeln für iptables können auf zwei Arten festgelegt werden. Eine Möglichkeit besteht darin, der Standardregel das AKZEPTIEREN zu erlauben und unerwünschten Datenverkehr zu blockieren, indem bestimmte Regeln festgelegt werden. Die andere Methode besteht darin, zulässigen Datenverkehr zu konfigurieren und alles andere zu blockieren. Die zweite Methode ist oft die bevorzugte .

Die erste Regel, die zugewiesen werden muss, besteht darin, den gesamten eingehenden Datenverkehr zu akzeptieren, indem Sie den folgenden Befehl eingeben:

# sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Wir können das Ergebnis des obigen Befehls sehen, indem wir erneut das Flag -L verwenden.

# sudo iptables -L
 Ketteneingabe (Richtlinienakzeptakakzeption) Zielprotopt -Quellziel Akzeptieren Sie alle -überall überall ctState verwandt, etabliertChain Forward (Richtlinien Akzeptieren) Zielprott -Quellziel -Kettenausgabe (Richtlinien Akzeptieren) Zielprotopt -Quellziel 

Hier können wir sehen, dass die Richtlinie der INPUT-Kette im Vergleich zu vor der Anwendung der Regel geändert wird.

Der nächste Schritt besteht darin, Datenverkehr zu einem bestimmten Port zuzulassen, um SSH-Verbindungen zu ermöglichen . Dies kann folgendermaßen erfolgen:

# sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT

„ssh“ wird standardmäßig in Portnummer 22 übersetzt. Anstelle von „ssh“ kann eine beliebige Portnummer verwendet werden. Geben Sie den folgenden Befehl ein, um den Zugriff auf den HTTP-Webserver zuzulassen:

# sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Es gibt noch eine ACCEPT-Regel, die unseren Iptables zugewiesen werden muss, damit unser Server ordnungsgemäß läuft.

# sudo iptables -I INPUT 1 -i lo -j ACCEPT

Hinzufügen einer Drop-Regel

Bisher haben wir unseren Iptables nur ACCEPT-Regeln hinzugefügt. Wir müssen auch Blockregeln zuweisen, da alle Netzwerkpakete gemäß den unseren Iptables zugewiesenen Regeln akzeptiert werden. Eine Möglichkeit besteht darin, der Standardrichtlinie unserer INPUT-Kette eine DROP-Regel zuzuweisen. Dadurch werden alle Pakete abgefangen, die durch unsere INPUT-Kette fallen, und verworfen.

# sudo iptables -P INPUT DROP

Eine der Auswirkungen dieser Art von Design ist, dass es auf das Verwerfen von Paketen zurückgreift, wenn die Regeln geleert werden.

Der alternative Ansatz besteht darin, die Standardrichtlinie für die Kette auf Akzeptieren zu belassen und eine Regel hinzuzufügen, die jedes verbleibende Paket an das Ende der Kette selbst verwirft.

Wenn Sie die Standardrichtlinie für die INPUT-Kette oben geändert haben, können Sie sie zurücksetzen, um ihr zu folgen, indem Sie Folgendes eingeben:

# sudo iptables -P INPUT ACCEPT

Jetzt können Sie am Ende der Kette eine Regel hinzufügen, die alle verbleibenden Pakete verwirft:

# sudo iptables -A INPUT -j DROP

 Vor dem Speichern der Iptables ist es besser, die zugewiesenen Regeln einmal zu überprüfen. Unsere aktuellen Regeln lauten wie folgt:

-P INPUT ACCEPT-P FORWARD ACCEPT-P OUTPUT ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT-A INPUT -p tcp -m tcp -- dport 22 -j ACCEPT-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT-A INPUT -j DROP

Speichern von Iptables-Regeln

Standardmäßig werden Iptables-Regeln gelöscht, sobald der Server neu gestartet wird. Um die Iptabels-Regeln dauerhaft zu speichern, können die Einstellungen auf verschiedene Arten gespeichert werden, aber der einfachste Weg ist mit dem Paket „iptables-persistent“. Dies kann von den Standard-Repositories von Ubuntu heruntergeladen werden:

# sudo apt-get update# sudo apt-get install iptables-persistent

Speichern Sie Ihre Firewall-Regeln mit diesem Befehl:

# sudo invoke-rc.d iptables-persistent save

Um zu erfahren, wie Firewall-Regeln mit iptables-persistent unter Ubuntu 10.04/Debian 6.0 konfiguriert und gespeichert werden, klicken Sie auf den folgenden Link:

So konfigurieren und speichern Sie Iptables-persistent für Ubuntu 10.04/ Debian 6.0


Ubuntu
  1. So richten Sie die UFW-Firewall unter Ubuntu 18.04 ein

  2. So machen Sie iptables-Firewall-Regeln unter Debian/Ubuntu persistent

  3. So öffnen Sie Ports in Ubuntu und CentOS mit IPtables

  4. So richten Sie eine Firewall mit iptables unter Ubuntu und CentOS ein

  5. Einführung in iptables

Samba-Serverkonfiguration in Ubuntu 14.04 LTS

So installieren Sie Grafana unter Ubuntu 20.04

So installieren Sie Browsh unter Ubuntu 20.04

So blockieren/erlauben Sie Ping mit iptables in Ubuntu

So installieren Sie Ansible unter Ubuntu 20.04

So konfigurieren Sie die Iptables-Firewall unter CentOS