Sie fragen - wir antworten!

Wie man die Ubuntu-Firewall benutzt

Hauptillustration zur Benutzung der Ubuntu-Firewall

Was ist UFW

Die meisten Systemadministratoren konfigurieren nicht gerne Netzwerksicherheitsanwendungen wie Firewalls aus der Ferne. Diese Anwendungen blockieren standardmäßig den Zugriff von außen für alle Anwendungen, außer für diejenigen, die ausdrücklich als erlaubt angegeben sind.

Wenn ein Fehler auftritt, kann der Fernzugriff auf das Netzwerk verloren gehen. Wir haben diesen Leitfaden speziell erstellt, damit Sie das korrekte Verfahren zur Einrichtung einer standardmäßigen UFW-Firewall auf dem Ubuntu Linux-Betriebssystem erneut sehen können.

Wenn man tiefer gräbt, ist UFW eigentlich keine Firewall. Es handelt sich dabei einfach um ein praktisches Hilfsprogramm, mit dem man den in den Linux-Kernel ab 2.4 eingebauten netfilter konfigurieren kann. Es gibt keine Möglichkeit, netfilter direkt zu konfigurieren, daher wurde das iptables Hilfsprogramm geschrieben.

Nun, UFW hat es möglich gemacht, diesen Prozess weiter zu vereinfachen und es so möglich zu machen, schnell Regeln zu verwalten, ohne Konfigurationsdateien schreiben oder das iptables Handbuch sorgfältig lesen zu müssen. Dies ist das, was tatsächlich in dem Akronym UFW codiert ist: Unkomplizierte Firewall.

Warum ist UFW standardmäßig deaktiviert

Sobald das Ubuntu-Betriebssystem auf einem Server installiert ist, gibt es standardmäßig keinen einzigen offenen Port, der durch eine Firewall geschützt werden sollte. Daher bleibt UFW auch nach der Installation inaktiv, bis der Benutzer den Schutz konfigurieren muss. Wichtig ist, vor der Aktivierung der Firewall sicherzustellen, dass Sie sich dadurch nicht den Weg zur Konfiguration des Servers abschneiden.

Wenn Sie beispielsweise den Server über eine SSH-Verbindung verwalten, müssen Sie vor der Aktivierung der Firewall ausdrücklich angeben, dass der OpenSSH-Daemon Port 22 (oder einen anderen, wenn konfiguriert) verwenden darf und Verbindungen von außen akzeptieren sollte, anstatt sie zu verwerfen, wie es für alle externen Verbindungen standardmäßig implementiert ist. Dazu müssen Sie entweder ein fertiges OpenSSH-Anwendungsprofil verwenden oder eine eigene Regel erstellen.

UFW-Status

Zunächst stellen wir sicher, dass UFW im Betriebssystem vorhanden ist. Dazu führen wir den Befehl aus:

sudo ufw status verbose

Wenn Sie die folgende Antwort erhalten, bedeutet dies, dass UFW auf dem Betriebssystem installiert ist, sich aber, wie oben erwähnt, in einem inaktiven Zustand befindet:

Status: inaktiv

Andernfalls aktualisieren Sie den Paketcache und installieren Sie UFW mit dem Standardpacker-Manager:

sudo apt update && sudo apt -y install ufw

Firewall aktivieren

Achtung! Stellen Sie sicher, dass Sie die Serversteuerung durch Aktivierung eines Anwendungsprofils (zum Beispiel OpenSSH) oder durch Aktivierung einer benutzerdefinierten Regel beibehalten, bevor Sie den folgenden Befehl ausführen.

sudo ufw enable

Überprüfen wir den Status von UFW erneut, indem wir den folgenden Befehl aufrufen:

sudo ufw status verbose

Firewall deaktivieren

Die Firewall kann mit dem Befehl "disable" ausgeschaltet werden. Bitte beachten Sie, dass diese Aktion früher erstellte Regeln in keiner Weise beeinflusst. Sie werden alle weiterhin funktionieren, sobald die Firewall wieder eingeschaltet wird:

sudo ufw disable

Protokollierung aktivieren

Die zweitwichtigste Funktion der Firewall ist die Protokollierung. Mit ihrer Hilfe können Sie sowohl überprüfen, dass UFW korrekt funktioniert, als auch Anzeichen von Cyberattacken erkennen. Um die Protokollierungsfunktion zu aktivieren, führen Sie den folgenden Befehl aus:

