Das Ergebnis ist eine Firewall, die alle Verbindungsversuche von außen blockiert aber für lokale Programme ist die Kommunikation nach außen ermöglicht. Für viele Anwender ist das wahrscheinlich schon ausreichend. Anpassungen sind möglich.
Man kann einzelne Dienste freischalten, die von außen erreichbar sein sollen:
> sudo ufw allow ssh Das Löschen der Freigabe erfolgt, indem man ein "delete" einfügt: > sudo ufw delete allow ssh Die Liste der vordefinierten Dienste kann man sich mit folgendem Kommando anschauen: > sudo ufw app list Wenn keine passenden vordefinierten Dienste vorhanden sind, kann man auch Ports angeben. Für den I2P Router kann man beispw. den Port 8888 freischalten: > sudo ufw allow port 8888 Man kann einzelne Dienst wie CUPS (Port: 631) nur für das lokale Netzwerk freigeben: > sudo ufw allow proto tcp port 631 from 192.168.1.0/24 Man kann ausgehende Protokolle sperren, die man nicht nutzen möchte: > sudo ufw reject out telnet comment "Telnet ist unverschlüsselt" Oder man könnte auch sehr restriktiv vorgehen, standardmäßig alle ausgehenden Dienste sperren und dann nur für einzelne Protokolle die Kommunikation nach außen erlauben: > sudo ufw default reject outgoingDen DNS Traffic sollte man nicht vergessen. Es können mehrere DNS Server angegeben werden.
Hinweis: Wenn man auch den HTTP Traffic blockiert und nur HTTPS erlauben möchte, dann sollte man im Browser den HTTPS-only-Mode aktivieren und die Validierung von TLS-Zertifikaten via OCSP-Server deaktivieren.
Bei RHEL und Fedora wird standardmäßig der "firewalld" installiert und kann als Systemdienst wie üblich gestartet, gestoppt, aktiviert und deaktiviert werden: > sudo systemctl start|stop|enable|disable firewalld
"firewalld" unterscheidet zwischen verschiedenen Zonen. Den Zonen werden Netzwerkschnittstellen zugeordnet (ein Thema für IP-Profis). Standardmäßig gehören alle Netzwerkinterfaces zur Zone "public" und alle Kommandos ohne Angaben einer Zone werden auf "public" angewendet.
Die Standardkonfiguration für die Zone "public" ist, dass alles blockiert wird, was von draußen rein will. Freigaben für bestimmte Services und Ports sind aber konfigurierbar.
Die Standardkonfiguration für die Zone "Fedora Workstation" erlaubt eingehende Verbindungen von außen auf den nicht-priveligierten Ports > 1024. (Muss man selbst korrigieren.)
"firewalld" unterscheidet zwischen einer temporären Runtime Konfiguration und einer permanenten Konfiguration. In der Runtime Konfiguration kann man die Firewall konfigurieren und testen.
Standardmäßig dürfen alle Programme die Firewallregeln ändern, die mit root Rechten laufen. Für Heimanwender ist das Ok. Für hohe Sicherheitsanforderungen kann man den Lockdown Mode aktivieren. Dann dürfen nur Programme aus einer Whitelist die Firewallregeln modifizieren. Wenn die Whitelist leer ist, können keine Veränderungen an der Firewall vorgenommen werden.
Es gibt mit "fireall-config" auch ein GUI für Konfiguration:
QubesOS enthält standardmäßig eine Firewall, die in einer eigenen VM läuft. In der Default Konfiguration können die Dienste in den Arbeits-VMs nicht erreicht werden aber aus den Arbeits-VMs heraus sind alle Verbindungen möglich.
In den Einstellungen zu jeder einzelnen VM kann man den Datenverkehr komplett blockieren, indem man Networking deaktiviert. Außerdem kann man restriktive Firewall Einstellungen anwenden, indem man nur für bestimmte Protokolle ausgehende Verbindungen zulässt.