Eine richtig konfigurierte Firewall ist einer der wichtigsten Aspekte der gesamten Systemsicherheit.
UFW (Uncomplicated Firewall) ist ein benutzerfreundliches Frontend zur Verwaltung von iptables-Firewallregeln. Sein Hauptziel ist es, die Verwaltung von iptables einfacher oder, wie der Name schon sagt, unkomplizierter zu machen.
Dieser Artikel beschreibt, wie man eine Firewall mit UFW unter Debian 10 einrichtet.
Voraussetzungen #
Nur root oder Benutzer mit sudo-Berechtigungen können die System-Firewall verwalten.
UFW wird installiert #
Geben Sie den folgenden Befehl ein, um ufw
zu installieren Paket:
sudo apt update
sudo apt install ufw
Überprüfe den UFW-Status #
Die Installation aktiviert die Firewall nicht automatisch, um eine Sperrung des Servers zu vermeiden. Sie können den Status von UFW überprüfen, indem Sie Folgendes eingeben:
sudo ufw status verbose
Die Ausgabe sieht folgendermaßen aus:
Status: inactive
Wenn UFW aktiviert ist, sieht die Ausgabe etwa so aus:
UFW-Standardrichtlinien #
Standardmäßig blockiert UFW alle eingehenden Verbindungen und lässt alle ausgehenden Verbindungen zu. Dies bedeutet, dass jeder, der versucht, auf Ihren Server zuzugreifen, keine Verbindung herstellen kann, es sei denn, Sie öffnen den Port ausdrücklich. Die auf dem Server ausgeführten Anwendungen und Dienste können auf die Außenwelt zugreifen.
Die Standardrichtlinien sind in /etc/default/ufw
definiert Datei und kann mit sudo ufw default <policy> <chain>
geändert werden Befehl.
Firewall-Richtlinien bilden die Grundlage für die Erstellung detaillierterer und benutzerdefinierter Regeln. Im Allgemeinen sind die anfänglichen UFW-Standardrichtlinien ein guter Ausgangspunkt.
Anwendungsprofile #
Die meisten Anwendungen werden mit einem Anwendungsprofil geliefert, das den Dienst beschreibt und UFW-Einstellungen enthält. Das Profil wird automatisch in /etc/ufw/applications.d
erstellt Verzeichnis während der Paketinstallation.
Geben Sie Folgendes ein, um alle auf Ihrem System verfügbaren Anwendungsprofile aufzulisten:
sudo ufw utf --help
Abhängig von den auf Ihrem System installierten Paketen sieht die Ausgabe etwa so aus:
Available applications:
DNS
IMAP
IMAPS
OpenSSH
POP3
POP3S
Postfix
Postfix SMTPS
Postfix Submission
...
Verwenden Sie die app info
, um weitere Informationen zu einem bestimmten Profil und den enthaltenen Regeln zu erhalten Befehl, gefolgt vom Profilnamen. Um beispielsweise Informationen über das OpenSSH-Profil zu erhalten, würden Sie Folgendes verwenden:
sudo ufw app info OpenSSH
Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.
Port:
22/tcp
Die Ausgabe umfasst Profilname, Titel, Beschreibung und Firewall-Regeln.
SSH-Verbindungen zulassen #
Bevor Sie die UFW-Firewall zuerst aktivieren, müssen Sie eingehende SSH-Verbindungen zulassen.
Wenn Sie sich von einem entfernten Standort aus mit Ihrem Server verbinden und die UFW-Firewall aktivieren, bevor Sie explizit eingehende SSH-Verbindungen zulassen, können Sie sich nicht mehr mit Ihrem Debian-Server verbinden.
Führen Sie den folgenden Befehl aus, um Ihre UFW-Firewall so zu konfigurieren, dass sie SSH-Verbindungen akzeptiert:
sudo ufw allow OpenSSH
Rules updated
Rules updated (v6)
Wenn der SSH-Server einen anderen Port als den Standardport 22 überwacht, müssen Sie diesen Port öffnen.
Beispielsweise lauscht Ihr SSH-Server auf Port 7722
, würden Sie Folgendes ausführen:
sudo ufw allow 7722/tcp
UFW aktivieren #
Nachdem die UFW-Firewall nun so konfiguriert ist, dass sie eingehende SSH-Verbindungen zulässt, aktivieren Sie sie, indem Sie Folgendes ausführen:
sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Sie werden gewarnt, dass das Aktivieren der Firewall bestehende SSH-Verbindungen unterbrechen kann. Geben Sie „y“ ein und drücken Sie „Enter“.
Ports öffnen #
Abhängig von den Anwendungen, die auf Ihrem Server ausgeführt werden, müssen Sie die Ports öffnen, auf denen die Dienste ausgeführt werden.
Nachfolgend finden Sie einige Beispiele dafür, wie Sie eingehende Verbindungen zu einigen der gängigsten Dienste zulassen:
Port 80 öffnen - HTTP #
HTTP-Verbindungen zulassen:
sudo ufw allow http
Statt http
-Profil können Sie die Portnummer 80
verwenden :
sudo ufw allow 80/tcp
Port 443 öffnen - HTTPS #
HTTPS-Verbindungen zulassen:
sudo ufw allow https
Sie können auch die Portnummer 443
verwenden :
sudo ufw allow 443/tcp
Port 8080 öffnen #
Wenn Sie Tomcator eine andere Anwendung ausführen, die auf Port 8080
lauscht Öffnen Sie den Port mit:
sudo ufw allow 8080/tcp
Portbereiche öffnen #
Mit UFW können Sie auch den Zugriff auf Portbereiche zulassen. Beim Öffnen eines Bereichs müssen Sie das Portprotokoll angeben.
Zum Beispiel, um Ports von 7100
zuzulassen bis 7200
auf beiden tcp
und udp
, führen Sie den folgenden Befehl aus:
sudo ufw allow 7100:7200/tcp
sudo ufw allow 7100:7200/udp
Zulassen bestimmter IP-Adressen #
Um den Zugriff auf alle Ports von einer bestimmten IP-Adresse aus zuzulassen, verwenden Sie ufw allow from
Befehl gefolgt von der IP-Adresse:
sudo ufw allow from 64.63.62.61
Zulassen bestimmter IP-Adressen auf bestimmtem Port #
Um den Zugriff auf einen bestimmten Port zu erlauben, sagen wir Port 22
Verwenden Sie von Ihrem Arbeitscomputer mit der IP-Adresse 64.63.62.61 den folgenden Befehl:
sudo ufw allow from 64.63.62.61 to any port 22
Teilnetze zulassen #
Der Befehl zum Zulassen einer Verbindung von einem Subnetz von IP-Adressen ist derselbe wie bei der Verwendung einer einzelnen IP-Adresse. Der einzige Unterschied besteht darin, dass Sie die Netzmaske angeben müssen. Wenn Sie beispielsweise den Zugriff für IP-Adressen im Bereich von 192.168.1.1 bis 192.168.1.254 auf Port 3360 (MySQL) erlauben möchten, können Sie diesen Befehl verwenden:
sudo ufw allow from 192.168.1.0/24 to any port 3306
Verbindungen zu einer bestimmten Netzwerkschnittstelle zulassen #
Um den Zugriff auf einen bestimmten Port zu erlauben, sagen wir Port 3360 nur für die bestimmte Netzwerkschnittstelle eth2
, verwenden Sie allow in on
und den Namen der Netzwerkschnittstelle:
sudo ufw allow in on eth2 to any port 3306
Verbindungen ablehnen #
Die Standardrichtlinie für alle eingehenden Verbindungen ist auf deny
eingestellt , was bedeutet, dass UFW alle eingehenden Verbindungen blockiert, es sei denn, Sie öffnen die Verbindung ausdrücklich.
Angenommen, Sie haben die Ports 80
geöffnet und 443
, und Ihr Server wird von 23.24.25.0/24
angegriffen Netzwerk. Um alle Verbindungen von 23.24.25.0/24
abzulehnen , verwenden Sie den folgenden Befehl:
sudo ufw deny from 23.24.25.0/24
Wenn Sie nur den Zugriff auf die Ports 80
verweigern möchten und 443
ab 23.24.25.0/24
verwenden:
sudo ufw deny from 23.24.25.0/24 to any port 80
sudo ufw deny from 23.24.25.0/24 to any port 443
Das Schreiben von Verweigerungsregeln ist dasselbe wie das Schreiben von Zulassungsregeln. Sie müssen nur allow
ersetzen mit deny
.
Lösche UFW-Regeln #
Es gibt zwei verschiedene Möglichkeiten, UFW-Regeln zu löschen. Nach Regelnummer und Angabe der eigentlichen Regel.
Das Löschen von UFW-Regeln nach Regelnummer ist einfacher, insbesondere wenn Sie neu bei UFW sind.
Um eine Regel zuerst anhand ihrer Nummer zu löschen, müssen Sie die Nummer der Regel finden, die Sie löschen möchten. Führen Sie dazu den folgenden Befehl aus:
sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 80/tcp ALLOW IN Anywhere
[ 3] 8080/tcp ALLOW IN Anywhere
Um Regel Nummer 3 zu löschen, die Regel, die Verbindungen zu Port 8080 zulässt, können Sie den folgenden Befehl verwenden:
sudo ufw delete 3
Die zweite Methode besteht darin, eine Regel zu löschen, indem die eigentliche Regel angegeben wird. Zum Beispiel, wenn Sie eine Regel zum Öffnen von Port 8069
hinzugefügt haben Sie können es löschen mit:
sudo ufw delete allow 8069
UFW deaktivieren #
Wenn Sie UFW aus irgendeinem Grund stoppen und alle Regeln deaktivieren möchten, führen Sie Folgendes aus:
sudo ufw disable
Wenn Sie UTF später wieder aktivieren und alle Regeln aktivieren möchten, geben Sie einfach Folgendes ein:
sudo ufw enable
UFW # zurücksetzen
Das Zurücksetzen von UFW deaktiviert UFW und löscht alle aktiven Regeln. Dies ist hilfreich, wenn Sie alle Ihre Änderungen rückgängig machen und neu beginnen möchten.
Um UFW zurückzusetzen, geben Sie einfach den folgenden Befehl ein:
sudo ufw reset