Website-Suche

Wie man UFW installiert und konfiguriert - eine unkomplizierte Firewall in Debian/Ubuntu


Da Computer miteinander verbunden sind, wachsen die Dienste schnell. E-Mail, Social Media, Online-Shop, Chat bis Webkonferenzen sind Dienste, die vom Benutzer genutzt werden. Aber auf der anderen Seite mag diese Konnektivität einfach nur 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 mit guten Leuten gefüllt. 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. Aus Wikipedia lautet eine Definition:

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

Iptables ist eine der Firewalls, die von Servern häufig verwendet werden. Es handelt sich um ein Programm, das verwendet wird, um den ein- und ausgehenden Datenverkehr auf dem Server auf der Grundlage einer Reihe von Regeln zu verwalten. Im Allgemeinen darf nur eine vertrauenswürdige Verbindung auf den Server gelangen. Aber IPTables läuft im Konsolenmodus und es ist kompliziert. Diejenigen, die mit den Regeln und Befehlen von iptables vertraut sind, können den folgenden Artikel lesen, der beschreibt, wie die iptables-Firewall verwendet wird.

  1. Grundlegende IPTables (Linux-Firewall) Anleitung

Installation der UFW-Firewall in Debian/Ubuntu

Um die Komplexität des How-to-Setzens von IPTables zu reduzieren, gibt es eine Menge Fronted. 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 für die Verwaltung von NetFilter sowie eine Befehlszeilenschnittstelle zur Steuerung der Firewall. Es bietet eine benutzerfreundliche und einfach zu bedienende Oberfläche für Linux-Neulinge, die mit Firewall-Konzepten nicht sehr vertraut sind.

Auf der anderen Seite helfen dieselben komplizierten Befehle Administratoren, komplizierte Regeln über die Befehlszeilenschnittstelle festzulegen. Die 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

Bevor Sie es verwenden, 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 dies, dass er nicht aktiv oder deaktiviert ist.

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

Kostenloses E-Book mit 696 Seiten herunterladen

Aktivieren/Deaktivieren von ufw

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

$ sudo ufw enable

Firewall is active and enabled on system startup

Um es zu deaktivieren, geben Sie einfach 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 sehen möchten, was die Standardregeln sind, können Sie Text eingeben.

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

Hinzufügen von ufw-Regeln

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

Zugriff erlauben
$ 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 jede Regel sofort mit Zahlen versehen möchten, verwenden Sie Parameter numbered.

$ 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 nach der Portnummer den Parameter tcp hinzufügen. Hier sehen Sie 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 Verweigerungsregel angewendet. Nehmen wir an, Sie möchten die ftp-Herrschaft verweigern. Sie müssen also nur noch 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 Rechner von 22 auf 2290. Um Port 2290 zuzulassen, können wir ihn dann wie folgt hinzufügen.

$ sudo ufw allow

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

Es ist auch möglich, der Regel einen Portbereich hinzuzufügen. Wenn wir den Port von 2290 – 2300 mit dem TCP-Protokoll öffnen möchten, lautet der Befehl wie folgt.

$ sudo ufw allow 2290:2300/tcp

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

Wenn Sie 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 eingeben müssen, sonst erhalten Sie eine Fehlermeldung ähnlich der untenstehenden.

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

Hinzufügen einer bestimmten IP

Zuvor haben wir Regeln hinzugefügt, die auf dem Dienst oder Port basieren. Mit Ufw können Sie auch Regeln basierend auf der IP-Adresse hinzufügen. 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, schränkt der Parameter von nur die Verbindungsquelle ein. Während das Ziel, das durch die Spalte An dargestellt wird, "Überall" 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 von jedem 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 vom Protokoll tcp und bis Port 22 beschränkt. Dann lautet der Befehl wie folgt.

$ sudo ufw allow from 192.168.0.104 proto tcp to any port 22

Die Syntax zum Erstellen einer Verweigerungsregel ist ähnlich wie bei der Zulassungsregel. Sie müssen nur den Parameter von allow auf deny ändern.

Löschen von Regeln

Es kann vorkommen, dass Sie Ihre vorhandene Regel löschen müssen. Auch hier ist es mit ufw einfach, Regeln zu löschen. Aus dem obigen Beispiel haben Sie unten eine Regel, die Sie 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

Mit dem folgenden Befehl werden Regeln gelöscht, die mit service ftp übereinstimmen. Also wird der 21/tcp, was den ftp-Port bedeutet, gelöscht.

$ sudo ufw delete allow ftp
Methode 2

Aber wenn 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 wird eine Fehlermeldung angezeigt, 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 Anzahl der Regeln anzeigen, um anzugeben, welche Regel wir löschen möchten. Lassen Sie es uns Ihnen zeigen.

$ 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)

Dann 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

Von diesen Methoden aus werden Sie den Unterschied sehen. Methode 2 fragt den Benutzer nach einer Bestätigung, bevor die Regel gelöscht wird, während Methode 1 dies nicht tut.

So setzen Sie Regeln zurück

In einigen Situationen möchten Sie möglicherweise alle Regeln löschen/zurücksetzen. Sie können dies tun, indem Sie tippen.

$ 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, die nichts anderes sind als iptables-restore-geeignete Textdateien. Die Feinabstimmung von ufw und/oder das Platzieren zusätzlicher iptables-Befehle, die über den ufw-Befehl nicht erlaubt sind, ist eine Frage der Bearbeitung mehrerer Textdateien.

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

Schlussfolgerung

UFW als Frontend für iptables macht dem Benutzer sicherlich eine einfache Schnittstelle. Der Benutzer muss sich die komplizierte iptables-Syntax nicht merken. UFW verwendet auch "plain english" als Parameter.

Zulassen, Verweigern, Zurücksetzen sind eine davon. Ich glaube, dass es noch viel mehr iptables Frontends gibt. Aber auf jeden Fall ist ufw eine der besten Alternativen für Anwender, 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 Informationen zu erhalten.

Verwandte Artikel: