UFW: was genau ist das?

13

Was ist UFW? Sie würden denken, dass dies eine einfache Frage ist, aber je mehr Quellen ich lese, desto weniger wird es klar.

Das Akronym bedeutet Uncomplicated FireWall, als würde ufw eine Firewall selbst implementieren. In der Tat wird es an vielen Stellen als Firewall an sich bezeichnet, wie in diesem Artikel .

Die Ubuntu-Hilfe-Wiki-Seite auf UFW besagt, dass UFW ein Konfigurationstool für iptables ist. (Auf der Hilfe-Wiki-Seite zu Firewalls heißt es wiederum, dass iptables die Datenbank der Firewall-Regeln ist und dass es sich auch um die eigentliche Firewall handelt, als ob es sich bei einer Datenbank um eine Firewall handelt, was offensichtlich falsch ist. Und natürlich auch "iptables" den Namen eines Programms.)

Wenn es sich bei ufw um ein Konfigurationstool handelt, können wir davon ausgehen, dass es sich um ein Programm handelt, mit dem Sie etwas konfigurieren. Sobald Sie fertig sind, beenden Sie die Konfiguration, nachdem Sie sie erstellt haben. Das ist die Position der akzeptierten Antwort dieser Frage: Ist Uncomplicated FireWall (ufw) ein Dienst?

Aber andere Antworten auf diese Frage stimmen nicht überein - nein, es ist ein Service. Und in der Tat sehe ich auf meinem 18.04-Rechner, dass ufw als Dienst ausgeführt wird! Warum zum Teufel läuft ein Konfigurationstool als Dienst ?!

Weitere systemctl list-units --all --type=serviceShows ufw.servicesind loaded and active(und auch exited?!) Noch ufw statusShows inactive.

Was bedeutet also ufw status = inactive?

  1. Dass "die Firewall" (was auch immer das ist) inaktiv ist? Das würde die ufw-Manpage doc für 'status' vorschlagen.

  2. Oder bedeutet dies, dass die in ufw konfigurierten Regeln inaktiv sind (andere in iptables konfigurierte Regeln sind jedoch aktiv)?

  3. Oder heißt das, dass ufw beim Booten gestartet wurde, seine Regeln in ipconfig (oder wo auch immer) eingefügt hat, so dass sie jetzt in Kraft sind und ufw nichts zu tun hat, also ist es inaktiv?

Von besonderem Interesse: Ich möchte einige Anweisungen befolgen, die die Ausgabe einiger iptables-Befehle erfordern, befürchte jedoch, dass sie mit dem ufw-Gerät in Konflikt stehen oder von diesem überschrieben werden.

Wideman
quelle
2
Iptables ist die Firewall. Es enthält auch die Regeln, da dies offensichtlich erforderlich ist, aber wenn man es als "Datenbank" bezeichnet, wird es ein wenig gedehnt, da der Kernel keine Persistenz bietet. Das Laden beim Booten muss von einem Tool wie ufw erledigt werden.
Jan Hudec
@JanHudec Ich sehe einige Leute über iptables sprechen, als wäre es die Firewall, aber soweit ich das beurteilen kann, bietet netfilter die Firewall-Funktionalität, während iptables das Datum für netfilter liefert. Ich mag Ihren Punkt, dass iptables nur Daten im Speicher hält und daher "Datenbank" auch irreführend ist.
Wideman
Ich persönlich würde netfilter als Teil von iptables betrachten, aber ich könnte mich in diesem Punkt irren.
Jan Hudec
Zanna hat meine Frage bearbeitet, um Dinge wie URLs zu ordnen (danke!), Hat aber "UFW" für alle Instanzen von "ufw" eingesetzt. Ich glaube jetzt , dass Klein der richtige Fall ist (wie in gezeigt manpages.ubuntu.com/manpages/xenial/en/man8/ufw.8.html und wiki.ubuntu.com/UncomplicatedFirewall , aber ich bin nicht in einer Bearbeitung interessiert Krieg gegen das. Zanna, bitte kehre zu Kleinbuchstaben zurück, wenn du meine Beweise
kaufst

Antworten:

21

ufw ist ein Frontend für netfilter / iptables, den Linux-Mechanismus zum Weiterleiten und Filtern des Internetverkehrs.

ufw ist völlig optional und es ist möglich, Firewall- und Routing-Tabellen direkt mit den iptables-Befehlen zu erstellen. Einige Leute bevorzugen die Syntax von ufw, was es ein bisschen einfacher machen soll.

ufw selbst ist nicht die Firewall, sondern ein Tool zum Einstellen der Konfiguration von netfilter / iptables. Es ist als Dienst registriert, da es bei jedem Systemstart ausgeführt werden muss. Ich glaube nicht, dass es im Speicher verbleibt, nachdem es diese Konfiguration vorgenommen hat. "Neustarten" des Dienstes führt einfach seine Skripte erneut aus. Es ist nicht ungewöhnlich, dass Dinge in Linux-Distributionen als Dienste registriert werden, obwohl es sich lediglich um Skripte handelt, die beim Booten oder Herunterfahren ausgeführt werden, ohne dass dazwischen ein Wohnsitz verbleibt.

Wenn Sie ufw verwenden, können Sie mit Ihren eigenen Skripten keine eigenen iptables-Regeln festlegen, da diese überschrieben werden, wenn ufw seine eigenen Regeln festlegt. Dies bedeutet auch, dass ufw mit anderen Tools in Konflikt geraten kann, die Firewall-Regeln festlegen.

Wenn sudo ufw status"inaktiv" zurückgegeben wird, bedeutet dies, dass ufw deaktiviert wurde (und beispielsweise beim Start keine Regeln erneut anwendet). Sie müssen sicherstellen, dass ufw mit aktiviert ist sudo ufw enable, aber Sie müssen auch Regeln konfigurieren, damit dies eine Bedeutung hat. Wenn Sie sicher sind, dass Sie ufw aktiviert haben, es jedoch "inaktiv" zurückgibt, liegt möglicherweise ein anderes Problem vor.

Beachten Sie, dass das Starten des Dienstes ufw nicht aktiviert, sondern lediglich das Startskript aktiviert. Wenn ufw deaktiviert ist, wenn das Startskript ausgeführt wird, wird nichts unternommen.

Anhand von iptables können Sie direkt feststellen, ob Ihre Firewall-Regeln zu einem bestimmten Zeitpunkt angewendet wurden:

sudo iptables -L
sudo ip6tables -L
thomasrutter
quelle
1
Hinweis: Ich persönlich verwende ufw nicht. Ich verwende ein Paket namens netfilter-persistent, mit dem Sie native iptables-Regeln in eine Datei schreiben und beim Booten erneut anwenden können. Beim Booten wird im Wesentlichen das getan, was ufw tut: Es wird ein Startskript ausgeführt, das die Konfiguration anwendet. Der Unterschied besteht darin, dass es nicht aus seiner eigenen vereinfachten Syntax übersetzt, sondern lediglich die iptables-Befehle direkt an iptables sendet.
Thomasrutter
Es gibt viele gute Sachen. Vielen Dank. Dazu: "Wenn Sie ufw verwenden, können Sie Ihre eigenen iptables-Regeln nicht mit Ihren eigenen Skripten festlegen, da diese überschrieben werden, wenn ufw seine eigenen festlegt." Löscht ufw aktiv alle bestehenden iptables-Regeln? Oder sagst du nur mit ufw im Bild, dass du dich nicht darauf verlassen kannst, dass iptables-Befehle / -Regeln wirksam werden, weil sie möglicherweise von ufw überschrieben werden?
Wideman
Auch zu thomas: "netfilter-persistent"> bezieht sich das auf iptables-persistent?
Wideman
Ja, so hieß es früher. Wenn Ihre Ubuntu-Version beides enthält, ist das Paket iptables-persistent wahrscheinlich nur ein Übergangspaket, um älteren Versionen einen Upgrade-Pfad zu bieten.
Thomasrutter
1
Entschuldigung, wenn ich Sie verwirrt habe, die resolv.conf zu erwähnen, habe ich nur ein Beispiel für eine andere Konfiguration in Ubuntu verwendet, die möglicherweise von einem anderen Dienst gesteuert wird, der alle Änderungen überschreibt, die Sie direkt vornehmen. Es ist nicht verbunden.
Thomasrutter