Gibt es objektbasierte Linux-Firewalls mit gepflegten Diensten, etc.?

SirMaoh

Cadet 4th Year
Registriert
Aug. 2021
Beiträge
77
Hallo zusammen :)

Da mir als Linux-Neuling Fedora derzeit außerordentlich gut gefällt, steht bald das Thema Firewall bei mir auf dem Zettel. Außer dass Fedora anscheinend "Firewalld" nutzt, habe ich mich hiermit noch nicht weiter befasst. Ich hätte vorab jedoch ein paar generelle Fragen zum Thema Linux-Firewall:
  1. Ist man mit Fedora automatisch an "Firewalld" gebunden, oder könnte man auch andere Firewalls nutzen?
  2. Gibt es Software-Firewalls unter Linux, die "Objekt-basiert" arbeiten? (IPs, IP-Ranges, Ports, etc. als Objekte anlegen, wie bei Business Hardware-Firewalls mittlerweile üblich)
  3. Gibt es Firewalls die von Haus aus gepflegte Port-Listen mitbringen? ("DNS" statt "Port 53", "HTTP" statt "Port 80", etc.)
  4. Gibt es Firewalls die von Haus aus gepflegte Dienste / Services mitbringen? (MS Teams, MS OneDrive, Youtube, Amazon AWS, etc.)
  5. Ist man bei Linux-Firewalls immer im Terminal unterwegs, oder gibt es dafür auch ein GUI?
 
Also kurz: Ja

1. Nein, keine Bindung abgesehn von deinen OS KungFu künsten.
2. KA - https://firewalld.org/2020/09/policy-objects-introduction
3. Ja, hab das letztens auf einem Debian gesehn, müsst nochmal schaun welche das war (UFW, FWD?).
4. Ja, aber eher andere Services Nginx, Nextcloud, Matrix, Stun, - unterschied zu 3?
5. Gibt Guis, Web-Guis, Terminal ist aber relativ zielgenau ohne erstmal eine einstellung zu suchen
zb: https://fedoramagazine.org/managing-network-interfaces-and-firewalld-in-cockpit/
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: SirMaoh und AlphaKaninchen
SirMaoh schrieb:
Ist man mit Fedora automatisch an "Firewalld" gebunden, oder könnte man auch andere Firewalls nutzen?
Nein ist man nicht. Man kann auch andere verwenden, ich empfehle hier UFW.
SirMaoh schrieb:
Gibt es Software-Firewalls unter Linux, die "Objekt-basiert" arbeiten? (IPs, IP-Ranges, Ports, etc. als Objekte anlegen, wie bei Business Hardware-Firewalls mittlerweile üblich)

Was meinst du damit genau. Also Ranges sind kein Problem - der Syntax wäre z.b. so:

Bash:
ufw allow from AAA.BBB.CCC.DDD/EE to any port 11200:11299 proto tcp
ufw allow from AAA.BBB.CCC.DDD/EE to any port 11200:11299 proto udp

SirMaoh schrieb:
Gibt es Firewalls die von Haus aus gepflegte Port-Listen mitbringen? ("DNS" statt "Port 53", "HTTP" statt "Port 80", etc.)
Ja. Ufw macht das. wenn du z.b http bzw port 80 erlauben willst kannst du entweder:

Bash:
sudo ufw allow http


#oder


sudo ufw allow 80

Das gleiche geht mit "sudo ufw allow ssh" statt "sudo ufwa allow 22", oder "sudo uf allow https", etc.

SirMaoh schrieb:
Gibt es Firewalls die von Haus aus gepflegte Dienste / Services mitbringen? (MS Teams, MS OneDrive, Youtube, Amazon AWS, etc.)
Auch das kann UFW, die Liste ist aber noch ziemlich kurz:

Die Liste kannst du einsehen mit "sudo ufw app list", mit "sudo ufw allow APPNAME" wird dann alles freigegeben was die App/Service braucht.

SirMaoh schrieb:
Ist man bei Linux-Firewalls immer im Terminal unterwegs, oder gibt es dafür auch ein GUI?
Terminal hat halt mehr funktionen. Aber es gibt zu UFW auch eine GUI. https://github.com/costales/gufw

Gerade wenn es um Ranges, etc geht, wird dir die GUI aber keinen Spass machen.
 
Was ist dein Ziel? Willst du "nur" Linux Lernen oder willst du eine produktive Firewall installieren? Es gibt extra dafür bestimmte Betriebssysteme... pfSense, OpnSense...
 
SirMaoh schrieb:
  1. Gibt es Firewalls die von Haus aus gepflegte Dienste / Services mitbringen? (MS Teams, MS OneDrive, Youtube, Amazon AWS, etc.)
Das läuft doch sowieso alles über https mit Port 443.
 
Vielen lieben Dank schon einmal für die vielen Antworten und Empfehlungen, ich werde mir die nächsten Tage alle Vorschläge etwas genauer anschauen :) Es ist schön zu wissen, dass man firewalltechnisch unter Linux nicht an bestimmte Firewalls gebunden ist.

gaym0r schrieb:
Was ist dein Ziel? Willst du "nur" Linux Lernen oder willst du eine produktive Firewall installieren? Es gibt extra dafür bestimmte Betriebssysteme... pfSense, OpnSense...
Da ich beruflich den Funktionsumfang von aktuellen Business- / Hardwarefirewalls gewohnt bin, versuche ich hier nur herauszufinden, ob es für Linux ähnlich "bequeme" Client-Firewall gibt. Außer sie an meinem Privatrechner im "simulierten Tagesgeschäft" zu testen, gibt es hier keine Anforderung.

Krakadil schrieb:
Das sieht sehr interessant aus, werde ich mir auch genauer ansehen, vielen Dank! :)

foofoobar schrieb:
Das läuft doch sowieso alles über https mit Port 443.
Ja, ein großer Teil läuft über Port 443, aber eben nicht alles. Außerdem setzt man in einer vernünftigen Firewall-Regel ja nicht nur den Port, sondern auch das Ziel - und gerade das ist bei größeren Diensten wie MS Teams, OneDrive etc. ein gigantischer Krampf, wenn man das von Hand machen muss ;) Damit in Teams verschickte Bilder angezeigt werden, muss z.B. der Zugriff auf Sharepoint aus der O365 Cloud separat freigegeben werden, etc.
 
SirMaoh schrieb:
Da ich beruflich den Funktionsumfang von aktuellen Business- / Hardwarefirewalls gewohnt bin
Das sind dann eh pfSense/OpnSense gleich als OS auf Enterprise Level - die sind direkt mit Cisco/Fortigate oder whatever vergleichbar und Linux-Basiert. Gibts auch als eigene Appliances: https://www.amazon.de/s?k=opnsense oder https://shop.opnsense.com/ Auch das Web-GUI sollte halbwegs vertraut aussehen.
 
SirMaoh schrieb:
Ja, ein großer Teil läuft über Port 443, aber eben nicht alles. Außerdem setzt man in einer vernünftigen Firewall-Regel ja nicht nur den Port, sondern auch das Ziel - und gerade das ist bei größeren Diensten wie MS Teams, OneDrive etc. ein gigantischer Krampf, wenn man das von Hand machen muss ;) Damit in Teams verschickte Bilder angezeigt werden, muss z.B. der Zugriff auf Sharepoint aus der O365 Cloud separat freigegeben werden, etc.
Ich würde derartiges am besten gleich komplett vergessen, dafür sind die heutigen Umfelder einfach zu dynamisch, selbst wenn man das AS vom Ziel komplett freigibt deckt man damit den Fall das Ressourcen in Fremdclouds oder CDNs liegen nicht ab. Solchen Anforderungen kommt man mit Filterung auf Basis von DNS eher näher.
 
Streng genommen gibt es nur eine etwas größere Auswahl der Frontends. Im Hintergrund bedienen sie entweder iptables, oder neuerdings nftables. Die erwähnten pfSense/OpnSense Firewalls sind auch keine Linux Firewalls, sondern basieren auf BSD, nur fürs Verständnis.
Wenn ich jetzt schon ein System wie fedora habe, würde ich persönlich nicht mit UFW anfangen. firewalld ist bestimmt nicht viel schwerer, kann mehr und ist das bevorzugte Frontend für rhel basierte System.

Es lohnt sich durchaus auch einen Blick direkt auf iptables, oder besser noch nftables. Damit hat man wirklich volle Kontrolle.

Ansonsten hieß es in der Linux Welt auch mal, dass man auf einem gut konfigurierten System keine Firewall braucht. In der Regel sollte dort nur Dienste laufen, die auf irgendwelchen Ports lauschen, die man explizit haben möchte. Ob das heute noch so gültig ist, sei dahin gestellt.
 
  • Gefällt mir
Reaktionen: Pummeluff und gaym0r
BSD für Netzwerkaufgaben scheint auch sinnvoll, da es flotter läuft und mehr load auf die Reihe kriegt. Als Linux-Basierte Alternative gibts zb https://vyos.io/, da ist die CLI Juniper kompatibel.
 
Auf meinen Desktoprechnern hab ich bis heute nie eine Firewall laufen.

