Need help? Chat now!

Hostwinds Tutorials

Suchergebnisse für:


Inhaltsverzeichnis


Was sind iptables?
Wie installiere ich IPTables?
Wie verwende ich IPTables?
Listen Sie die Regeln nach Spezifikation auf
Listenregeln nach bestimmter Kette auf
Listenregeln als Tabellen
Regel mit Spezifikation löschen
Spülregeln
Blockieren Sie eine IP-Adresse
Alle eingehenden SSH-Verbindungen zulassen
Alle eingehenden SSH-Verbindungen von expliziter IP zulassen
Ausgehende SSH-Verbindungen zulassen
Alle eingehenden HTTP- und HTTPS-Verbindungen zulassen
Ausgehendes SMTP blockieren
Eingehende SMTP-Verbindungen zulassen

Verwalten von IPTables-Regeln

Stichworte: Firewall,  Linux,  CentOS Web Panel 

Was sind iptables?
Wie installiere ich IPTables?
Wie verwende ich IPTables?
Listen Sie die Regeln nach Spezifikation auf
Listenregeln nach bestimmter Kette auf
Listenregeln als Tabellen
Regel mit Spezifikation löschen
Spülregeln
Blockieren Sie eine IP-Adresse
Alle eingehenden SSH-Verbindungen zulassen
Alle eingehenden SSH-Verbindungen von expliziter IP zulassen
Ausgehende SSH-Verbindungen zulassen
Alle eingehenden HTTP- und HTTPS-Verbindungen zulassen
Ausgehendes SMTP blockieren
Eingehende SMTP-Verbindungen zulassen

Was sind iptables?

Iptables ist ein extrem flexibler Befehlszeilen-basiertes Firewall-Dienstprogramm, das speziell für Linux Distros erstellt wurde.Iptables verwendet politische Ketten, um den Verkehr zuzulassen oder zu blockieren.Wenn auf Ihrem Server eine Verbindung hergestellt wird, identifiziert Iptables eine Regel in seiner Liste, um zu bestimmen, welche Maßnahmen ergriffen werden müssen.Wenn für die Verbindung keine Regel vorhanden ist, gilt es auf die für Ihr System definierte Standardaktion.

Wie installiere ich IPTables?

Im Allgemeinen wird IPTables auf den meisten Linux-Systemen standardmäßig installiert. Um es zu aktualisieren oder zu installieren, können Sie das IPTables-Paket abrufen, indem Sie die folgenden Befehle eingeben:

Hinweis: IPTables sollten unter CentOS 6 vorinstalliert sein.

Ubuntu

apt-get install iptables-persistent

CentOS 7

systemctl stop firewalld
systemctl mask firewalld
yum install iptables-services
systemctl enable iptables
systemctl start iptables

Iptables wird nun auf Ihrem System installiert.Schauen wir uns an, wie Sie iptables verwenden können.

Wie verwende ich IPTables?

In diesem Abschnitt werden einige grundlegende ITTables-spezifische Befehle und -Ende deckt, z. B. das Anzeigen Ihres aktuellen Regelsatzes und das Blockieren einer IP-Adresse von der Festlegung einer Verbindung.

Listen Sie die Regeln nach Spezifikation auf

Um den aktuell aktiven Regelsatz durch Spezifikation aufzulisten, sollten Sie den folgenden Befehl ausgeben:

iptables -S

Listenregeln nach bestimmter Kette auf

Um die aktuell auf eine bestimmte Kette angewendete Regeln anzuzeigen, können Sie den folgenden Befehl verwenden. Dieses Beispiel zeigt alle Regelspezifikationen für die UDP-Kette an:

iptables -S UDP

Listenregeln als Tabellen

Mit dem folgenden Befehl, der die Option -L aufruft, können Sie alle aktuellen IPTables-Regeln auflisten, die in einer Tabellenansicht vorhanden sind. Dadurch werden alle aktuellen Regelsätze nach Kettentyp sortiert aufgelistet.

iptables -L

Regel mit Spezifikation löschen

Sie können Regeln in iptables löschen, indem Sie die Option -d verwenden.Sie können Regelsets auf einigen Arten entfernen.Wir werden die Entfernung von Regeln durch die Spezifikation abdecken.Wenn Sie beispielsweise die Regel entfernen möchten, mit der der gesamte eingehende Datenverkehr auf Port 443 den folgenden Befehl verwenden möchten:

iptables -D INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

Spülregeln

Mit IPTables können Sie Regeln löschen. Dies kann durch Spülen einer einzelnen Kette oder durch Spülen aller Ketten erfolgen. Wir werden beide Methoden unten behandeln.

Um eine einzelne Kette zu spülen, können Sie die Option -f verwenden, oder die entsprechende Option, kombiniert mit dem Namen der Kette, den Sie spülen möchten.Sie können beispielsweise alle Regeln in der Eingabekette löschen, indem Sie den folgenden Befehl verwenden:

iptables -F INPUT

Um alle Ketten zu spülen, können Sie die Option -F- oder Equalent -Flus-Option ohne zusätzliche Parameter erneut verwenden.Dadurch werden alle derzeit auf dem Server aktiven Firewall-Regeln effektiv entfernt.Der Befehl ist wie folgt:

iptables -F

Blockieren Sie eine IP-Adresse

Iptables bietet die Möglichkeit, Netzwerkverbindungen von einer bestimmten IP-Adresse zu blockieren.Um beispielsweise alle eingehenden Verbindungen von 10.10.10.10 zu blockieren, sollten Sie den folgenden Befehl ausführen:

iptables -A INPUT -s 10.10.10.10 -j DROP

Sie können die Verbindung auch ablehnen, wodurch der Fehler mit einem "Anschluss abgelehnt" wird.Tropfen ersetzen mit ablehnen.

iptables -A INPUT -s 10.10.10.10 -j REJECT

Sie können auch Verbindungen von einer bestimmten IP-Adresse an einem bestimmten Netzwerkgerät wie ETH1 mit der -I-Option blockieren.

iptables -A INPUT -i eth1 -s 10.10.10.10 -j DROP

Alle eingehenden SSH-Verbindungen zulassen

Verwenden Sie die folgenden Befehle, um ALLE eingehenden SSH-Verbindungen am Standard-SSH-Port (22) zuzulassen:

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Alle eingehenden SSH-Verbindungen von expliziter IP zulassen

Sie können auch SSH-Verbindungen einschränken, um nur von einer bestimmten IP-Adresse oder einem Subnetz zulässig zu sein.Wenn Sie beispielsweise nur die IP-Adresse 10.10.10.10 zulassen, um eine Verbindung zum Server über SSH herzustellen, verwenden Sie den folgenden Befehl:

iptables -A INPUT -p tcp -s 10.10.10.10 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Dies kann auch für ein gesamtes Subnetz erfolgen, indem das Subnetz dem Befehl hinzugefügt wird, z. B. / 27, wie der folgende Befehl zeigt:

iptables -A INPUT -p tcp -s 10.10.10.10/27 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Ausgehende SSH-Verbindungen zulassen

Ihre Firewall hat möglicherweise nicht die Ausgangspolitik, die aufgenommen wird.Wenn dies der Fall ist, müssen Sie möglicherweise ausgehende SSH-Verbindungen zulassen, wenn Sie direkt mit einem externen Server von Ihrem Server herstellen möchten.Sie können die folgenden Befehle ausführen, um dies auf dem Standard-SSH-Port (22) zu erreichen.Wenn Sie einen anderen SSH-Port verwenden, ersetzen Sie "22" im folgenden Beispiel mit der Portnummer, die Sie verwenden:

iptables -A OUTPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Alle eingehenden HTTP- und HTTPS-Verbindungen zulassen

Standardmäßig wird der HTTP-Verkehr im Allgemeinen auf dem Port 80 aufgestellt, und der HTTPS-Verkehr wird normalerweise am Anschluss 443 aufgestellt. Sie können beide Arten von Verbindungen mit den folgenden Befehlen mit den folgenden Befehlen zu Ihrem Webserver ermöglichen.

Hinweis: Wenn Sie nur einem und nicht den anderen zulassen möchten, entfernen Sie die Portnummer aus dem Befehl, der mit dem Protokoll korreliert, das Sie zulassen möchten.

iptables -A INPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Ausgehendes SMTP blockieren

Mit iptables können Sie bestimmte Ports blockieren, z. B. den Standard-SMTP-Anschluss (25). Beispielsweise möchten Sie möglicherweise nicht ausgehende E-Mails auf Ihrem Server zulassen. Um dies mit iptables zu stoppen, können Sie den folgenden Befehl ausgeben:

iptables -A OUTPUT -p tcp --dport 25 -j REJECT

Dadurch konfiguriert iptables, um den gesamten abgehenden Datenverkehr am Port 25 abzulehnen. Wenn Sie den Datenverkehr auf einem anderen Port ablehnen möchten, können Sie mit der betreffenden Portnummer "25" ersetzen.

Eingehende SMTP-Verbindungen zulassen

Sie können Ihrem Server erlauben, auf alle SMTP-Verbindungen an Port 25 zu antworten, indem Sie die folgenden Befehle ausführen:

iptables -A INPUT -p tcp --dport 25 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 25 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Geschrieben von Hostwinds Team  /  Dezember 13, 2016