
Ich bin mit iptables ziemlich vertraut und finde es iptables -L -v
recht einfach zu lesen. Das Sichern ist einfach und ich bin damit zufrieden.
In den neuesten Versionen von Ubuntu gibt es jedoch UWL, die iptables ziemlich verunreinigen. Statt einer sauberen Liste von Regeln habe ich jede Menge Regeln, die nicht leicht zu lesen sind:
$ iptables -L -v
Chain INPUT (policy DROP 6114 packets, 331K bytes)
pkts bytes target prot opt in out source destination
131K 76M ufw-before-logging-input all -- any any anywhere anywhere
131K 76M ufw-before-input all -- any any anywhere anywhere
6618 368K ufw-after-input all -- any any anywhere anywhere
6191 346K ufw-after-logging-input all -- any any anywhere anywhere
6191 346K ufw-reject-input all -- any any anywhere anywhere
6191 346K ufw-track-input all -- any any anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
390K 324M ufw-before-logging-forward all -- any any anywhere anywhere
390K 324M ufw-before-forward all -- any any anywhere anywhere
4 2160 ufw-after-forward all -- any any anywhere anywhere
4 2160 ufw-after-logging-forward all -- any any anywhere anywhere
4 2160 ufw-reject-forward all -- any any anywhere anywhere
4 2160 ufw-track-forward all -- any any anywhere anywhere
Chain OUTPUT (policy ACCEPT 1 packets, 52 bytes)
pkts bytes target prot opt in out source destination
326K 317M ufw-before-logging-output all -- any any anywhere anywhere
326K 317M ufw-before-output all -- any any anywhere anywhere
164 14960 ufw-after-output all -- any any anywhere anywhere
164 14960 ufw-after-logging-output all -- any any anywhere anywhere
164 14960 ufw-reject-output all -- any any anywhere anywhere
164 14960 ufw-track-output all -- any any anywhere anywhere
...
Aus dieser Perspektive verstehe ich den Zweck von ufw nicht wirklich. Es scheint die Komplexität gegenüber iptables zu erhöhen, ohne wirkliche Vorteile zu bieten.
Liege ich falsch?
Antwort1
Wenn Sie wissen iptables
, es für Sie iptables -L -v
leicht lesbar genug ist und Sie es bevorzugen, dann brauchen Sie es nicht ufw
.
iptables
arbeitet mit den Tabellen der Paketfilterregeln im Linux-Kernel. Die Tabellen, Ketten und Regeln, die Sie erstellen können, bilden ein leistungsstarkes und flexibles Tool, das jedoch oft einschüchternd und nicht ganz intuitiv ist. Mit ihnen sind fortgeschrittene Dinge möglich, aber grundlegende Dinge sind nicht immer so einfach, wie unerfahrene Benutzer (oder Benutzer im Allgemeinen) es gerne hätten.
Hier wird ufw
(oder ein anderes ähnliches Tool) als zusätzliche Ebene über eingefügt iptables
. Es vereinfacht grundlegende Dinge, ermöglicht aber nicht unbedingt erweiterte Dinge. Jeder, der eine grafische Benutzeroberfläche bevorzugt, kann verwenden gufw
. Ubuntu wird ausgeliefert, ufw
weil es sich an Benutzer richtet, die möglicherweise nicht daran interessiert sind, wie die Dinge hinter der Haube funktionieren. Sie möchten eine einfache Schnittstelle, die der von Windows oder den HTTP-Schnittstellen ihrer Heimrouter ähnelt. Fortgeschrittene Benutzer können „manuell“ deaktivieren ufw
und verwenden .iptables
Der Zweck von ufw
ist, ein einfaches Frontend zu haben. Für den Normalbürger ist dieses Frontendeinfacherals jede gleichwertige „saubere Liste von Regeln“, die Sie in erstellen können iptables
. Die „vielen nicht leicht lesbaren Regeln“, ufw
die tatsächlich erstellt werden, sind jetzt das Backend. Sie haben Recht, ufw
es fügt Komplexität hinzu, aber Joe sieht es nie.
Sobald Sie sich für die Verwendung entscheiden ufw
(oder es weiterhin verwenden, wenn es standardmäßig vorhanden ist), sollten Sie sich nicht mehr um das Backend kümmern. Behandeln Sie das Backend als internen Teil des Tools, das das Frontend bereitstellt.
Wenn Sie iptables
Ihr Front-End sein möchten, verwenden Sie es nicht ufw
, da ufw
es sich selbst „weiter nach vorne“ stellt.