Personal Firewall für Linux? Ja, bitte!

Für einen typischen Linux-Desktoprechner in der Wohnstube ist eine Personal Firewall vollkommen überflüssig. Stimmt das wirklich?

firestarter rot ubuntu software sicherheit security rootkit linux firewall backdoor admin Der typische Endbenutzer sitzt mit seinem Linux-PC hinter einem DSL-Modem, das gleichzeitig Router und Firewall ist. Weder auf der Linuxbox (auf der kein öffentlich erreichbarer Dienst läuft), noch auf der externen Firewall ist irgendein Port von außen erreichbar. Aus diesem scheinbar sicheren Szenario wird im Netz immer mal wieder gefolgert, dass eine Firewall auf dem Desktoprechner für Linux vollkommen überflüssig sei.

In diesem Artikel möchte ich Euch erläutern, warum für mich trotzdem auf jedem frisch aufgesetzten System die Installation und Konfiguration einer persönlichen Firewall eines der ersten Dinge ist, die ich erledige, bevor ich ins Netz gehe. Nach außen geöffnet werden dabei nur die Ports, auf deren Dienste sich der Nutzer auch tatsächlich verbindet (Whitelisting von ca. 10 bis 15 Ports). Der Rest der insgesamt 65535 Ports wird dichtgemacht.

Lass mich rein, lass mich raus…

Als Paketfilter hat die Firewall im Prinzip zwei Aufgaben: Die wichtigste Aufgabe ist es, Pakete zu blockieren, die nicht explizit angefordert wurden (es sei denn, sie wären aufgrund eines laufenden Dienstes wie z.B. Apache ausdrücklich erwünscht). In diesem Szenario ist das gleichzusetzen mit allen Paketen, die von außen hinein wollen, ohne von innen angefordert zu sein (related, established). Da ja der DSL-Router alle von außen kommenden nicht angeforderten Pakete prinzipiell nicht hereinlässt und obendrauf noch nicht mal ein Dienst auf der Linuxkiste läuft, ist eine Personal Firewall aus diesem Grund tatsächlich vollkommen überflüssig.

Die zweite Aufgabe der Firewall funktioniert genau anders herum: Jeder „unerwünschte“ Verkehr, der von innen nach draußen geht, soll ebenfalls blockiert werden. Ohne Firewall ist es zunächst einmal so, dass jeder von innen initiierte Verkehr von der Linuxkiste nach draußen gelassen wird. Auch Fritzbox & Co lassen solchen Datenverkehr ungehindert nach draußen.

Damit ist diese Datenverbindung etabliert und nach dem Prinzip der stateful inspection wird auch der im Zusammenhang mit dieser nach außen gehenden Verbindung zurückfließende Datenstrom als legitim definiert. So weit nichts dramatisches. Nichts anderes passiert im Prinzip beim Aufruf einer Webseite. Die Bundesligaergebnisse werden nur hereingelassen, weil wir sie angefordert haben. Würden sie ohne Anforderung an uns gesendet, würden sie jämmerlich an der Fritzbox abperlen.

Aber ich hab doch meine Updates gemacht…

Nun wird gerne argumentiert, dass Schadsoftware bei Linux keine Chance habe, auf das System zu kommen, wenn man seine Software aus den offiziellen Paketquellen bezieht und brav seine Updates macht. Richtig ist, dass Linux im Vergleich zu Windows weit weniger für Schadsoftware anfällig ist (und nicht nur deshalb, weil es weniger verbreitet ist, wie oft behauptet wird). Trotzdem gibt es auch für Linux etliche Wege, wie Schadsoftware auf den Rechner gelangen kann. Eine Personal Firewall bietet zwar keinen garantierten Schutz gegen alle Formen von Schadsoftware (z.B. wenn sie nur auf Vernichtung von Daten ausgerichtet ist).

Gemäß ihrer Aufgabe kann sie natürlich nur Schadsoftware begegnen, die netzwerkbezogen arbeitet und z.B. versucht, sich nach außen zu verbinden, um eventuellen Schadcode nachzuladen. Und verhindern kann sie so eine Verbindung auch nur dann, wenn die Schadsoftware nicht einen der „erlaubten“ Ports (z.B. 80…) nutzt. Blockieren kann sie diesen Verkehr jedoch immerhin für die restlichen weit über 65000 gesperrten Ports. Es folgt eine kurze Betrachtung, wie solche Schadsoftware auf den Rechner gelangen kann.

Der Mythos des Software-Puritaners

Seine Software nur aus offiziellen Paketquellen zu beziehen, ist eine schöne Theorie. Ich behaupte aber mal, dass nur eine Minderheit zu solchen Software-Puritanern zählt. Viele Distros haben ja auch irgendeine Form von Community Repositories oder andere Möglichkeiten Quellen einzubinden (wie z.B. ppas bei Ubuntu oder AUR bei Arch). Nicht zu vergessen das Kompilieren, wenn es eine ganz bestimmte Software sein soll.