Im Unternehmen nutzen wir im Intranet plain iptables. Wir blocken auch nur die eingehenden Anfragen, nicht die ausgehenden.

Auf meinem V-Server hab ich zuerst mit ufw angefangen. War mir allerdings zu umständlich, als ich nicht nur simple Ports freigeben wollte. Bin auch an irgendeinem speziellen Problem gescheitert (IPv6?), an das ich mich jetzt nicht mehr erinner. Das Ergebnis von ufw ist übrigens auch wieder nur eine Menge an iptables-Regeln.

Ich hab mich dann mal hingesetzt und mich in nftables eingearbeitet. Da wird man aber relativ schnell erschlagen von der Komplexität. Besser fängt man einfach mal mit einer vorgefertigten Konfiguration an und ändert die dann schrittweise. Dann ist nftables erstaunlich simpel.

Beim RHCE hab ich mich in Firewalld einarbeiten müssen. Wenn man das 'ne Weile geübt hat, ist das auch ganz nett. Allerdings hat Firewalld dasselbe Problem wie der Networkmanager (nmcli). Man hat keine kleine Config-Datei, die man editiert sondern muss alles per Befehl (oder GUI) konfigurieren. Das ist schlecht, wenn man Konfigurationen automatisiert verteilen will. Zwar legt Firewalld die Konfiguration in XML-Dateien ab. Aber wirklich brauchbar war das auch nicht. Firewalld ist übrigens auch nur ein Frontend für iptables.

Und Suse hat natürlich noch die SuseFirewall2, die aber auch wieder nur ein Frontend für IPTables ist.

Um nochmal wieder auf den Anfang zurückzukommen, meine Empfehlungen:
  • Auf Desktoprechnern im LAN würde ich keine lokale Firewall nutzen. Halte ich für überflüssig.
  • Sollen bösartige Anfragen (Teams, Onedrive, Edge Phishing Protection, Endpoint Protection) kontrolliert bzw. geblockt werden, würde ich den Rechner hinter eine PFSense/OpenSense (keine Erfahrung damit) oder gleich ganz in ein isoliertes Netzwerk stecken. Der Punkt hat jetzt aber eigentlich nichts mit Fedora & Co. zu tun.
  • In allen anderen Fällen (öffentlich zugänglicher Server) würde ich mich in nftables einarbeiten.
  • Die ganzen Frontends (UFW, Suse, Firewalld) basteln ein riesiges Paket an Regeln, bei dem man eigentlich nur sehr mühselig durchblickt.
 
  • Gefällt mir
Reaktionen: jb_alvarado und netzgestaltung
Pummeluff schrieb:
Auf Desktoprechnern im LAN würde ich keine lokale Firewall nutzen. Halte ich für überflüssig.
Außer im Netzwerk gibts nicht vertrauenswürdige Geräte, von PS, Switch, Xbox bis unkontrollierte Androids und dergleichen oder gar Windows Rechnern sowie Smart-Home-Dingens.
 
foofoobar schrieb:
Das läuft doch sowieso alles über https mit Port 443.
Und trotzdem koennen die dicken Next Gen Firewalls den Traffic klassifizieren, auch ohne SSL-Inspection.
Das Thema hatte ich erst letzte Woche noch mit dem Firewall Kollegen, wo die Firewall MS-Teams erkannt und geblockt hatte. Wohl anhand der Ziel IPs, bei denen bekannt und dokumentiert ist, das diese zu MS-Teams gehoeren.
So kann der Firewalladmin dann auf Applikationsebene agieren und muss sich halt eben nicht selber um die ganzen Zieladressen kuemmern.

Das Problem ist: Dieses Feature lassen sich die Firewallhersteller sehr gut bezahlen, und es muss ja auch irgendjemand die Arbeit machen diese Listen zu pflegen, und wichtiger, sie bei Aenderungen auch schnell zu pflegen.
Grade bei letzterem waere ich bei kostenlosen Anbietern skeptisch, ob die Listen auch wirklich immer aktuell sind. Denn sind sie es nicht hat man vermutlich mehr Arbeit damit, als es dann doch manuell zu machen :D
 
Ranayna schrieb:
Und trotzdem koennen die dicken Next Gen Firewalls den Traffic klassifizieren, auch ohne SSL-Inspection.
Möglicherweise checken diese Büchsen das SNI-Feld.

Da kann man bestimmt lustige Spielchen mit diesen Büchsen spielen wenn man die SNI-Daten auf mehrere Pakete verteilt und zusätzlich noch die Reihenfolge der Pakete tauscht oder mit der Längenangabe spielt.
Insbesondere die ganz teuren Superfirewalls mit irgendwelchen WunderAsics verkacken solche Spielchen regelmäßig.

