Website-Suche

So installieren und konfigurieren Sie UFW – eine unkomplizierte FireWall in Debian/Ubuntu


Da Computer miteinander verbunden sind, wachsen die Dienste schnell. E-Mail, Social Media, Online-Shop, Chat bis hin zu Webkonferenzen sind Dienste, die... Wird vom Benutzer verwendet. Aber auf der anderen Seite ist diese Konnektivität einfach wie ein doppelseitiges Messer. Es ist auch möglich, schädliche Nachrichten an diese Computer zu senden, z. B. Viren, Malware und Trojaner-Apps.

Das Internet als größtes Computernetzwerk ist nicht immer voller guter Leute. Um sicherzustellen, dass unsere Computer/Server sicher sind, müssen wir sie schützen.

Eine der unverzichtbaren Komponenten auf Ihrem Computer/Server ist die Firewall. Eine Definition aus Wikipedia lautet:

In der Informatik ist eine Firewall ein software- oder hardwarebasiertes Netzwerksicherheitssystem, das den ein- und ausgehenden Netzwerkverkehr kontrolliert, indem es die Datenpakete analysiert und anhand des angewendeten Regelsatzes bestimmt, ob sie durchgelassen werden sollen oder nicht.

Iptables ist eine der Firewalls, die häufig von Servern verwendet wird. Dabei handelt es sich um ein Programm, mit dem der ein- und ausgehende Datenverkehr auf dem Server anhand einer Reihe von Regeln verwaltet wird. Im Allgemeinen dürfen nur vertrauenswürdige Verbindungen den Server betreten. Aber IPTables läuft im Konsolenmodus und es ist kompliziert. Wer mit den Regeln und Befehlen von iptables vertraut ist, kann den folgenden Artikel lesen, der die Verwendung der iptables-Firewall beschreibt.

  1. Grundlegendes IPTables-Handbuch (Linux-Firewall).

Installation der UFW-Firewall in Debian/Ubuntu

Um die Komplexität der Vorgehensweise beim Festlegen von IPTables zu verringern, gibt es viele Fronten. Wenn Sie Ubuntu Linux verwenden, finden Sie ufw als Standard-Firewall-Tool. Beginnen wir mit der Erkundung der ufw-Firewall.

Was ist ufw

Die ufw (Uncomplicated Firewall) ist ein Frontend für die am weitesten verbreitete iptables-Firewall und eignet sich gut für hostbasierte Firewalls. ufw bietet ein Framework zur Verwaltung von netfilter sowie eine Befehlszeilenschnittstelle zur Steuerung der Firewall. Es bietet eine benutzerfreundliche und benutzerfreundliche Oberfläche für Linux-Neulinge, die mit Firewall-Konzepten nicht besonders vertraut sind.

Andererseits helfen dieselben komplizierten Befehle Administratoren dabei, komplizierte Regeln über die Befehlszeilenschnittstelle festzulegen. Das ufw ist ein Upstream für andere Distributionen wie Debian, Ubuntu und Linux Mint.

Grundlegende Verwendung ufw

Überprüfen Sie zunächst mit dem folgenden Befehl, ob ufw installiert ist.

sudo dpkg --get-selections | grep ufw

ufw 		install

Wenn es nicht installiert ist, können Sie es mit dem Befehl apt installieren, wie unten gezeigt.

sudo apt-get install ufw

Vor der Nutzung sollten Sie prüfen, ob ufw läuft oder nicht. Verwenden Sie den folgenden Befehl, um dies zu überprüfen.

sudo ufw status

Wenn Sie Status: inaktiv gefunden haben, bedeutet das, dass er nicht aktiv oder deaktiviert ist.

NEU! Ein unverzichtbares E-Book für jeden Linux-Administrator!

Kostenloses 696-seitiges E-Book herunterladen

Aktivieren/Deaktivieren von ufw

Um es zu aktivieren, müssen Sie lediglich den folgenden Befehl am Terminal eingeben.

sudo ufw enable

Firewall is active and enabled on system startup

Um es zu deaktivieren, geben Sie einfach Folgendes ein.

sudo ufw disable

Listen Sie die aktuellen UFW-Regeln auf

Nachdem die Firewall aktiviert wurde, können Sie Ihre Regeln hinzufügen. Wenn Sie die Standardregeln sehen möchten, können Sie Folgendes eingeben.

sudo ufw status verbose
Beispielausgabe
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
$

So fügen Sie UFW-Regeln hinzu

Wie Sie sehen, wird standardmäßig jede eingehende Verbindung abgelehnt. Wenn Sie Ihren Computer fernsteuern möchten, müssen Sie den richtigen Port zulassen. Beispielsweise möchten Sie eine ssh-Verbindung zulassen. Hier ist der Befehl, um es zuzulassen.

