SELinux/de

From Gentoo Wiki
Jump to: navigation, search


SELinux ist ein Mandatory Access Control System (MAC) (eine zwingend erforderliche Zugriffskontrolle), das einen fein-gradigen Zugriffskontrollmechanismus anbietet und es dem Sicherheitsadministrator ermöglicht, genau zu definieren, was ein Benutzer tun kann bzw. nicht tun kann. Im Gegensatz zu dem Standard Discretionary Access Control (DAC) (eine benutzerbestimmbare Zugriffskontrolle), welches in heutigen Linux Systemen zur Anwendung kommt, ist ein Mandatory Access Control System vollständig durch eine sogenannte Security Policy (eine Sicherheitsrichtlinie) bestimmt. Dies bedeutet, dass im Gegensatz zum DAC, wo ein Benutzer immer noch unerlaubt Dateien teilen oder überschreiben, etc., dies bei MAC vollständig über eine Richtlinie unterbunden werden kann.

Mit SELinux, welches parallel zum DAC benutzt werden kann (das DAC System wird zuerst überprüft, und nur wenn dies eine Aktivität erlaubt, wird SELinux gefragt), laufen Prozesse innerhalb sogenannter "domains" (Domänen). Privilegien bzw. Zugriffsrechte sind dann über Domänen definiert und erlauben die Interaktionen mit anderen Ressourcen (wie zum Beispiel Prozessen, andere Domänen, Dateien, Sockets, Ressourcen, Dateikontexte, Semaphoren, Nachrichten, etc.).

Gentoo Unterstützung

Im Gentoo Projekt wird SELinux über das Gentoo Hardened Projekt unterstützt. Allerdings ist kein "hardened profile" erforderlich, man kann also SELinux aktivieren, ohne die "hardened toolchain" zu benutzen.

Gentoo Hardened SELinux Referenzen

Nachfolgend eine Liste mit weiterführenden Informationen bzgl. SELinux und möglicher Unterstützung für Benutzer und Entwickler. Diese Quellen werden auch von dem Gentoo Hardened Projekt verwaltet.

In dem Fall, dass Sie daran interessiert sind, sich an der SELinux Unterstützung im Gentoo Hardened zu beteiligen, existiert auch eine Entwickler-spezifische Dokumentation:

SELinux Richtlinien Module (Policy Modules)

SELinux benutzt einen modularen Ansatz für seine Richtlinien. Kernprivilegien befinden sich in der "base" Richtlinie; zusätzliche Privilegien sind in SELinux Modulen definiert. Man kann die momentan geladenen SELinux Module mit dem Befehl semodule -l auflisten. Da ein Policy Modul aus Definitionen (die zugrunde liegende Domäne, welche Ressourcen sind wie benannt), Privilegien (welche Interaktionen sind erlaubt), optionale Privilegien (welche durch SELinux Booleans angestoßen werden) und Weiterem besteht, gibt es manchmal ein umfangreicheres Dokument, dass die Spezifikation dieses Moduls auflistet.

Nachfolgend eine Liste mit dokumentierten Modulen:

  • apache ein Modul für Web Server wie Apache oder Lighttpd
  • bind ein Modul für named domain server
  • chromium ein Modul für den Chromium Browser
  • cron ein Modul für verschiedene cron daemons (zum Beispiel vixie-cron)
  • ldap ein Modul für OpenLDAP
  • portage Ein Modul für Gentoo Portage und Portage zugehörige Tools (gcc-config, eselect, ...)