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.
- 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 installWenn es nicht installiert ist, können Sie es mit dem Befehl apt installieren, wie unten gezeigt.
$ sudo apt-get install ufwBevor 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 statusWenn 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 disableListen 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 verboseBeispiel-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 portsHinzufü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.104Sie 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/24Wie 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 22Der 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 22Die 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 ftpMethode 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/tcpMö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)? yVon 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)? yWenn 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.
- /etc/default/ufw: Die Hauptkonfiguration für Standardrichtlinien, IPv6-Unterstützung und Kernel-Module.
- /etc/ufw/before[6].rules: Die Regeln in diesen Dateien werden vor allen Regeln berechnet, die über den UFW-Befehl hinzugefügt wurden.
- /etc/ufw/after[6].rules: Die Regeln in diesen Dateien werden nach allen Regeln berechnet, die über den UFW-Befehl hinzugefügt wurden.
- /etc/ufw/sysctl.conf: Kernel-Netzwerk-Tunables.
- /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.