Erlauben den Zugriff
sudo ufw allow ssh

[sudo] password for pungki :
Rule added
Rule added (v6)
$

Wenn Sie den Status erneut überprüfen, sehen Sie eine Ausgabe wie diese.

sudo ufw status

To 		Action 			From
-- 		----------- 		------
22 		ALLOW 			Anywhere
22 		ALLOW 			Anywhere (v6)

Wenn Sie viele Regeln haben und jeder Regel im Handumdrehen Nummern hinzufügen möchten, verwenden Sie den Parameter nummeriert.

sudo ufw status numbered

To 		Action 			From
------ 		----------- 		------
[1] 22 		ALLOW 			Anywhere
[2] 22 		ALLOW 			Anywhere (v6)

Die erste Regel besagt, dass eingehende Verbindungen zu Port 22 von Anywhere sowohl TCP- als auch UDP-Pakete zulässig sind. Was ist, wenn Sie nur TCP-Pakete zulassen möchten? Dann können Sie den Parameter tcp nach der Port-Nummer hinzufügen. Hier ist ein Beispiel mit Beispielausgabe.

sudo ufw allow ssh/tcp

To 		Action 			From
------ 		----------- 		------
22/tcp 		ALLOW 			Anywhere
22/tcp 		ALLOW 			Anywhere (v6)
Zugriff verweigern

Die gleichen Tricks werden auf die Deny-Regel angewendet. Nehmen wir an, Sie möchten die FTP-Regel verweigernn. Sie müssen also nur tippen.

sudo ufw deny ftp

To 		Action 			From
------ 		----------- 		------
21/tcp 		DENY 			Anywhere
21/tcp 		DENY 			Anywhere (v6)

Hinzufügen eines bestimmten Ports

Manchmal haben wir einen benutzerdefinierten Port, der keinen Standards entspricht. Nehmen wir an, wir ändern den SSH-Port auf unserem Computer von 22 in 2290. Um dann Port 2290 zuzulassen, können wir ihn wie folgt hinzufügen.

sudo ufw allow

To 		Action 			From
-- 		----------- 		------
2290 		ALLOW 			Anywhere
2290 		ALLOW 			Anywhere (v6)

Sie können der Regel auch Port-Bereich hinzufügen. Wenn wir den Port von 2290 bis 2300 mit dem TCP-Protokoll öffnen möchten, sieht der Befehl wie folgt aus.

sudo ufw allow 2290:2300/tcp

To 			Action 			From
------ 			----------- 		------
2290:2300/tcp 		ALLOW 			Anywhere
2290:2300/tcp 		ALLOW			Anywhere (v6)

Wenn Sie hingegen udp verwenden möchten, verwenden Sie einfach den folgenden Befehl.

sudo ufw allow 2290:2300/udp

To 			Action 			From
------ 			----------- 		------
2290:2300/udp 		ALLOW 			Anywhere
2290:2300/udp 		ALLOW			Anywhere (v6)

Bitte denken Sie daran, dass Sie „tcp“ oder „udp“ explizit angeben müssen, andernfalls erhalten Sie eine Fehlermeldung ähnlich der folgenden.

ERROR: Must specify ‘tcp’ or ‘udp’ with multiple ports

Spezifische IP hinzufügen

Zuvor haben wir Regeln hinzugefügt, die auf Dienst oder Port basieren. Mit Ufw können Sie auch Regeln hinzufügen, die auf der IP-Adresse basieren. Hier ist der Beispielbefehl.

sudo ufw allow from 192.168.0.104

Sie können auch eine Subnetzmaske verwenden, um den Bereich zu erweitern.

sudo ufw allow form 192.168.0.0/24

To 		Action 			From
-- 		----------- 		------
Anywhere	ALLOW 			192.168.0.104
Anywhere	ALLOW 			192.168.0.0/24

Wie Sie sehen können, begrenzt der from-Parameter nur die Verbindungsquelle. Während das Ziel – das durch die Spalte An dargestellt wird – Anywhere ist. Sie können das Ziel auch mit dem Parameter „An“ verwalten. Sehen wir uns das Beispiel an, um den Zugriff auf Port 22 (ssh) zu ermöglichen.

sudo ufw allow to any port 22

Der obige Befehl ermöglicht den Zugriff von überall und über jedes Protokoll auf Port 22.

Kombinieren von Parametern

Für spezifischere Regeln können Sie auch IP-Adresse, Protokoll und Port kombinieren. Nehmen wir an, wir möchten eine Regel erstellen, die die Verbindung nur von IP 192.168.0.104, nur Protokoll tcp und zu Port 22 beschränkt. Dann sieht der Befehl wie folgt aus.

