In diesem Artikel zeigen wir Ihnen, wie Sie UFW auf einem Ubuntu 18.04 VPS installieren und konfigurieren. Zuerst nehmen wir uns einen Moment Zeit, um vorzustellen und zu erklären, was Firewalls sind, und dann zeigen wir Ihnen, wie Sie UFW verwenden und die entsprechende UFW-Konfiguration vornehmen.
Eine Firewall ist ein Softwareprogramm, das den Netzwerkverkehr überwacht und unbefugten Zugriff auf oder von einem privaten Netzwerk verhindert. In Bezug auf den Linux-Kernel ist ein Netfilter-Subsystem implementiert, das verwendet wird, um den Netzwerkverkehr zu manipulieren. Fast alle modernen Linux-Firewall-Lösungen verwenden dieses System, um Netzwerkpakete zu filtern. Außerdem ist „iptables“ – ein Firewall-Dienstprogramm, auf das über die Befehlszeile zugegriffen werden kann – ebenfalls Teil des Netfilter-Frameworks. Um das Erstellen von Firewall-Regeln zu vereinfachen, hat Canonical (die Entwickler von Ubuntu) eine iptables-Schnittstelle namens Uncomplicated Firewall (UFW) entwickelt.
Wenn Sie Ubuntu 18.04 verwenden und Ihr Netzwerk sichern möchten, ohne sich mit dem Erlernen der Verwendung von iptables befassen zu müssen, ist UFW möglicherweise die geeignete Lösung, nach der Sie suchen.
Voraussetzungen
Um diesem Tutorial zu folgen, benötigen Sie einen Server mit Ubuntu 18.04 und SSH-Zugriff mit dem Root-Benutzer (oder einem Benutzer mit sudo-Berechtigungen). Beginnen wir mit dem Tutorial.
Schritt 1:Verbinden Sie sich mit Ihrem Server
Bevor wir beginnen, müssen Sie sich über SSH als Root oder Benutzer mit sudo-Berechtigungen mit Ihrem Server verbinden. Verwenden Sie dazu den folgenden Befehl:
ssh root@IP_Address -p Port_Number
natürlich müssen Sie IP_Address
ersetzen und Port_Number
mit Ihrer tatsächlichen Server-IP-Adresse und SSH-Portnummer.
Stellen Sie nach der Anmeldung sicher, dass Ihr Server auf dem neuesten Stand ist, indem Sie die folgenden Befehle ausführen:
sudo apt update sudo apt upgrade
Schritt 2:UFW installieren
UFW sollte bereits standardmäßig auf Ubuntu 18.04 installiert sein – aber wenn es aus irgendeinem Grund nicht installiert ist, können Sie es mit diesem Befehl installieren:
sudo apt install ufw
Sobald die Installation abgeschlossen ist, können Sie den UFW-Status mit dem folgenden Befehl überprüfen:
sudo ufw status verbose
UFW ist standardmäßig anfangs deaktiviert, und wenn Sie es noch nie zuvor aktiviert haben, erhalten Sie die Ausgabe:
Output Status: inactive
Wenn Sie UFW bereits auf Ihrem Server aktiviert haben, sieht die Ausgabe ganz anders aus und sieht etwa so aus:
Output: Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere 80/tcp ALLOW IN Anywhere 443/tcp ALLOW IN Anywhere 22/tcp (v6) ALLOW IN Anywhere (v6) 80/tcp (v6) ALLOW IN Anywhere (v6) 443/tcp (v6) ALLOW IN Anywhere (v6) ....
Schritt 3:UFW-Standardrichtlinien
Das erste, was Sie wissen müssen, sind die Standardrichtlinien. Standardmäßig ist UFW so konfiguriert, dass alle eingehenden Verbindungen abgelehnt und alle ausgehenden Verbindungen zugelassen werden. Mit anderen Worten, alle Verbindungen, die versuchen, auf Ihren Server zuzugreifen, werden abgelehnt, und alle Ihre Anwendungen und Dienste, die sich lokal auf Ihrem Server befinden, können die Außenwelt erreichen und auf andere Server zugreifen.
Wenn Sie die Standardrichtlinien überprüfen oder ändern möchten, finden Sie sie in /etc/default/ufw
Konfigurationsdatei.
Um diese UFW-Regeln auf den Standardwert festzulegen, können Sie die folgenden Befehle ausführen:
sudo ufw default deny incoming sudo ufw default allow outgoing
Denken Sie daran, dass Server normalerweise auf eine eingehende Anfrage von Internetbenutzern antworten müssen. In den meisten Fällen können Sie Ihre Firewall also nicht so einstellen, dass alle eingehenden Verbindungen blockiert werden. Im nächsten Schritt erfahren Sie, wie Sie bestimmte Verbindungen zulassen.
Schritt 4:SSH-Verbindungen zulassen
Bevor Sie UFW aktivieren, müssen Sie den SSH-Zugriff auf Ihrem Server zulassen, indem Sie eine Regel hinzufügen, die eingehende SSH-Verbindungen zulässt. Andernfalls werden Sie gesperrt und können sich nicht mit Ihrem Ubuntu-Server verbinden.
Sie können den folgenden Befehl verwenden, um die UFW-Firewall so zu konfigurieren, dass alle eingehenden SSH-Verbindungen zugelassen werden:
sudo ufw allow ssh
Dann erhalten Sie folgende Ausgabe:
Rules updated Rules updated (v6)
Bitte beachten Sie, dass dieser Befehl nur gilt, wenn Ihr Server den standardisierten SSH-Port abhört:22. Wenn der SSH-Dienst einen benutzerdefinierten Nicht-Standard-Port verwendet, müssen Sie diesen Port öffnen. Wenn der SSH-Dienst auf Ihrem Server einen eindeutigen Port verwendet, beispielsweise Port 900, können Sie den folgenden Befehl verwenden:
sudo ufw allow 900
Beachten Sie, dass Sie wissen müssen, welche Portnummer Ihr Dienst derzeit verwendet.
Schritt 5:UFW aktivieren
Jetzt ist Ihre Firewall so konfiguriert, dass sie SSH-Verbindungen zulässt, und Sie sind sicher, dass Ihre aktuelle SSH-Verbindung nicht beeinträchtigt wird. Sie können mit der Aktivierung der UFW-Firewall fortfahren.
sudo ufw enable
Danach erhalten Sie die folgende Ausgabe:
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
Sie erhalten eine Warnung, die Ihnen mitteilt, dass Sie das Zulassen von SSH-Regeln konfiguriert haben müssen, andernfalls wird die bestehende SSH-Verbindung geschlossen. Da Sie dies bereits getan haben, geben Sie [y] ein und fahren Sie mit [Enter] fort.
Schritt 6:Verbindungen auf bestimmten Ports zulassen
Je nach Zweck der Anwendung müssen die Ports der Anwendungen und Dienste, die Sie verwenden, möglicherweise für eingehende und ausgehende Verbindungen geöffnet werden. Die häufigsten Ports, die Sie entsperren müssen, sind die Ports 80 und 443, die vom Webserver verwendet werden, und 25, 110, 143, 587 und 993, die vom Mailserver verwendet werden.
Wir zeigen Ihnen anhand einiger Beispiele, wie Sie eingehende Verbindungen für einige gängige Dienste zulassen können.
Um alle HTTP-Verbindungen (Port 80) zuzulassen, führen Sie diesen Befehl aus:
sudo ufw allow http
Wenn Sie den Port angeben möchten, können Sie im Wesentlichen dieselbe Regel anwenden, jedoch mit einer anderen Syntax:
sudo ufw allow 80
Führen Sie den folgenden Befehl aus, um alle HTTPS-Verbindungen (Port 443) zuzulassen:
sudo ufw allow https
Wenn Sie außerdem den HTTPS-Port angeben möchten, können Sie die Regel mit einer anderen Syntax anwenden:
sudo ufw allow 443
Wenn Sie einen Mailserver verwenden, könnten einige der folgenden Regeln nützlich sein.
Um alle eingehenden SMTP-Nachrichten zuzulassen, können Sie den folgenden Befehl ausführen:
sudo ufw allow 25
Führen Sie den folgenden Befehl aus, um alle eingehenden IMAP-Verbindungen zuzulassen:
sudo ufw allow 143
Und um alle eingehenden IMAPS-Anfragen zuzulassen, können Sie den Befehl verwenden:
sudo ufw allow 993
Wenn Sie stattdessen POP3 verwenden, lässt der folgende Befehl alle eingehenden Verbindungen zu:
sudo ufw allow 110
Verwenden Sie für alle eingehenden POP3S-Anfragen diesen nächsten Befehl:
sudo ufw allow 995
Wenn Sie schließlich ein bestimmtes Programm ausführen, das einen Webzugriff erfordert, müssen Sie auch die Portierung speziell für dieses Programm aktivieren. Wenn Sie beispielsweise Tomcat auf Ihrem Server ausführen, benötigen Sie Port 8080. Sie können alle eingehenden Verbindungen zu diesem Port mit dem folgenden Befehl zulassen:
sudo ufw allow <port number>
Sie können dies für alle spezifischen Ports tun, die Sie möglicherweise benötigen.
Schritt 7:Portbereiche zulassen
UFW kann auch den Zugriff auf Portbereiche zulassen, anstatt den Zugriff auf einen einzelnen Port zuzulassen. Wenn Sie Portbereiche am UFW-Port zulassen möchten, müssen Sie den Bereich des Ports und das Protokoll angeben, entweder TCP oder UDP.
Wenn Sie beispielsweise die Ports von 8069 bis 8080 sowohl für TCP als auch für UDP zulassen möchten, können Sie die folgenden Befehle verwenden:
sudo ufw allow 8069:8080/tcp sudo ufw allow 8069:8080/udp
Schritt 8:Bestimmte IP-Adressen zulassen
Wenn Sie nur einer IP-Adresse (z. B. einem vertrauenswürdigen Computer in Ihrem lokalen Netzwerk) erlauben möchten, auf alle Ports zuzugreifen, können Sie den Befehl verwenden:
sudo ufw allow from 206.207.208.209
Darüber hinaus können Sie auch eine bestimmte IP-Adresse für einen bestimmten Port zulassen! Angenommen, Sie möchten einer bestimmten IP-Adresse erlauben, den MySQL-Port zu verwenden (MySQL verwendet Port 3306), dann können Sie einfach diesen Befehl verwenden:
sudo ufw allow from 206.207.208.209 to any port 3306
Schritt 9:Verbindungen ablehnen
Wie bereits in Schritt 3 erwähnt , ist die Standardrichtlinie für eingehende Verbindungen auf „Ablehnen“ eingestellt. Manchmal müssen Sie jedoch möglicherweise bestimmte Verbindungen basierend auf der Quell-IP-Adresse oder einem bestimmten Port ablehnen.
Die Verweigerungsregel ist sehr nützlich, wenn Sie einen Angriff auf Ihren Server von einer bestimmten IP-Adresse haben und Ihre Ports 80 und 443 offen sind. In diesem Fall können Sie diese IP-Adresse anhand des folgenden Beispiels blockieren. Vergessen Sie natürlich nicht, die IP-Adresse 24.25.26.27 durch die tatsächliche IP-Adresse zu ersetzen, die Sie blockieren möchten:
sudo ufw deny from 24.25.26.27
Dadurch wird verhindert, dass die IP-Adresse auf alle Ihre offenen Ports zugreift. Wenn Sie jedoch verhindern möchten, dass die IP-Adresse auf einen bestimmten Port zugreifen kann, können Sie das nächste Beispiel verwenden:
sudo ufw deny from 24.25.26.27 to any port 80 sudo ufw deny from 24.25.26.27 to any port 443
Wie Sie sehen können, ist das Erstellen von Verweigerungsregeln ähnlich wie die Regeln für das Zulassen.
Schritt 10:UFW-Regeln löschen
Das Löschen von UFW-Regeln ist ebenso wichtig wie das Erstellen. Es gibt zwei verschiedene Möglichkeiten, eine UFW-Regel zu entfernen. Die erste Methode ist die Verwendung der Regelnummer und die zweite die Angabe der eigentlichen Regel.
Wenn Sie die UFW-Regel mit Nummern löschen möchten, müssen Sie die Nummer der Regel kennen. Um die Regelnummern aufzulisten, können Sie den Befehl verwenden:
sudo ufw status numbered
Output: Status: active To Action From -- ------ ---- [ 1] 80 ALLOW IN Anywhere [ 2] 443 ALLOW IN Anywhere [ 3] 22 ALLOW IN Anywhere [ 4] Anywhere ALLOW IN 206.207.208.209 [ 5] 7022 ALLOW IN Anywhere [ 6] 8069 ALLOW IN Anywhere ...
Um die als Regel Nummer 4 bezeichnete Regel zu entfernen, die Verbindungen von der IP-Adresse 206.207.208.209 zulässt, können Sie den folgenden Befehl verwenden:
sudo ufw delete 4
Wenn Sie die zweite Methode verwenden möchten, entfernen Sie eine Regel, indem Sie die eigentliche Regel angeben. Angenommen, Sie möchten beispielsweise den Port 8069 schließen – in diesem Fall würden Sie den folgenden Befehl verwenden:
sudo ufw delete allow 8069
Schritt 11:UFW deaktivieren oder zurücksetzen
Wenn Sie aus irgendeinem Grund alle UFW-Regeln auf Ihrem Server stoppen müssen, können Sie dies mit dem folgenden Befehl deaktivieren:
sudo ufw disable
Dadurch werden alle Regeln gestoppt, die derzeit auf Ihrem Server aktiv waren. Wenn Sie die Firewall-Regeln jedoch erneut aktivieren müssen, können Sie sie einfach erneut aktivieren.
sudo ufw enable
Wenn Sie aus irgendeinem Grund alle Regeln löschen und mit einem neuen UFW beginnen möchten, können Sie den folgenden Befehl verwenden:
sudo ufw reset
Bitte beachten Sie, dass Standardrichtlinien nicht auf ihre ursprünglichen Einstellungen zurückgesetzt werden, wenn sie bereits geändert wurden.
In diesem Artikel haben wir Ihnen gezeigt, wie Sie UFW installieren und es dann verwenden, um eine Firewall unter Ubuntu 18.04 zu konfigurieren. Jetzt können Sie das Wissen aus diesem Leitfaden nutzen, um Ihre eigenen UFW-Firewallregeln zu erstellen und Ihren Server zu schützen.
Wenn Sie einer unserer Managed Ubuntu Hosting-Kunden sind, müssen Sie Ihre Firewall natürlich nicht mit UFW auf Ihrem Server konfigurieren – fragen Sie einfach unsere Administratoren, lehnen Sie sich zurück und entspannen Sie sich. Unsere Admins werden umgehend die Firewall-Regeln auf Ihrem Server für Sie konfigurieren.
PS. Wenn Ihnen dieser Beitrag zur Konfiguration einer Firewall mit UFW unter Ubuntu 18.04 gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen zum Teilen unten oder hinterlassen Sie einfach einen Kommentar im Kommentarbereich. Danke.