Es gibt sicherheitsorientierte Linux Distributionen wie RHEL oder QubesOS, die standardmäßig eine Firewall und ein GUI zur Konfiguration installieren, welche erstmal alle Verbindungsversuche von außen blockiert. Viele Mainstream Distributionen wie Ubuntu(s), Linux Mint, ARCH Linux oder Manjaro/KDE verzichten bei der Standardinstallation auf eine Firewall oder aktivieren sie nicht automatisch nach der Installation.
Uncomplicated Firewall (UFW)
UFW ist eine einfach zu konfigurierende Firewall für Debian, Ubuntu(s), Linux Mint, ARCH Linux oder Manjaro, die man schnell installieren und in Betrieb nehmen kann. Linux Mint und Manjaro installieren die Firewall standardmäßig aber aktivieren sie nicht automatisch. In Debian und den Ubuntu(s) erledigt man die Installation mit einem Kommando:
> sudo apt install ufw
Nachdem UFW installiert wurde, muss man die Firewall noch aktivieren:
> sudo ufw enable
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 8888
Man kann einzelne Dienst wie CUPS (Port: 631) nur für das lokale Netzwerk freigeben:
> sudo ufw proto tcp allow 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 outgoing
> sudo ufw allow out http
> sudo ufw allow out https
...
> sudo ufw allow out dns to <ROUTER-IP>
Den DNS Traffic sollte man nicht vergessen. Road Warrior sollten auf die IP des Routers in der DNS Regel verzichten, wenn sie unterschiedliche Netze nutzen.
Den Status der Firewall kann man mit folgendem Kommando prüfen:
> sudo ufw status verbose
Und wenn man noch einmal ganz von vorn anfangen will:
> sudo ufw reset
Es gibt ein grafisches Frontend GUFW, dass man mit dem bevorzugten Paketmanager installiert, wenn es noch nicht vorhanden ist, unter Debian/Ubuntu mit:
> sudo apt install gufw
GUFW kann mehrere Profile verwalten, wenn man auf dem Laptop zuhause andere Einstellungen verwenden möchte als unterwegs. Das Hinzufügen von Regeln ist einfach möglich, auch wenn die Regeln ein bisschen komplizierter sind.
RHEL Firewall
Bei RHEL wird standardmäßig der
"firewalld" und ein GUI zur Verwaltung der Firewall Regeln installiert.
"firewalld" unterscheidet zwischen einer temorären Runtime Konfiguration und einer permanenten Konfiguration. Wenn man Regeln dauerhaft speichern möchte, dann darf man nicht vergessen, auf die permanente Konfiguration umzuschalten.
"firewalld" unterscheidet zwischen verschiedenen Zonen, für die unterschiedliche Firewallregeln gelten können. Für jede Netzwerkschnittstelle kann festgelegt werden, welcher Zone sie zugeordnet ist. Es ist ein Tool, das sich gut für komplexe Server Architekturen eignet.
Die
"firewalld" Konfiguration in
Fedora erlaubt standardmäßig eingehende Verbindungen von außen auf den nicht-priveligierten Ports > 1024. (Muss man selbst korrigieren.)
QubesOS Firewall
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.
Hinweis: Bei der Angabe von DNS Namen in Firewall Regeln werde diese einmalig beim Start der Firewall in IP-Adressen umgewandelt und es werden die IP-Adressen in den aktiven Regeln verwendet. Das funktioniert zwar, ist aber suboptimal. Man könnte die IP-Adressen selbst ermitteln und in den Firewall Regeln eintragen, wenn die Adressen stabil sind.