So installieren und konfigurieren Sie die UFW-Firewall auf Ubuntu & Debian
Da Computer miteinander verbunden sind, wachsen Dienste schnell, mit Beispielen wie E-Mail, soziale Medien, Online-Shopping, Chat und Webkonferenzen.
Diese Konnektivität ist jedoch ein zweischneidiges Schwert, da sie auch die Tür für bösartige Aktivitäten öffnet, einschließlich der Übertragung von Viren, Malware und Trojaner-Apps, die Computer schädigen können.
Warum Sie eine Firewall installieren sollten
Das Internet, als das größte Computernetzwerk, ist nicht immer mit guten Menschen gefüllt; daher müssen wir, um unsere Computer und Server zu schützen, sie sichern.
Eine wesentliche Komponente zur Sicherung von Computern oder Servern ist eine Firewall, die laut Wikipedia ist:
In der Informatik ist eine Firewall ein software- oder hardwarebasiertes Netzwerksicherheitssystem, das den ein- und ausgehenden Netzwerkverkehr kontrolliert, indem es die Datenpakete analysiert und entscheidet, ob sie basierend auf einem angewendeten Regelwerk durchgelassen werden sollen oder nicht.
Iptables ist eine weit verbreitete Firewall für Server, die eingehenden und ausgehenden Datenverkehr basierend auf einem Satz von Regeln verwaltet und nur vertrauenswürdige Verbindungen zulässt. Allerdings läuft IPTables im Konsolenmodus und kann für Anfänger kompliziert sein.
UFW: Eine einfachere Alternative zu IPTables
Um die Komplexität bei der Einrichtung von IPTables zu reduzieren, wurden viele Front-Ends entwickelt. Wenn Sie Ubuntu oder Debian verwenden, finden Sie UFW (Uncomplicated Firewall) als das standardmäßige Firewall-Tool.
UFW (Unkomplizierte Firewall) ist ein Frontend für die weit verbreitete IPTables-Firewall, die ein Framework zur Verwaltung von Netfilter bietet und eine Befehlszeilenschnittstelle zur Steuerung der Firewall enthält.
UFW ist darauf ausgelegt, für Anfänger leicht zu bedienen zu sein, die möglicherweise nicht mit Firewall-Konzepten vertraut sind. Gleichzeitig ermöglicht es fortgeschrittenen Benutzern, komplexe Regeln über die CLI zu konfigurieren.
UFW ist in Distributionen wie Debian, Ubuntu und Linux Mint verfügbar.
UFW-Firewall installieren
Bevor Sie UFW verwenden, müssen Sie überprüfen, ob es bereits auf Ihrem System installiert ist, indem Sie den folgenden Befehl verwenden, der alle installierten Pakete auflistet und die Ergebnisse filtert, um anzuzeigen, ob UFW installiert ist oder nicht.
sudo dpkg --get-selections | grep ufw
Wenn UFW nicht installiert ist, können Sie es einfach installieren, indem Sie Folgendes ausführen:
sudo apt install ufw
Sobald UFW installiert ist, ist es wichtig, seinen aktuellen Status zu überprüfen, um zu sehen, ob es aktiviert oder deaktiviert ist.
sudo ufw status
Wenn UFW inaktiv ist, müssen Sie es aktivieren, um Ihr System zu schützen.
sudo ufw enable
Wenn Sie jemals UFW deaktivieren müssen, können Sie dies mit dem folgenden einfachen Befehl tun.
sudo ufw disable
Auflisten der aktuellen UFW-Regeln
Sobald Ihre Firewall aktiviert ist, können Sie beginnen, benutzerdefinierte Regeln hinzuzufügen, um den ein- und ausgehenden Datenverkehr zu steuern. Um den aktuellen Status Ihrer Firewall zu überprüfen und die bestehenden Regeln (einschließlich der Standardeinstellungen) anzuzeigen, können Sie den folgenden Befehl verwenden:
sudo ufw status verbose
Erklärung der Ausgabe:
Status: aktiv: Dies bedeutet, dass die Firewall derzeit aktiv ist und die von Ihnen festgelegten Regeln durchsetzt.Protokollierung: ein (gering): Dies bedeutet, dass die Firewall grundlegende Ereignisse protokolliert, wie zum Beispiel, wann ein Paket erlaubt oder blockiert wird.deny (code): Dies bedeutet, dass keine externen Verbindungen auf Ihr System zugreifen können, es sei denn, sie werden ausdrücklich durch eine von Ihnen hinzugefügte Regel erlaubt.allow (outgoing): Das bedeutet, dass Ihr System frei mit externen Servern verbinden kann, wie zum Beispiel auf Websites zugreifen oder E-Mails senden.deny (routed): Dies zeigt an, dass der durch Ihr System geleitete Datenverkehr (d. h. Datenverkehr, der nicht direkt von Ihrem Computer stammt) standardmäßig blockiert wird.Neue Profile: überspringen: Diese Einstellung überspringt automatische Regelhinzufügungen für neue Softwareprofile, und jede neu installierte Anwendung erfordert eine manuelle Intervention, um Firewall-Regeln hinzuzufügen.
Wie man UFW-Regeln hinzufügt
Standardmäßig ist UFW so eingestellt, dass alle eingehenden Verbindungen blockiert und alle ausgehenden Verbindungen erlaubt werden, was eine gute Sicherheitsmaßnahme ist, da es unbefugten Zugriff verhindert und dennoch Ihrem Computer erlaubt, eine Verbindung zum Internet herzustellen.
Wenn Sie jedoch aus der Ferne auf Ihre Maschine zugreifen möchten, zum Beispiel über SSH, müssen Sie den entsprechenden Port ausdrücklich freigeben.
SSH-Zugriff erlauben
Um eingehende SSH-Verbindungen (die Port 22 verwenden) zuzulassen, führen Sie den folgenden Befehl aus, der eingehende Verbindungen auf Port 22 für sowohl IPv4 als auch IPv6 erlaubt.
sudo ufw allow ssh
Sie können überprüfen, ob die Regel erfolgreich hinzugefügt wurde, indem Sie Folgendes verwenden:
sudo ufw status
Auflisten von Regeln mit Zahlen
Wenn Sie viele Regeln haben und diese leichter verwalten möchten, können Sie die nummerierte Option verwenden, um sie aufzulisten:
sudo ufw status numbered
Nur TCP zulassen
Standardmäßig ermöglicht das Zulassen eines Dienstes wie SSH sowohl TCP- als auch UDP-Protokolle, aber SSH verwendet nur TCP, sodass Sie die Regel spezifischer gestalten können, indem Sie nur TCP-Verbindungen zulassen:
sudo ufw allow ssh/tcp
Zugriff verweigern
Genau wie das Zulassen des Zugriffs auf bestimmte Dienste oder Ports, ermöglicht UFW auch das Verweigern von Verkehr mithilfe einer sehr ähnlichen Befehlsstruktur. Den Zugriff zu verweigern ist wichtig, wenn Sie explizit einen bestimmten Dienst oder eine Verbindung daran hindern möchten, Ihr System zu erreichen.
Angenommen, Sie möchten FTP (das typischerweise auf Port 21 läuft) daran hindern, auf Ihrem Rechner zugänglich zu sein.
sudo ufw deny ftp
Sie können auch einen benutzerdefinierten Port oder eine IP mit derselben Ablehnungs-Syntax verwenden:
sudo ufw deny from 192.168.1.10 to any port 21
Diese Regel blockiert nur die spezifische IP 192.168.1.10, um auf Port 21 zuzugreifen.
Hinzufügen eines bestimmten Ports
Manchmal können Dienste auf Ihrem Rechner auf nicht standardmäßigen oder benutzerdefinierten Ports laufen. Zum Beispiel läuft SSH standardmäßig auf Port 22, aber aus Sicherheitsgründen ändern viele Administratoren diesen Port zu etwas anderem, wie 2290.
Um den Datenverkehr über diesen benutzerdefinierten Port (2290) zuzulassen, können Sie den folgenden Befehl ausführen:
sudo ufw allow 2290
Ermöglichung einer Reihe von Ports
In einigen Fällen möchten Sie möglicherweise mehrere Ports auf einmal öffnen, zum Beispiel, wenn Sie einen Dienst betreiben, der eine Reihe von Ports für die Kommunikation verwendet, wie bestimmte Spieleserver oder VoIP-Anwendungen.
Um einen Bereich von Ports unter Verwendung des TCP-Protokolls zu erlauben:
sudo ufw allow 2290:2300/tcp
Um denselben Bereich mit dem UDP-Protokoll zu ermöglichen:
sudo ufw allow 2290:2300/udp
Wenn Sie einen Portbereich angeben, müssen Sie auch das Protokoll (tcp oder udp) angeben. Wenn Sie dies nicht tun, erhalten Sie einen Fehler wie diesen:
ERROR: Must specify 'tcp' or 'udp' with multiple ports
Regeln für bestimmte IP-Adressen hinzufügen
Bisher haben wir Regeln basierend auf Diensten und Ports hinzugefügt, aber es erlaubt Ihnen auch, den Zugriff basierend auf IP-Adressen zu steuern, was nützlich ist, wenn Sie den Zugriff nur auf bestimmte Geräte in Ihrem Netzwerk beschränken möchten.
Zugriff von einer einzelnen IP zulassen
Um einer bestimmten IP-Adresse (z. B. 192.168.0.104) den Zugriff auf einen beliebigen Dienst zu erlauben, verwenden Sie:
sudo ufw allow from 192.168.0.104
Zugriff von einem Subnetz erlauben
Sie können auch den Zugriff aus einem gesamten IP-Bereich oder Subnetz zulassen. Zum Beispiel, um den Zugriff von jedem Gerät im 192.168.0.0/24-Bereich zu erlauben:
sudo ufw allow from 192.168.0.0/24
Angabe des Zielports (Zu)
Sie können auch Regeln hinzufügen, die steuern, wohin der Datenverkehr erlaubt ist zu gehen, nicht nur, woher er kommt. Zum Beispiel, wenn Sie SSH-Zugriff (Port 22) von überall zulassen möchten, würden Sie schreiben:
sudo ufw allow to any port 22
Kombinieren von IP, Protokoll und Port
Für noch präzisere Steuerung können Sie alle Parameter kombinieren. Zum Beispiel nur TCP-Verkehr von der IP 192.168.0.104 zu Port 22 zulassen:
sudo ufw allow from 192.168.0.104 proto tcp to any port 22
UFW-Regeln löschen
Irgendwann müssen Sie möglicherweise bestehende Firewall-Regeln löschen – sei es zur Fehlerbehebung, zum Aufräumen alter Konfigurationen oder zum Ändern von Zugriffsberechtigungen. Glücklicherweise macht UFW dies einfach.
Lassen Sie uns zwei gängige Methoden zur Entfernung von Regeln durchgehen.
Beispielszenario
Angenommen, Ihre aktuellen Firewall-Regeln sehen so aus:
To Action From
-- ------ ----
22/tcp ALLOW 192.168.0.104
21/tcp ALLOW Anywhere
21/tcp ALLOW Anywhere (v6)
In diesem Fall:
- Port 22/tcp (SSH) ist nur von der IP 192.168.0.104 aus erlaubt
- Port 21/tcp (FTP) ist von überall erlaubt
Methode 1: Löschen nach Dienst oder Port
Wenn die Regel unter Verwendung eines Dienstnamens wie ftp hinzugefügt wurde, können Sie sie mit derselben Syntax löschen:
sudo ufw delete allow ftp
Diese Methode verlangt keine Bestätigung. Sobald Sie die Eingabetaste drücken, wird die Regel sofort gelöscht.
Methode 2: Nach Regelsnummer löschen
Manchmal funktioniert das Löschen einer Regel unter Verwendung des Servicenamens oder Ports nicht, besonders wenn die Regel unter bestimmten Bedingungen hinzugefügt wurde (z. B. nur von einer bestimmten IP erlaubt).
Sie könnten diesen Fehler sehen:
Could not delete non-existent rule
Could not delete non-existent rule (v6)
In solchen Fällen ist die beste Option, die Regel nach ihrer Nummer zu löschen.
Schritt 1: Regeln mit Zahlen auflisten
sudo ufw status numbered
Beispielausgabe:
To Action From
-- ------ ----
[1] 22/tcp ALLOW 192.168.0.104
[2] 21/tcp ALLOW Anywhere
[3] 21/tcp ALLOW Anywhere (v6)
Schritt 2: Löschen Sie die Regel nach ihrer Nummer
Um die erste Regel (SSH-Zugriff von 192.168.0.104) zu löschen, führen Sie Folgendes aus:
sudo ufw delete 1
Du wirst sehen:
Deleting:
allow from 192.168.0.104 to any port 22 proto tcp
Proceed with operation (y|n)? y
Wie man UFW-Regeln zurücksetzt
Manchmal möchten Sie möglicherweise Ihre Firewall-Konfiguration vollständig zurücksetzen, zum Beispiel, wenn Sie zu viele Regeln hinzugefügt haben und die Dinge unübersichtlich geworden sind oder Sie neu beginnen möchten.
Um alle UFW-Regeln zurückzusetzen und alles auf den Standardzustand zurückzusetzen, verwenden Sie den folgenden Befehl:
sudo ufw reset
Sie werden eine Aufforderung wie diese sehen:
Resetting all rules to installed defaults. Proceed with operation (y|n)? y
Wenn Sie y drücken, wird UFW Folgendes tun:
- Sichern Sie Ihre bestehenden Regeln, bevor Sie sie entfernen.
- Alle benutzerdefinierten Regeln löschen.
- Stellen Sie die UFW-Einstellungen auf die installierten Standardwerte zurück.
- Deaktivieren Sie die Firewall automatisch nach dem Zurücksetzen.
Nach einem Reset ist UFW ausgeschaltet, Sie müssen es erneut mit folgendem Befehl aktivieren:
sudo ufw enable
Erweiterte Funktionalität von UFW
Wie bereits erwähnt, ist UFW ein Front-End für die leistungsstarke IPTables-Firewall. Obwohl es darauf ausgelegt ist, einfach zu sein, ist es hinter den Kulissen auch sehr anpassbar.
Die erweiterten Konfigurationen von UFW werden über eine Reihe von Textdateien gehandhabt. Diese Dateien ermöglichen es Ihnen, Regeln und Optionen einzurichten, die über das hinausgehen, was das UFW-Befehlszeilentool leisten kann. Hier ist eine kurze Übersicht:
Wichtige UFW-Konfigurationsdateien:
- /etc/default/ufw: Die Hauptkonfiguration für Standardrichtlinien, IPv6-Unterstützung und Kernelmodule.
- /etc/ufw/before[6].rules: Regeln in diesen Dateien werden vor allen über den ufw-Befehl hinzugefügten Regeln berechnet.
- /etc/ufw/after[6].rules: Regeln in diesen Dateien werden nach allen über den ufw-Befehl hinzugefügten Regeln berechnet.
- /etc/ufw/sysctl.conf: einstellbare Netzwerkparameter des Kernels.
- /etc/ufw/ufw.conf: legt fest, ob ufw beim Start aktiviert ist oder nicht, und legt das LOGLEVEL fest.
Fazit
UFW als Front-End für iptables bietet sicherlich eine einfache Benutzeroberfläche. Benutzer müssen sich die komplizierte iptables-Syntax nicht merken. UFW verwendet außerdem ‘einfaches Englisch‘ als Parameter.
Erlauben, verweigern und zurücksetzen sind einige davon. Ich glaube, dass es noch viele weitere iptables-Frontends gibt. Aber ufw ist eine der besten Alternativen für Benutzer, die ihre Firewall schnell, einfach und natürlich sicher einrichten möchten. Bitte besuchen Sie die ufw-Handbuchseite, indem Sie man ufw eingeben, für weitere Details.