sudo ufw allow from 192.168.0.104 proto tcp to any port 22

Die Syntax zum Erstellen der Verweigerungsregel ist ähnlich wie die der Zulassungsregel. Sie müssen lediglich den Parameter von allow in deny ändern.

Regeln löschen

Manchmal müssen Sie möglicherweise Ihre bestehende Regel löschen. Auch hier ist es mit ufw einfach, Regeln zu löschen. Aus dem obigen Beispiel geht hervor, dass Sie unten eine Regel haben und diese löschen möchten.

To 		Action 			From
-- 		----------- 		------
22/tcp		ALLOW 			192.168.0.104
21/tcp		ALLOW 			Anywhere
21/tcp 		ALLOW 			Anywhere (v6)

Es gibt zwei Methoden zum Löschen von Regeln.

Methode 1

Der folgende Befehl löscht Regeln, die mit dem Dienst ftp übereinstimmen. Daher wird der 21/tcp-Port, der den ftp-Port bedeutet, gelöscht.

sudo ufw delete allow ftp
Methode 2

Aber als Sie versucht haben, die erste Regel im obigen Beispiel mit dem folgenden Befehl zu löschen.

sudo ufw delete allow ssh

Or 

sudo ufw delete allow 22/tcp

Möglicherweise finden Sie eine Fehlermeldung wie z.

Could not delete non-existent rule
Could not delete non-existent rule (v6)

Dann können Sie diesen Trick machen. Wie oben erwähnt, können Sie die Nummer der Regel anzeigen, um anzugeben, welche Regel gelöscht werden soll. Wir zeigen es Ihnen.

sudo ufw status numbered

To 		Action 			From
-- 		----------- 		------
[1] 22/tcp		ALLOW 			192.168.0.104
[2] 21/tcp		ALLOW 			Anywhere
[3] 21/tcp 		ALLOW 			Anywhere (v6)

Anschließend können Sie die erste Regel mit löschen. Drücken Sie „y“, um die Regel dauerhaft zu löschen.

sudo ufw delete 1

Deleting :
Allow from 192.168.0.104 to any port 22 proto tcp
Proceed with operation (y|n)? y

Anhand dieser Methoden werden Sie den Unterschied erkennen. Bei Methode 2 wird der Benutzer vor dem Löschen der Regel um eine Bestätigung gebeten, bei Methode 1 jedoch nicht.

So setzen Sie Regeln zurück

In manchen Situationen möchten Sie vielleicht alle Regeln löschen/zurücksetzen. Sie können dies durch Eingabe tun.

sudo ufw reset

Resetting all rules to installed defaults. Proceed with operation (y|n)? y

Wenn Sie „y“ drücken, sichert ufw alle vorhandenen Regeln, bevor Sie Ihr ufw zurücksetzen. Durch das Zurücksetzen der Regeln wird auch Ihre Firewall deaktiviert. Sie müssen es erneut aktivieren, wenn Sie es verwenden möchten.

Erweiterte Funktionalität

Wie ich oben erwähnt habe, kann die UFW-Firewall alles tun, was iptables kann. Dies wird durch die Verwendung verschiedener Regeldateien erreicht, bei denen es sich lediglich um iptables-restore entsprechende Textdateien handelt. Die Feinabstimmung von ufw und/oder die Platzierung zusätzlicher iptables-Befehle, die über den ufw-Befehl nicht zulässig sind, erfordert die Bearbeitung mehrerer Textdateien.

  1. /etc/default/ufw: Die Hauptkonfiguration für Standardrichtlinien, IPv6-Unterstützung und Kernelmodule.
  2. /etc/ufw/before[6].rules: Regeln in diesen Dateien werden berechnet, bevor Regeln über den Befehl ufw hinzugefügt werden.
  3. /etc/ufw/after[6].rules: Regeln in diesen Dateien werden berechnet, nachdem alle Regeln über den Befehl ufw hinzugefügt wurden.
  4. /etc/ufw/sysctl.conf: Kernel-Netzwerk-Tuables.
  5. /etc/ufw/ufw.conf: Legt fest, ob ufw beim Booten aktiviert ist oder nicht, und legt den LOGLEVEL fest.

Abschluss

UFW als Frontend für iptables bietet dem Benutzer sicherlich eine einfache Benutzeroberfläche. Der Benutzer muss sich keine komplizierte iptables-Syntax merken. UFW verwendet auch „plain english“ als Parameter.

Zulassen, Verweigern und Zurücksetzen sind eine davon. Ich glaube, dass es noch viel mehr Iptables-Frontends gibt. Aber ufw ist definitiv 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, um weitere Einzelheiten zu erfahren.