Die Wikis der Distros sind voll mit Beschreibungen, wie man solche Software installiert, die nur gering oder gar nicht auf Schadcode geprüft wird. Warnhinweise sind natürlich da, doch wer schaut schon immer in den Quellcode?

firestarter whitelist ubuntu software sicherheit security rootkit linux firewall backdoor admin

Firestarter: Whitelisting von ausgehendem Verkehr

2011: Jahr der kompromittierten Server

Doch sogar für die offiziellen Paketquellen sollten wir uns von der Illusion verabschieden, dass diese zu 100% gesichert sind und nie kompromittiert werden könnten. Das Jahr 2011 war gespickt mit Meldungen über gehackte Server. Auch Branchen mit hohem Sicherheitsanspruch aus dem IT- oder Bankenbereich hat es erwischt und sogar SSL-Zertifikate wurden kompromittiert. So wurde z.B. auch bei WordPress eingebrochen und ein Plugin ersetzt, das erst mal weiter munter heruntergeladen wurde, bevor das Malheur entdeckt und behoben wurde. Wer garantieren kann, dass ähnliches nicht bei der Distro seiner Wahl passieren könnte, der hebe bitte die Hand.

Ein gesundes Misstrauen ist also angebracht. Bösartigkeit von Seiten der Distros zu unterstellen käme mir nicht in den Sinn. Doch würde man wirklich die Hand dafür ins Feuer legen, dass mit dem nächsten Update nicht auch eine Backdoor an Bord geht, die versucht, sich auf Port 12345 nach boesewicht.cn zu verbinden? Bei „nicht offizieller“ Software ist diese Gefahr sogar noch größer, bei proprietärer, geschlossener Software weiß man schon gleich gar nicht, was man sich da holt.

Alles, was von innen kommt, darf raus!

Weitere Möglichkeiten möchte ich nur noch kurz anreißen: E-Mail-Anhänge (die nicht gleich offensichtlich als schädlich zu identifizieren sind), Gefahren beim Surfen (gilt auch für NoScript-Nutzer, die Skripten auf vertrauenswürdigen, aber eben kompromittierten Seiten freigeschaltet haben), Manipulation des Systems in Abwesenheit usw. usw.

Ja klar sind viele dieser Möglichkeiten eher unwahrscheinlich, aber abwegig sind sie nicht. Alle hier skizzierten Möglichkeiten sind jedenfalls weder von der externen Firewall gedeckt, noch vom Linux-System an sich. Alles was von innen kommt, darf raus und jede darauf bezogene Antwort darf zurück. Eine simple grafische Firewall wie Firestarter ist schnell installiert und konfiguriert und zeigt einem auch gleich grafisch in der Leiste an, wenn Verkehr blockiert wurde.

Vorsicht Restrisiko: Bitte anschnallen!

Ein (wahrscheinlich sicherheitsunkritisches) Beispiel der letzten Tage war die Erfahrung, dass sich meine Box während eines Videoabrufs über den Browser plötzlich auf einem hohen Port nach draußen verbinden wollte, also aktiv eine neue Verbindung starten wollte. Das war zwar nur aus Gründen des Load Balancing (so jedenfalls meine Recherche). Aber was da im Hintergrund genau passiert, weiß ich natürlich nicht. Die Firewall hat es jedenfalls blockiert und das Video konnte ich trotzdem sehen.

Eine Personal Firewall kann zwar im Vergleich zur externen DSL-Box nur eine geringe Zusatzleistung erbringen. Aber sie kann einen guten Teil eines potenziell unerwünschten Verkehrs verhindern, der von innen nach draußen geht (sollte so ein bösartiger Verkehr jemals auftreten). Kann schon sein, dass so ein Verkehr ungefähr so wahrscheinlich ist, wie ein Frontalzusammenstoß mit dem Auto. Man schnallt sich aber doch trotzdem an, obwohl man noch nie einen solchen Unfall hatte.

Davon ausgehend, dass ein frisches Linux-System ein paar Jahre am Laufen ist, und (zumindest die grafische Version) einer Firewall in kurzer Zeit aufgesetzt ist, halte ich es deshalb für richtig, eine Personal Firewall zu installieren. Vollkommen überflüssig ist sie auf jeden Fall nicht.

Comments

    1. Verstehe nur nicht, warum das nicht Open Source ist. Man kann ja quasi nicht nachvollziehen, was die „Firewall“ macht. Deshalb keine Option für mich. Überhaupt ist die Webseite sehr geizig mit Infos, wer da was macht. Man muss schon sehr vertrauensseelig sein, um das runterzuladen. Würde ich nicht empfehlen. Zu Links auf Software bitte auch die rechtlichen Hinweise beachten (Haftungsausschluss)
      http://netz10.de/disclaimernutzungsbedingungen/

Comments are closed