Sergey Nivens - Fotolia

Wie schützt man Linux-Systeme vor unerwünschten Änderungen?

Die Zugriffsrechte Lesen, Schreiben und Ausführen reichen nicht mehr aus, um moderne Linux-Systeme zu schützen. Deswegen kommen immer häufiger AppArmor und SELinux zum Einsatz.

Linux verfügt über ein Security-Framework mit mehreren Ebenen, so dass es schwierig sein kann, den Überblick über zugewiesene Rechte und Privilegien zu behalten. Nutzerbasierte Profile und Whitelisting erleichtern eine Kontrolle der Zugriffe auf das gesamte System und sorgen beim Admin für einen ruhigen Schlaf.

Seit dem Debüt von Linux im Jahr 1992 verfügen Admins über ein freies, Unix-artiges Betriebssystem, das sie in ihren Rechenzentren und für ihre allgemeinen IT-Bedürfnisse einsetzen können. Aufgrund seiner Unix-Wurzeln basiert Linux jedoch nicht auf einem einheitlichen Fundament, sondern auf unterschiedlichen Ebenen, die im Laufe der Zeit immer weiterentwickelt wurden.

Das führt dazu, dass sich jeder Admin mit den hoch konfigurierbaren Sicherheitsfunktionen von Linux auseinandersetzen sollte, der Linux einsetzen will. Eine durchdachte Verwaltung der Zugriffsrechte und zusätzliche Security-Module wie AppArmor und SELinux (Security-Enhanced Linux) ermöglichen ihnen, eine sichere Umgebung einzurichten.

Sicherheit in Ebenen

Der Kernel-Space ist der Bereich, in dem ein voller und unlimitierter Zugriff auf die gesamte Hardware und die verwendeten Geräte gegeben ist. Andere Sicherheitssysteme haben deswegen keinen direkten Zugriff auf den Kernel-Space. Der Zugriff auf die verschiedenen Layer des Kernels ist Root vorbehalten. Das bedeutet aber nicht, dass der Root-Nutzer unter Linux ein Admin mit unendlich vielen Rechten und Möglichkeiten ist. Der Root-Account hat trotzdem Zugriff auf den Kernel-Space und wird deswegen in der Regel mit einem sehr komplexen Passwort geschützt.

Berechtigungen legen fest, wie Admins auf Dateien zugreifen können. Aber sie dienen nicht dazu, festzulegen, wie er das gesamte System nutzen darf. Das Rechtesystem unter Linux gilt auch für IT-Admins, die weder Root noch normale Linux-Nutzer sind.

Ursprünglich gab es nur drei Rechte unter Linux: Lesen, Schreiben und Ausführen. Administratoren können diese Rechte an andere Admins vergeben, an Gruppen sowie an einzelne Nutzer. Die IT-Bedürfnisse haben sich aber weiterentwickelt, so dass sich dieses Rechtesystems als zu begrenzt erwiesen hat. Die Linux-Entwickler haben deswegen mit einem weiteren Set an Zugriffsrechten reagiert, die sich für fortgeschrittene Nutzungsfälle eignen. Dieses Set enthält verschiedene Kombinationen der ursprünglichen Rechte Lesen, Schreiben und Ausführen.

So haben die Entwickler Access Control Lists (ACLs) zum Betriebssystem hinzugefügt, mit denen sich Zugriffs-Level für einzelne Nutzer oder Dateien definieren lassen. Ein System-Administrator kann diese individuellen Rechte mit den Befehlen chmod und chown festlegen.

Dazu kommt, dass manche IT-Admins und Power-User einen vollen Zugriff auf die Bash benötigen. Diese Eingabeoberfläche bietet einen umfangreichen Zugriff auf das gesamte Betriebssystem. Hierbei sollte jedoch vorsichtig vorgegangen werden, da Eindringlinge sich durch Schwachstellen im System Zugang zu diesen Shells verschaffen können. Plugging-fähige Authentifikations-Module ermöglichen es Admins, den Anmeldeprozess genau zu kontrollieren und festzulegen, welche Kommandos ausgeführt werden dürfen.

Wie sich weitere Security-Funktionen unter Linux nutzen lassen

IT-Admins können relativ leicht eine sichere und vor Angriffen geschützte Linux-Umgebung einrichten. Ein starkes Security-Framework hängt jedoch von vielen miteinander verbundenen Systemen ab. Ein maßgeschneidertes System kann funktionieren. Gleichzeitig erhöht es jedoch das Risiko von zum Beispiel Verbindungsproblemen zwischen verschiedenen Systemen. Aus diesem Grund wurde der Linux-Kernel 1998 um zwei Security-Module erweitert: AppArmor und SELinux.

Das wichtigste Prinzip von AppArmor und SELinux ist, dass jede Aktion verweigert wird, außer sie wurde explizit erlaubt. SELinux ist dabei weiterverbreitet als AppArmor. Beide Kernel-Erweiterungen erlauben es einem Admin, die Funktionen und Zugriffsrechte auf Basis von spezifischen Rechten und Bedürfnissen zu definieren.

Der Code von SELinux enthält Regeln für das Ausführen zugelassener Operationen und für das Unterbinden nicht freigegebener Aktionen. AppArmor nutzt dagegen für jedes Programm extra zugeschnittene Profile, die Rechte wie einen Zugriff auf das Netzwerk oder das Lesen und Schreiben sowie Ausführen von Dateien festlegen.

Folgen Sie SearchSecurity.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

SELinux-Richtlinien im Griff behalten

Linux-Server nach der Installation härten

Log-Management unter Linux

Erfahren Sie mehr über IT-Sicherheits-Management