GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

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

In diesem Tutorial zeigen wir Ihnen, wie Sie mit iptables eine Firewall einrichten auf einem Linux VPS mit Ubuntu oder CentOS als Betriebssystem. Iptables ist ein Verwaltungstool für IPv4-Paketfilterung und NAT und wird verwendet, um die Tabellen der IPv4-Paketfilterregeln im Linux-Kernel einzurichten und zu verwalten.

Die ordnungsgemäße Konfiguration und Einrichtung einer Firewall ist eines der wichtigsten und wichtigsten Dinge, die Sie tun müssen, um Ihren Server zu sichern.

Mit iptables werden mehrere verschiedene Paketabgleichstabellen definiert und jede Tabelle kann eine Reihe von eingebauten Ketten sowie einige vom Benutzer definierte Ketten enthalten. Die Ketten sind eigentlich Listen von Regeln, die mit einer Reihe von Paketen übereinstimmen, und jede Regel gibt an, was mit dem übereinstimmenden Paket zu tun ist.

Die Standardtabelle ist der filter Tabelle und enthält die eingebauten Ketten INPUT, FORWARD und OUTPUT. Die INPUT-Kette wird für Pakete verwendet, die an lokale Sockets gerichtet sind, die FORWARD-Kette wird für Pakete verwendet, die durch die Box geleitet werden, während die OUTPUT-Kette für lokal generierte Pakete verwendet wird.

Stellen Sie über SSH eine Verbindung zu Ihrem Server her und listen Sie die in einer bestimmten Kette definierten Regeln mit der folgenden Syntax auf:

sudo iptables -L CHAIN

Ersetzen Sie CHAIN ​​durch eine der integrierten Ketten, um die definierten Regeln anzuzeigen. Wenn keine Kette ausgewählt ist, werden alle Ketten in der Ausgabe aufgelistet.

sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Die Firewall-Regeln legen fest, was mit einem bestimmten Paket geschehen soll, wenn es bestimmte Kriterien erfüllt, und falls das Paket die Kriterien nicht erfüllt, wird die nächste in der Kette definierte Firewall-Regel untersucht. Dies ist sehr wichtig, wenn Sie die Firewall-Regeln definieren, da Sie sich leicht von Ihrem Server aussperren können, wenn Sie die Regel definieren, die Pakete von Ihrer lokalen IP-Adresse nach der Sperrregel akzeptiert.

Die Ziele, die Sie für die Firewall-Regeln verwenden können, sind ACCEPT, DROP, QUEUE und RETURN. ACCEPT lässt das Paket durch, DROP verwirft das Paket, QUEUE leitet das Paket an den Userspace weiter, während RETURN das Paket durch die aktuelle Kette stoppt und bei der nächsten Regel in der vorherigen Kette fortfährt. Die Standard-Kettenrichtlinie definiert, was mit einem Paket geschehen soll, wenn es nicht mit einer bestimmten Firewall-Regel übereinstimmt. Wie Sie in der Ausgabe des ersten Befehls sehen können, ist die Standardrichtlinie für alle integrierten Ketten auf ACCEPT gesetzt. ACCEPT lässt das Paket passieren, also gibt es im Grunde keinen Schutz.

Bevor Sie bestimmte Regeln hinzufügen, fügen Sie die folgende hinzu:

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

Dadurch wird verhindert, dass bereits aufgebaute Verbindungen getrennt werden und Ihre aktuelle SSH-Sitzung bleibt aktiv.

Fügen Sie als Nächstes Regeln hinzu, um Datenverkehr auf Ihrer Loopback-Schnittstelle zuzulassen:

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

Erlauben Sie als Nächstes den Zugriff auf Ihren Server über SSH für Ihre lokale IP-Adresse, damit nur Sie auf den Server zugreifen können:

sudo iptables -A INPUT -s 111.111.111.111 -p tcp --dport 22 -j ACCEPT

Wobei 111.111.111.111 ist Ihre lokale IP-Adresse und 22 ist der Listening-Port Ihres SSH-Daemons. Falls sich Ihre lokale IP-Adresse dynamisch ändert, lassen Sie am besten das -s 111.111.111.111 weg Teil und verwenden Sie eine andere Methode, um den SSH-Dienst vor unerwünschtem Datenverkehr zu schützen.

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Erlauben Sie als Nächstes den Zugriff auf Ihre wichtigen Dienste wie den HTTP/HTTPS-Server:

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

[ecko_alert color=”blue”]Irgendwo stecken geblieben? Holen Sie sich einen VPS von uns und wir sichern Ihren Server ordnungsgemäß ab und konfigurieren kostenlos eine Firewall für Sie![/ecko_alert]

Listen Sie nun die aktuellen Regeln auf und prüfen Sie, ob alles in Ordnung ist. Für eine detaillierte Ausgabe können Sie folgenden Befehl verwenden:

sudo iptables -nvL

Wenn Sie andere Dienste haben, auf die Sie Zugriff gewähren möchten, tun Sie dies am besten jetzt. Wenn Sie fertig sind, können Sie die Standardrichtlinie für die integrierte INPUT-Kette auf DROP setzen.

sudo iptables -P INPUT -j DROP

Dadurch werden alle Pakete verworfen, die nicht den Kriterien der Firewall-Regeln entsprechen. Die endgültige Ausgabe sollte der folgenden ähneln:

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0

Wenn Sie jetzt jedoch den Server neu starten, gehen alle von Ihnen definierten Firewall-Regeln verloren, daher ist es wirklich wichtig, die Regeln dauerhaft zu machen.

Falls Sie ein Ubuntu-VPS verwenden, müssen Sie zu diesem Zweck ein zusätzliches Paket installieren. Fahren Sie fort und installieren Sie das erforderliche Paket mit dem folgenden Befehl:

sudo apt-get install iptables-persistent

Am Ubutnu 14.04 Sie können die Firewall-Regeln mit den folgenden Befehlen speichern und neu laden:

sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload

Auf Ubuntu 16.04 Verwenden Sie stattdessen die folgenden Befehle:

sudo netfilter-persistent save
sudo netfilter-persistent reload

Wenn Sie einen CentOS-VPS verwenden, können Sie die Firewall-Regeln mit dem folgenden Befehl speichern:

service iptables save

Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer vollständig verwalteten VPS-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, Ihnen bei der Konfiguration Ihrer iptables auf Ihrem Server zu helfen. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.

PS . Wenn Ihnen dieser Beitrag zum Einrichten einer Firewall mit iptables unter Ubuntu und CentOS gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen unten oder hinterlassen Sie einfach einen Kommentar im Kommentarbereich. Danke.


Cent OS
  1. So richten Sie eine Firewall mit UFW in Ubuntu \ Debian ein

  2. So öffnen Sie den HTTP-Port ( 80 ) in Iptables unter CentOS

  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. So richten Sie eine Firewall mit UFW unter Ubuntu 16.04 ein

So richten Sie Nginx High Availability mit Pacemaker und Corosync unter CentOS 7 ein

So stoppen und deaktivieren Sie die Firewall unter CentOS 8

So leeren Sie DNS unter Ubuntu und CentOS

So konfigurieren Sie die Iptables-Firewall unter CentOS

So installieren Sie Firefox 36 unter CentOS 7 und Ubuntu 14.04

So richten Sie ein VPN mit OpenVPN unter Ubuntu 18.04 ein und konfigurieren es