Linux gilt gemeinhin schon als sehr sicher. Zweifelsohne ist der Druck durch Schadsoftware viel geringer und die Gefahr, sich einfach im Betrieb „was einzufangen“ ist natürlich geringer. Zwischen den Linux-Distributionen gibt es aber Unterschiede und man kann hier individuell durchaus Verbesserungen vornehmen. Linux ist nicht gleich Linux.
1. Sichere Linux-Distribution wählen
Das ist ein Aspekt, den ich heute viel kritischer sehe (Anlass u.a.: KDE neon, Calamares – Peinliche Sicherheitsprobleme). Auch wenn alle Linux-Distributionen einige basale Sicherheitsprinzipien teilen, gibt es doch erhebliche Unterschiede. Der Punkt ist umso relevanter, da Linux-Anwender über die Paketquellen meist nahezu die komplette Software über den Distributor beziehen. Bei so manchen kleinen Hobby-Projekten darf man sich schon die Frage stellen, ob diese erstens genug Expertise haben, um hier wirklich Sicherheit zu garantieren und zweitens auch dauerhaft genug Zeit, um die Software auf hohem Niveau zu pflegen.
Das soll jetzt kein Plädoyer für ausschließlich Firmen-geführte Distributionen sein. Debian liefert hier als klassisches Community-Projekt auch gute Arbeit ab. Das soll ebenfalls kein Argument für stabile Distributionen sein, denn wenn Projekte wie Arch Linux immer ganz nah an Upstream sind, bekommen sie von dort auch immer sofort die sicherheitsrelevanten Fehlerkorrekturen.
Besonders problematisch sind jene Projekte, die Aktualisierungen – aus welchen Gründen auch immer – verzögern. Beispielsweise Linux Mint oder Manjaro. Auch Debian Testing kann hier problematisch sein. Das gilt aber auch für Distributionen, die nur einen Teil ihrer Pakete pflegen. Ich sehe hier persönlich Ubuntu immer kritischer. Die Situation in universe wird durch tendenziell rückläufige Community-Partizipation nicht besser. Natürlich wird das offen kommuniziert, aber ich möchte den Desktop sehen, der ausschließlich Pakete aus main installiert hat.
Ebenso relevant kann die Frage sein, wie viele Fremdquellen man zum Betrieb der gewünschten Software braucht. Wenn man eine Distribution nutzt, welche die erforderliche Software nicht oder nicht in der gewünschten Version ausliefert und man deshalb sein System mit zig Fremdquellen ausstattet, hat man vielleicht die falsche Distribution ausgesucht.
Ein weiterer Aspekt über den man mal nachdenken kann, sind sogenannte Reproducible Builds. Vereinfacht gesagt geht es um den Punkt: Wer garantiert dir, dass in den Binärpaketen deiner Distribution der öffentlich einsehbare Quellcode unverändert gebaut wurde.
Der Aspekt Sicherheit sollte mit bedacht werden, wenn man unter den unzähligen Distributionen seine passende Variante aussucht. Der Fokus liegt allzu oft nur auf irgendwelchen neuen Paketen oder extravaganten Paketmanagern.
2. Verschlüsselung
Wie einfach kann ich ein voll verschlüsseltes System mit meiner gewünschten Distribution umsetzen? Die Frage klingt banal, aber manche Distributionen bieten immer noch keine oder nur eine unzureichende LUKS-Verschlüsselung in ihren Installationsroutinen an. Als Standard bieten das sowieso viel zu wenige Distributoren.
Verschlüsselung wird oft noch als Feature für Paranoide abgetan, aber glaub mir, du willst deine Daten verschlüsseln. Wenn dein Notebook gestohlen wird (oder bei einem Einbruch dein Rechner) und deine Daten geraten potenziell in falsche Hände, ist das genau so ein beschissenes Gefühl, wie wenn jemand deinen Hausstand durchwühlt. So wie der Einbrecher es meist doch nur auf Wertsachen abgesehen hat, so geht es beim Notebook-Diebstahl meist um die Hardware. Die Sorge um die Dateien und die gefühlte Verletzung der Privatsphäre schwingt dennoch mit.
3. Firewall
Alte Linux-Ratgeber haben meistens einen Passus wie „Du brauchst keine Firewall“ und das Mantra tragen viele Linux-Anwender bis heute vor sich her. Distributionen wie openSUSE/SUSE Linux Enterprise oder Red Hat und Fedora liefern heute aber standardmäßig Firewalls aus. Sind die Entwickler dort einfach nur doof? Nein, natürlich nicht! Du brauchst wirklich keine Firewall, wenn du nur in deinem Keller hinter deinem Router sitzt. Aber nicht alle Linux-Nutzer gehören zu diesen lichtscheuen Wesen. Man munkelt, manche gehen raus und arbeiten mit ihren Geräten in fremden Netzen.
Hier kommt das eigene Gerät dann mit einer Vielzahl an anderen Geräten in Kontakt. Das ist natürlich kein Problem, wenn du ein perfekt gepflegtes, minimales System mit lediglich wenigen Diensten nutzt. Im Jahr 2021 unwahrscheinlich, da über Abhängigkeiten viele nicht unmittelbar benötigte Dependenzen auf dem Gerät landen. Diese Software sollte natürlich keine Sicherheitslücken aufweisen, aber wer kann das schon garantieren. Hier kann man mit einer Firewall wie ufw oder firewalld einfach für ein bisschen mehr Sicherheit sorgen.
4. AppArmor
Für Linux existieren eine ganze Reihe von Sicherheitsframeworks. Am bekanntesten dürften SELinux und AppArmor sein. SELinux ist sicher toll und Red Hat/Fedora liefern hier brauchbare Konfigurationen aus. Ich persönlich kenne aber niemanden, der das selbst auf anderen Distributionen erfolgreich und zuverlässig implementieren konnte. Wer also SELinux will, sollte direkt zu RHEL oder Fedora greifen. AppArmor ist hier viel leichter einzurichten. Distributionen wie Ubuntu (und Derivate), sowie Debian und openSUSE liefern es standardmäßig mit. Bei anderen Linux-Varianten wie Arch Linux lässt es sich mit geringem Aufwand nachträglich einrichten.
Sicherheitsframeworks wie AppArmor bieten über Profile Möglichkeiten der Zugriffskontrolle und man kann damit Programme wie z B. Firefox oder den Tor Browser in ihrem Systemzugriff stark einschränken. Nicht weil man diese Programme per se für schlecht hält (dann sollte man sie einfach nicht installieren), sondern weil sie Netzwerkzugriff haben und häufig schwerwiegende Sicherheitslücken aufweisen.
Das ist durchaus sinnvoll, da das Linux-System mit dem Sicherheitsprinzip der Zugriffsrechte etwas aus der Zeit gefallen ist. Mit AppArmor kann man Programme zusätzlich einhegen.
5. Firejail
Firejail ist eine umstrittene Lösung. Auf der einen Seite kann man damit Linux-Anwendungen quasi in ein Gefängnis stecken (ein Prinzip, das vielen heute durch Android oder iOS vertraut ist) aber auf der anderen Seite gehört Firejail in vielen Supportforen auch zu den bekannten Problemursachen.
Im Gegensatz zu AppArmor hat Firejail den Vorteil, das hier viele Profile bereits vorgefertigt durch die Community geteilt werden. Andererseits ist der Mehrwert bei einer gut gepflegten AppArmor Einrichtung überschaubar.
Deshalb sei Firejail zum Schluss dieses Artikels als Denkanstoß genannt.
Bilder: