Hostwinds Tutorials
Suchergebnisse für:
Inhaltsverzeichnis
Stichworte: CentOS Web Panel, Firewall, Linux
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.
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.
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.
Um den aktuell aktiven Regelsatz durch Spezifikation aufzulisten, sollten Sie den folgenden Befehl ausgeben:
iptables -S
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
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
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
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
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
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
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
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
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
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.
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