Warum brauchen wir SELinux?

14

Ich habe nicht viel Ahnung, wo das SELinux eingesetzt wurde und was es vom Angreifer speichert. Ich habe die SELinux-Website durchgesehen und die Grundlagen gelesen, aber immer noch keine Ahnung von SELinux. Für das Linux-System, das die SSH-Shell, das Apache-Front-End, die rollenbasierte Webanwendung, MySQL DB und Memcached bereitstellt, sind fast alle Systeme kennwortgeschützt. Warum benötigen wir dann SELinux?

Krish
quelle

Antworten:

14

Sie können SELinux als eine Systemaufruf-Firewall anzeigen : Eine Richtlinie für jede Anwendung gibt an, was für die Anwendung zumutbar ist: Der Nameserver überwacht möglicherweise Port 53, bearbeitet einige Zonendateien in einem bestimmten Verzeichnis, sendet Syslog, usw. ., aber es macht keinen Sinn zu versuchen, mit Dateien in / home zu arbeiten, zum Beispiel. Die Durchsetzung einer solchen Richtlinie durch SELinux bedeutet, dass es für eine Schwäche des Nameservers viel schwieriger sein wird, sich auf andere Teile des Systems auszubreiten.

Ich finde, dass SELinux einen echten Sicherheitswert bietet. Im Laufe der Jahre ist es sicherlich einfacher geworden, damit zu arbeiten, aber es ist - leider - immer noch ein ziemlich komplexes System. Das Gute ist, dass Sie es für einige Dienste leicht ausschalten können, ohne es für das gesamte System ausschalten zu müssen. Zu viele (Junior-?) Systemadministratoren schalten SELinux auf der ganzen Linie aus, sobald sie mit einem Dienst auf das geringste Problem stoßen - anstatt es für den Dienst, der Probleme verursacht, selektiv auszuschalten.

Troels Arvin
quelle
Neugierig: "für manche Dienste einfach abschalten" wie?
Belmin Fernandez
man -k selinuxist ein guter Ort, um zu beginnen. In der Regel gibt es * _disable_trans-Sebools, mit denen SELinux für bestimmte Dienste deaktiviert werden kann.
Jgoldschrafe
2
@jgoldschrafe Und so "einfach" ist das.
Jürgen A. Erhard
1
"Es macht keinen Sinn, zu versuchen, mit Dateien in / home zu arbeiten" - und Sie können den Zugriff des DNS-Servers auf diese Dateien mit Berechtigungen nicht einschränken?
Symcbean
8

Nicht alle Sicherheitsprobleme können im Voraus vorhergesagt werden. Wenn ein Angreifer eine Schwachstelle ausnutzt, z. B. in einem httpd-Modul eines Drittanbieters, hat er Zugriff auf dieselben Dateien, die der Benutzer httpd ausführt. SELinux schränkt dies weiter ein, indem es sie auf Aktionen und Dateikontexte beschränkt, auf die ihre SELinux-Domäne Zugriff hat.

Ignacio Vazquez-Abrams
quelle
2

Ich denke, der Begriff Mandatory Access Control bringt es ganz gut auf den Punkt. SELinux bietet Ihnen ein sichereres System durch einen sichereren Kernel, was zum großen Teil auf eine MAC-Implementierung zurückzuführen ist.

user32302
quelle
2

SELinux leistet gute Arbeit, um die Komplexität eines gesamten Linux-Systems aufzudecken.
Ein interessanter Aspekt der Sicherheit ist die Frage "Was macht sie?"
Nun, wenn es funktioniert, werden Sie es vielleicht nie erfahren. Wenn Sie einen Webserver betreiben, der gerade in Betrieb war, wissen Sie möglicherweise nicht, dass einige Exploits sogar gegen Ihr System ausprobiert wurden.
Privatunternehmen kenne ich nicht. Wenn sie die Integrität benötigen, die SELinux mitbringt, sollten sie dies tun.
Was die Regierung betrifft, so gibt es öffentliche Quellen (Auflistung von Regierungsprojekten und dergleichen), die darauf hindeuten, dass MAC verwendet wird, und dies ist sehr wahrscheinlich. Regierungssysteme müssen abhängig von der Bereitstellung und den Informationen, die ein System enthält, bestimmte Kriterien erfüllen, bevor sie verwendet werden können.
Letztendlich ist Sicherheit wirklich Risikomanagement und die Auswahl des richtigen Aufwands.
Sicherheit ist auch eine ständige Anstrengung, nicht etwas, das Sie nur einschalten.

Ansari
quelle