Kurzes googlen spuckt da auch was für Linux aus, aber ob das noch per GUI zu befummeln ist wage ich zu bezweifeln. Allerdings kann das alles auch ein ganz gewöhnlicher Squid schon seit Jahrzehnten.
 
netzgestaltung schrieb:
Außer im Netzwerk gibts nicht vertrauenswürdige Geräte, von PS, Switch, Xbox bis unkontrollierte Androids und dergleichen oder gar Windows Rechnern sowie Smart-Home-Dingens.

Fast Standard bei fedora:

Bash:
sudo netstat -tulpn | grep "0 0.0.0.0"
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      951/systemd-resolve
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      1822/smbd           
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      1822/smbd           
tcp        0      0 0.0.0.0:35587           0.0.0.0:*               LISTEN      1829/ecbd           
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1025/avahi-daemon: 
udp        0      0 0.0.0.0:5355            0.0.0.0:*                           951/systemd-resolve
udp        0      0 0.0.0.0:67              0.0.0.0:*                           2044/dnsmasq       
udp        0      0 0.0.0.0:33246           0.0.0.0:*                           1025/avahi-daemon:

Viel zum schützten vor den Bösen im Netzwerk gibt es da nicht.
 
jb_alvarado schrieb:
Viel zum schützten vor den Bösen im Netzwerk gibt es da nicht.
Kommt ja immer ein wenig darauf an, wie die Dienste konfiguriert sind und welche da ggf. noch drauf laufen (man kann ja nicht nur von sich ausgehen).
Mal davon ab, das man sich überlegen kann die angesprochenen Gerätschaften gleich in ein eigenes Sub-Netz oder gar VLAN zu verfrachten.
 
@andy_m4, hast natürlich recht.

Wenn man von Windows kommt ist man ja erst mal gewohnt, dass man eine Firewall hat und dass das was "sehr wichtiges" ist. Warum das überhaupt so ist, darüber macht man sich erst mal keine Gedanken.

Wenn man mal drüber nachdenkt ist das doch schon lustig (ich übertreibe jetzt mal bisschen): Microsoft entwickelt ein Betriebssystem wo 1000 Ports offen und dann setzten sie eine Firewall davor, die den Zugriff darauf hindert. Warum überhaupt so viele Programme laufen müssen die offene Ports haben, darüber denkt man als User gar nicht nach.

Wenn ich so zu Linux wechsel und diese Gewohnheit beibehalten möchte, dann ist es ok wieder eine Firewall zu installieren.

Wenn man etwas tiefer in die Linux Welt eintauchen möchte, sollte man schon dafür auch ein Bewusstsein entwickeln. Wenn ich keine Dateifreigabe haben möchte, lasse ich auch keinen Samba laufen. Wenn ich Nginx nur zum Entwickeln brauche, lasse ich es so wie MariaDB/Postgres nur auf 127.0.0.1 lauschen, etc.

Der Trend geht schon klar dahin, dem Nutzer eine vorkonfigurierte Firewall zu aktivieren, verstehe ich auch.
 
jb_alvarado schrieb:
Microsoft entwickelt ein Betriebssystem wo 1000 Ports offen und dann setzten sie eine Firewall davor, die den Zugriff darauf hindert. Warum überhaupt so viele Programme laufen müssen die offene Ports haben, darüber denkt man als User gar nicht nach.
Naja. Die haben ja auch irgendwo in bestimmten Situationen eine berechtigte Funktion. Und in einem - insbesondere administrierten - LAN ist das ja auch erst mal kein großes Problem.
Da eine Firewall bzw. Portfilter drüber zu legen ist halt ne Methode, wie man unkompliziert bestimmte Szenarien abdecken kann. So diese ganzen Geschichten öffentliches Netzwerk vs. privates Netzwerk. Sprich das man im Firmennetz dann halt gut vernetzt ist, aber im Hotel-WLAN keiner drauf zugreifen kann.

jb_alvarado schrieb:
Der Trend geht schon klar dahin, dem Nutzer eine vorkonfigurierte Firewall zu aktivieren, verstehe ich auch.
Ja. Es macht Sachen unkomplizierter und ist halt auch eine Art Default-Security. Sprich selbst wenn ich ein Port aufmache (was ja auch ungewollt passieren kann), führt das nicht gleich dazu das der von außen ansprechbar ist. Ich muss noch einen expliziten Schritt machen, um den quasi freizuschalten. Wenn man so will eine Art "Sind Sie sicher?"-Abfrage. :-)
 
  • Gefällt mir
Reaktionen: jb_alvarado
Zurück
Oben