Einführung
Iptables ist ein User-Space-Hilfsprogramm, mit dem ein Systemadministrator die von der Linux-Kernel-Firewall bereitgestellten Tabellen und die darin gespeicherten Ketten und Regeln konfigurieren kann. Iptables ist fast immer auf jeder Linux-Distribution vorinstalliert. Eine richtig konfigurierte Firewall ist sehr wichtig für die Gesamtsicherheit Ihres Servers.
In diesem Artikel zeigen wir Ihnen die Schritte zum Öffnen der Ports in der Iptables-Firewall in der Ubuntu- und Centos-Distribution
Voraussetzung
Sudo-Zugriff auf Ubuntu- oder Centos-Server mit installiertem Iptable.
Schritt 1:Listen Sie die aktuellen Iptables-Regeln auf
Verbinden Sie sich mit Sudo-Zugriff mit Ihrem Server und listen Sie die aktuellen Regeln auf, die für iptables konfiguriert sind, verwenden Sie den folgenden Befehl
sudo iptables -L
Wir können die Ausgabe wie unten sehen, die alle Regeln anzeigt, die derzeit konfiguriert sind
root@e2e:~# iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:1167 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:zabbix-agent Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination root@e2e:~#
Schritt 2:Sichern Sie die Iptables
Bevor Sie mit dem Hinzufügen von Regeln in Iptable fortfahren, müssen wir eine Sicherungskopie der Iptable-Regeln erstellen. Falls ein Problem mit der Konfiguration von Iptables auftritt, können wir die Regeln aus der Sicherung wiederherstellen
Verwenden Sie die folgenden Befehle, um eine Iptable-Regel zu speichern
iptables-save > IPtablesbackup.txt
Schritt 2:Iptable-Regel hinzufügen/entfernen
Sobald uns die derzeit konfigurierten Regeln bekannt sind, können wir einen Port in IPtables öffnen, indem wir mit dem folgenden Befehl eine Regel hinzufügen.
sudo iptables -A INPUT -p tcp --dport xxxx -j ACCEPT
Hinweis:Ersetzen Sie xxxx durch die erforderliche Portnummer, die Sie öffnen möchten
Zum Beispiel, um einen Mysql-Port 3306 zu öffnen ,Wir müssen den folgenden Befehl ausführen.
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
Dies weist Iptable grundsätzlich an, die Verbindung zu Mysql öffentlich zu akzeptieren.
Sie können dasselbe mit iptables -L anzeigen wie in Schritt 1 erwähnt
root@:~# iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:1167 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:zabbix-agent ACCEPT tcp -- anywhere anywhere tcp dpt:mysql Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination root@:~#
Wenn Sie die kürzlich hinzugefügte Regel entfernen möchten, können Sie den folgenden Befehl verwenden
sudo iptables -D INPUT -p tcp --dport xxxx -j ACCEPT
Wenn Sie den Port nicht öffentlich öffnen möchten, können Sie den Port für eine einzelne IP öffnen.
Verwenden Sie den folgenden Befehl, um den Port nur für Single IP zu öffnen
sudo iptables -A INPUT -p tcp -s your_server_ip --dport xxxx -j ACCEPT
Hinweis:Bitte ersetzen Sie your_server_ip durch die erforderliche IP im obigen Befehl und ersetzen Sie xxxx durch den erforderlichen Port
Schritt 3:Speichern Sie die Iptable-Regel
Sobald wir die Regeln hinzugefügt haben, müssen wir die Regeln speichern und sie dauerhaft machen. Wenn Sie Ubuntu verwenden, können Sie iptables-persistent verwenden und für Centos verwenden Sie den Befehl iptables save
Verwenden Sie unter Ubuntu 14.04 die folgenden Befehle, um die iptables-Regeln zu speichern/neu zu laden
sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload
Verwenden Sie unter Ubuntu 16.04 und Ubuntu 18.04 die folgenden Befehle
sudo netfilter-persistent save
sudo netfilter-persistent reload
Wenn Sie Centos verwenden, verwenden Sie den folgenden Befehl
service iptables save
Schritt 4:Iptables-Backup wiederherstellen
Wenn es ein Problem mit Ihrer Iptables-Konfigurationsregel gibt, können Sie die Änderungen mit dem folgenden Befehl rückgängig machen und die Datei wiederherstellen, die in Schritt 2 gesichert wurde
iptables-restore < IPtablesbackup.txt
Schlussfolgerung
Das Befolgen des obigen Artikels hat Ihnen geholfen, die Ports in Ihrem Linux-System zu öffnen/schließen. Die Implementierung einer geeigneten Firewall iptables sollte immer als hohe Priorität für Ihr Setup angesehen werden, da es Systemadministratoren ermöglicht, Ihr System zu sichern und nur die erforderlichen Ports öffentlich zuzulassen oder Beschränkung auf bestimmte IP