Einführung in SELinux
Aus Fedorawiki.de
Red Hat und die NSA sind die Hauptträger der Entwicklung von SELinux. SELinux (Security-Enhanced Linux) ist eine Kernel-Erweiterung, die den Versuch darstellt, das von der NSA entwickelte Flask-Konzept (Flux Advanced Security Kernel) umzusetzen. Die Zugriffskontrollen basieren auf dem System des Mandatory Access Control, welches ein Konzept für die Kontrolle und Durchsetzung von Zugriffsrechten auf IT-Systeme bietet.
SELinux besteht aus einem Kernel-Patch und einer Vielzahl von Erweiterungen für Systemprogramme. Für das Festlegen von Regeln gibt es sogenannte Policies.
Grundlegende Begriffe
Ähnlich wie ein einfacher Satz ist auch das Grundprinzip von SELinux zu verstehen, es besteht aus Subjekt, Objekt und einer oder mehrerer Aktion(en).
Als Subjekte werden die ausführenden Teile eines Computersystems bezeichnet. Damit ist jedoch nicht unbedingt der Nutzer gemeint, sondern eher die Prozesse welche dieser anstößt.
In SELinux arbeiten die Subjekte an Objekten. Objekte sind hier alle Dinge, die wir in irgendeiner Form auf dem Computer "sehen" können, u.a. Verzeichnisse, Dateien, Links oder auch Prozesse selbst.
| |
Anmerkung: Ein Prozess kann im Zusammenhang mit SELinux sowohl als Subjekt, als auch als ein Objekt betrachtet werden. |
Als Aktion wird eine Operation bezeichnet, welche von einem Subjekt an einem Objekt ausgeführt wird. Dies sind u.a. Lesen, Schreiben, Ausführen usw..
Die Frage, welche SELinux bei einer solchen Operation stellt, lautet: Ist Prozess 1234 berechtigt, die Datei /etc/fstab zu lesen?
Die Entscheidung darüber wird mit Hilfe der SELinux-Datenbank getroffen, in welcher die Regeln in Form von Policies abgelegt sind.