sudo ufw logging on
Protokollierung aktiviert
tail -f /var/log/ufw.log
…
Jul 10 05:54:24 ubuntu22044 kernel: [56235.006445] [UFW BLOCK] IN=enp134s0f1 OUT= M
AC=ac:1f:6b:f5:60:43:02:01:01:01:01:02:08:00 SRC=152.32.129.154 DST=37.230.134.118
LEN=60 TOS=0x00 PREC=0x00 TTL=41 ID=5377 DF PROTO=TCP
SPT=47633 DPT=6606 WINDOW=29200 RES=0x00 SYN URGP=0
…

Sie können auch syslog und kern.log überprüfen:

grep -i ufw /var/log/syslog
grep -i ufw /var/log/kern.log

In beiden Fällen wird das Ergebnis das gleiche sein. Um die Menge der im Protokoll aufgezeichneten Informationen zu erhöhen, ändern Sie deren Ebene. Verfügbare Ebenen: niedrig (standardmäßig) / mittel / hoch / voll:

sudo ufw logging full

Protokollierung deaktivieren

Um die Protokollierung zu deaktivieren, ist die Stufe "off" vorgesehen:

sudo ufw logging off

Regelverwaltung

Zugriff von spezifischen IPs

Bei der Erstellung von Regeln sind zwei Szenarien am häufigsten. Im ersten Fall benötigt der Systemadministrator, dass nur Benutzer, die eine bestimmte IP-Adresse oder eine IP-Adresse aus einem bestimmten Bereich haben, eine Verbindung zum Server herstellen können. Verbindungsversuche von allen anderen Adressen sollten blockiert werden. Dies ist am meisten anwendbar für nicht öffentliche oder Unternehmensdienste:

sudo ufw allow from [ip_adresse]
sudo ufw allow from [ip_adresse/subnetzmaske]

Zugriff von spezifischen IPs ablehnen

Das zweite Szenario wird für öffentliche Dienste relevant sein, deren Server gezwungen sind, alle eingehenden Verbindungen zu akzeptieren und zu verarbeiten. Dies macht sie anfällig für Brute-Force-Angriffe und Denial-of-Service (DoS) Angriffe. In diesem Fall helfen Regeln, die das Herstellen einer Verbindung von einer bestimmten IP-Adresse oder einer IP-Adresse aus einem bestimmten Bereich verbieten:

sudo ufw deny from [ip_adresse]
sudo ufw deny from [ip_adresse/subnetzmaske]

Wenn Ihr Server nicht zum Versenden von E-Mails verwendet wird, wäre es logisch, jeglichen ausgehenden SMTP-Verkehr zu blockieren, um potenziellen Spam zu verhindern. Sie können dies mit dem folgenden Befehl tun:

sudo ufw deny out 25

Bestehende Regeln löschen

Der bequemste Weg, Regeln zu löschen, ist es, ihre fortlaufende Zahl zu verwenden. Um herauszufinden, welche Nummer welcher Firewallregel entspricht, führen Sie diesen Befehl aus:

sudo ufw status numbered
Status: aktiv                                                                                                                                                                                                                          
  To                         Action      From                                                                                                                                                                                          
  --                         ------      ----                                                                                                                                                                                          
[ 1] OpenSSH                    ALLOW IN    Anywhere                                                                                                                                                                                      
[ 2] OpenSSH (v6)               ALLOW IN    Anywhere (v6)

Nun können Sie eine Regel löschen, indem Sie ihre Nummer in den Befehl einfügen:

sudo ufw delete [regel_nummer]

Anwendungsprofile

Anwendungsprofile sind fertige Regelsätze, die das Leben eines Systemadministrators vereinfachen. Sie berücksichtigen sofort standardmäßige Verbindungsports und ermöglichen es, mehrere Regeln mit einem Befehl anzuwenden.

Verfügbare Profile auflisten

Um zu prüfen, welche Profile zur Aktivierung zur Verfügung stehen, führen Sie den Befehl aus:

sudo ufw app list
Verfügbare Anwendungen:                                                                                                                                                                                                                   
  OpenSSH

Anwendungsprofil aktivieren

Standardmäßig wird Ubuntu immer ein OpenSSH-Profil zur Verfügung haben, das SSH-Verkehr durch den Standardport 22 passieren lässt. Um sicherzustellen, dass Sie nach der Aktivierung von UFW nicht die Kontrolle über SSH verlieren, führen Sie den folgenden Befehl aus:

sudo ufw allow OpenSSH

Jetzt können Sie UFW aktivieren und überprüfen, ob die aktivierbare Regel für OpenSSH funktioniert:

sudo ufw status verbose
Status: aktiv                                                                                                                                                                                                                          
Logging: an (niedrig)                                                                                                                                                                                                                         
Default: Verweigern (eingehend), Erlauben (ausgehend), Deaktiviert (geroutet)                                                                                                                                                                             
Neue Profile: überspringen                                                                                                                                                                                                                        
To                         Action      From                                                                                                                                                                                               
--                         ------      ----                                                                                                                                                                                               
22/tcp (OpenSSH)           ALLOW IN    Anywhere                                                                                                                                                                                           
22/tcp (OpenSSH (v6))      ALLOW IN    Anywhere (v6)

Anwendungsprofil deaktivieren

Sie können eine aktivierte Regel mit dem Befehl "delete" löschen. Seien Sie äußerst vorsichtig mit diesem Befehl und deaktivieren Sie nicht das OpenSSH-Profil, denn wenn die Firewall aktiviert ist und es keine Regel gibt, die OpenSSH erlaubt, verlieren Sie den remote Zugriff auf den Server:

sudo ufw delete allow [app_profil_name]

IP-Blockliste

Es ist kein Geheimnis, dass das Internet voll von Geräten ist, die programmiert sind, um automatisch zu scannen und zu versuchen, unbefugten Zugang zu erlangen. Es wäre klug, alle Adressen zu blockieren, die dabei gesehen werden. Das IPsum-Projekt unterhält ein Register von schädlichen IP-Adressen auf Basis von Daten aus 30 öffentlich zugänglichen Diensten, die regelmäßig Listen solcher Adressen veröffentlichen. Dieses Register wird eine ausgezeichnete Datenquelle für UFW sein.

Beginnen Sie mit der Installation des ipset-Paketes:

sudo apt -y install ipset

Jetzt müssen Sie eine Sicherungskopie der vorhandenen After.init-Konfigurationsdatei machen:

sudo cp /etc/ufw/after.init /etc/ufw/after.init.orig

Klonen Sie das Repository mit vorgefertigten Konfigurationsdateien:

git clone https://github.com/poddmo/ufw-blocklist.git

Wechseln Sie das Arbeitsverzeichnis:

cd ufw-blocklist

Kopieren Sie die Konfigurationsdatei und ersetzen Sie sie:

sudo cp after.init /etc/ufw/after.init

Kopieren Sie die Cron-Job-Datei:

sudo cp ufw-blocklist-ipsum /etc/cron.daily/ufw-blocklist-ipsum

Ändern Sie den Besitzer dieser beiden Dateien auf den Superuser Root:

sudo chown root:root /etc/ufw/after.init /etc/cron.daily/ufw-blocklist-ipsum

Setzen Sie die Berechtigungen auf 750 (rwxr-x—) für beide Dateien:

sudo chmod 750 /etc/ufw/after.init /etc/cron.daily/ufw-blocklist-ipsum

Laden Sie eine grundlegende Blockliste herunter:

curl -sS -f --compressed -o ipsum.4.txt 'https://raw.githubusercontent.com/stamparm/ipsum/master/levels/4.txt'

Setzen Sie für die grundlegende Blockliste Berechtigungen auf 640 (rw-r-----). Sie wird direkt im /etc-Verzeichnis gespeichert, so dass das Ändern der Berechtigungen eine vernünftige Vorsichtsmaßnahme gegen Manipulationen an dieser Liste darstellt:

sudo chmod 640 ipsum.4.txt

Es ist an der Zeit, die Liste in das /etc-Verzeichnis zu legen:

sudo cp ipsum.4.txt /etc/ipsum.4.txt

Lassen Sie uns das initiale Skript starten:

sudo /etc/ufw/after.init start

Der folgende Befehl hilft, die aktuelle Anzahl der Einträge in der Blockliste anzuzeigen:

sudo ipset list ufw-blocklist-ipsum -terse | grep 'Number of entries'

Zum Schluss, stellen Sie sicher, dass die Liste angenommen wird und UFW korrekt funktioniert:

sudo /etc/ufw/after.init status
Name: ufw-blocklist-ipsum                                                                                       
Typ: hash:net                                                                                                  
Überarbeitung: 7                                                                                                     
Header: Familieneigentum inet hashsize 2048 maxelem 65536 bucketsize 12 initval 0x5822a4bb                                
Größe im Speicher: 186912                                                                                          
Referenzen: 3                                                                                                   
Anzahl der Einträge: 6744                                                                                         
      0        0 ufw-blocklist-input  all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-
set ufw-blocklist-ipsum src                                                                                       
      0        0 ufw-blocklist-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-
set ufw-blocklist-ipsum dst                                                                                     
      0        0 ufw-blocklist-output  all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-
set ufw-blocklist-ipsum dst

Siehe auch:



Aktualisiert: 28.03.2025

Veröffentlicht: 12.07.2024


Haben Sie noch Fragen? Schreiben Sie uns!

By clicking «I Accept» you confirm that you have read and accepted the website Terms and Conditions, Privacy Policy, and Moneyback Policy.