Einrichten einer Linux-Firewall mit iptables

Wenn Sie eine gute Firewall für Ihren Linux-Server oder -Desktop benötigen, ist iptables eine gute Wahl. Es ist sehr flexibel und schnell. In dieser Anleitung zeigen wir Ihnen, wie Sie eine iptables-Firewall unter Linux einrichten.

Iptables unter Linux installieren

Um die Firewall mit iptables auf Ihrem Linux-System einzurichten , müssen Sie diese zunächst installieren. Öffnen Sie ein Terminalfenster und befolgen Sie die folgenden Installationsanweisungen für Ihr Linux-Betriebssystem. Iptables kann sowohl auf Linux-Desktops als auch auf Linux-Servern installiert werden. Wenn Sie einen generischen Linux-Download von iptables bevorzugen, können Sie die offizielle Website besuchen . Sobald die Installation abgeschlossen ist, können Sie mit der Einrichtung Ihrer Firewall mit iptables fortfahren.

Ubuntu-Anweisungen

sudo apt installiere iptables

Debian-Anweisungen

sudo apt-get install iptables

Anleitung für Arch Linux

sudo pacman -S iptables

Fedora-Anweisungen

sudo dnf installiere iptables

OpenSUSE-Anweisungen

sudo sudo zypper in iptables

EPEL-Distributionen (Rhel, CentOS, Rocky, Alma usw.)

sudo yum installiere iptables

So erstellen Sie einen iptables-Regelsatz

Sie müssen einen neuen iptables-Regelsatz erstellen, bevor Sie versuchen, ihn als Firewall zu verwenden. Öffnen Sie ein Terminalfenster und stellen Sie sicher, dass Sie Sudo- Befehle eingeben können. Wenn Ihr Benutzer dies nicht kann, melden Sie sich mit su beim Root-Konto an .

Von hier aus verwenden Sie den Befehl iptables -F . Dieser Befehl löscht und leert alle vorherigen Regeln für iptables auf Ihrem System.

sudo iptables -F

Nachdem Sie den obigen Befehl ausgeführt haben, können Sie den Befehl iptables -L ausführen, um zu überprüfen und zu bestätigen, dass die Regeln gelöscht wurden.

sudo iptables -L

Sobald Sie bestätigt haben, dass die iptables-Regeln geleert wurden, verwenden Sie den folgenden Befehl iptables -P , um eingehenden Datenverkehr standardmäßig zu blockieren.

WARNUNG: Wenn Sie iptables über SSH bearbeiten, trennen Sie die Verbindung und bearbeiten Sie sie auf dem physischen Computer. Wenn Sie den folgenden Befehl ausführen, wird die Verbindung zu SSH automatisch getrennt, bis Sie es durch die Firewall zulassen.

sudo iptables -P INPUT DROP

Als nächstes müssen Sie ausgehenden Datenverkehr von Ihrem System über iptables zulassen. Sie können ausgehenden Datenverkehr durch die iptables-Firewall zulassen, indem Sie den folgenden Befehl iptables -P eingeben .

sudo iptables -P OUTPUT ACCEPT

Sobald Sie den eingehenden Datenverkehr deaktiviert und den ausgehenden Datenverkehr aktiviert haben, können Sie mit dem Zulassen bestimmter Dienste fortfahren.

So lassen Sie Ports durch die iptables-Firewall zu

Standardmäßig wird durch die Ausführung von iptables -P INPUT DROP eingehender Datenverkehr von allen Quellen (SSH, HTTP usw.) deaktiviert. Um diese Dienste zu aktivieren, müssen Sie zu Ihren iptables-Regeln hinzufügen.

Der Einfachheit halber finden Sie hier eine Liste gängiger Ports, die Sie möglicherweise in Ihrer iptables-Firewall aktivieren möchten. Kopieren Sie den Befehl, der dem Port zugeordnet ist, den Sie aktivieren möchten, über Ihre iptables-Firewall.

  • HTTP (Port 80):sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
  • HTTPS (Port 443):sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  • SSH (Port 22):sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  • FTP (Port 21):sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
  • SMTP (Port 25):sudo iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
  • DNS (Port 53): sudo iptables -A INPUT -p udp --dport 53 -j ACCEPTfür UDP oder sudo iptables -A INPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPTfür TCP
  • DNS über TLS (DoT) (Port 853):sudo iptables -A INPUT -p tcp --dport 853 -m state --state NEW,ESTABLISHED -j ACCEPT
  • DNS über HTTPS (DoH) (Port 443):sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  • Remotedesktopprotokoll (RDP) (Port 3389):sudo iptables -A INPUT -p tcp --dport 3389 -m state --state NEW,ESTABLISHED -j ACCEPT
  • Virtual Network Computing (VNC) (Port 5900):sudo iptables -A INPUT -p tcp --dport 5900 -m state --state NEW,ESTABLISHED -j ACCEPT
  • Secure Shell (SSH) mit X11-Weiterleitung (Port 6010):sudo iptables -A INPUT -p tcp --dport 6010 -m state --state NEW,ESTABLISHED -j ACCEPT
  • MySQL-Datenbank (Port 3306):sudo iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
  • PostgreSQL-Datenbank (Port 5432):sudo iptables -A INPUT -p tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT

Wenn Sie alle gewünschten Ports zugelassen haben, können Sie Ihre Regeln mit iptables -L überprüfen .

sudo iptables -L

Speichern Sie abschließend Ihre iptables-Regeln zu Sicherungszwecken in einer Datei. Sie können dies mit dem Befehl iptables-save tun .

sudo iptables-save > /path/tosave/where/you/wish/to/save/rules/iptable-rules-backup

So stellen Sie Iptables-Backups wieder her

Wenn Sie Ihre iptables-Firewall erneut auf einem anderen Computer bereitstellen müssen, gehen Sie wie folgt vor. Verwenden Sie zunächst den Befehl iptables -F , um vorhandene Regeln zu löschen.

sudo iptables -F

Kopieren Sie als Nächstes Ihre Sicherungsdatei auf das System. Stellen Sie nach dem Kopieren die Sicherung wieder her.

sudo iptables-restore <>


So installieren Sie GitLab auf Ubuntu Server

So installieren Sie GitLab auf Ubuntu Server

Möchten Sie GitLab auf Ihrem Ubuntu-Server zum Laufen bringen? GitLab ist eine leistungsstarke selbsthostbare Alternative zu Diensten wie GitHub. Damit können Sie

Absicherung eines Ubuntu-Linux-Servers mit SELinux

Absicherung eines Ubuntu-Linux-Servers mit SELinux

Erfahren Sie, wie Sie Ihrem Ubuntu-Linux-Server zusätzliche Sicherheit verleihen können, indem Sie SELinux darauf installieren und aktivieren.

Konfigurieren Sie NFS auf einem Linux-Server mit Cockpit

Konfigurieren Sie NFS auf einem Linux-Server mit Cockpit

Benötigen Sie eine einfachere Möglichkeit, NFS-Freigaben auf Ihrem Linux-Server bereitzustellen? Erfahren Sie, wie Sie NFS-Freigaben mit der Cockpit-App bereitstellen.

So aktualisieren Sie auf Ubuntu 22.04 LTS

So aktualisieren Sie auf Ubuntu 22.04 LTS

Die langfristige Unterstützung für Ubuntu 22.04 ist da! Erfahren Sie, wie Sie Ihren Desktop oder Laptop auf die neueste Ubuntu-Version aktualisieren.

So installieren Sie die neuesten Nvidia-GPU-Treiber unter Linux

So installieren Sie die neuesten Nvidia-GPU-Treiber unter Linux

So installieren Sie die neuesten Nvidia GPU-Treiber unter Linux

So übertragen Sie Dateien in einen Docker-Container

So übertragen Sie Dateien in einen Docker-Container

Müssen Sie Dateien in Ihren Docker-Container übertragen? Mit dem Docker-CP-Tool können Sie Dateien ganz einfach in und aus Containern verschieben.

So installieren Sie eine DEB-Datei unter Linux

So installieren Sie eine DEB-Datei unter Linux

Was ist eine DEB-Datei? Was machst du damit? Erfahren Sie mehr über die vielen Möglichkeiten, wie Sie DEB-Dateien auf Ihrem Linux-PC installieren können.

So bringen Sie GOG Galaxy unter Linux zum Laufen

So bringen Sie GOG Galaxy unter Linux zum Laufen

Besitzen Sie Spiele auf GOG.com? Möchten Sie den GOG Galaxy-Client auf Ihrem Linux-PC einrichten, um einige Videospiele zu genießen? Befolgen Sie diese Anleitung, wie wir sie zeigen

So installieren Sie Docker Engine unter CentOS

So installieren Sie Docker Engine unter CentOS

Docker Engine ist ein offenes Containerisierungsprogramm für Linux und andere Plattformen. Docker Engine verwaltet eigenständige Container, die ähnlich funktionieren wie

So bündeln Sie alle Ihre Chats mit Ferdi in einem

So bündeln Sie alle Ihre Chats mit Ferdi in einem

Sind Sie es leid, Slack, Discord und viele andere Produktivitätstools auf Ihrem Linux-System zu installieren? Wünschen Sie sich, dass sie alle zu einem zusammengefasst werden könnten?