Getestet auf
Debian (Lenny, Squeeze)
Hintergrund
SELinux (Security Enhanced Linux) ist ein obligatorisches Zugriffskontrollframework, mit dem Linux-basierte Systeme gegen interne und externe Angriffe geschützt werden können. Es kann beispielsweise verwendet werden, um anzugeben, welche Teile des Dateisystems für einen Daemon wie einen HTTP-Server zugänglich sind, so dass, wenn ein Angreifer die Kontrolle über den Daemon erlangt, das Potenzial für weiteren Schaden begrenzt ist.
Damit dies funktioniert, muss SELinux mit einer Sicherheitsrichtlinie konfiguriert werden, die gut auf die legitimen Anforderungen der auf dem betreffenden System ausgeführten Programme abgestimmt ist. Eine zu restriktive Richtlinie führt dazu, dass Programme fehlschlagen, oft ohne offensichtlichen Hinweis darauf, dass SELinux der Schuldige ist. Aus diesem Grund ist es ratsam, bei der Fehlerbehebung eines unbekannten Systems frühzeitig zu prüfen, ob SELinux aktiviert ist, um unnötigen Aufwand zu vermeiden.
Methode
Eine Möglichkeit festzustellen, ob SELinux aktiviert ist, ist der getenforce
Befehl:
getenforce
Es gibt drei mögliche Ergebnisse:
Disabled
zeigt an, dass SELinux installiert, aber inaktiv ist. Es sollte in diesem Modus keine positiven oder negativen Auswirkungen auf den Betrieb des Systems haben.
Permissive
zeigt an, dass SELinux aktiv ist, überwacht aber nur Verstöße gegen die Sicherheitsrichtlinie und greift nicht ein, um sie zu verhindern. In diesem Modus können Sie einige zusätzliche Protokollmeldungen beobachten, und der Bootstrap-Prozess wird verlängert, wenn das Dateisystem neu beschriftet werden muss. Dieser Modus würde normalerweise verwendet werden, um die Erstkonfiguration von SELinux zu erleichtern, es gibt jedoch keinen Grund, warum er nicht so belassen werden könnte, wenn das Ziel eher Auditing als Hardening ist.
Enforcing
zeigt an, dass SELinux aktiv und konfiguriert ist, um Verstöße gegen die Sicherheitsrichtlinie zu verhindern. Dies ist der Modus, der verwendet wird, um ein System zu härten, sobald die Erstkonfiguration abgeschlossen ist. Daher werden Programme fehlschlagen, wenn die Sicherheitsrichtlinie zu restriktiv ist.
Alternativen
Mit dem Befehl sestatus
Mit dem Befehl sestatus
können dieselben und weitere Informationen abgerufen werden:
sestatus
Mit dieser Methode wird der Status von SELinux (unabhängig davon, ob er aktiviert oder deaktiviert ist) getrennt von seinem Modus (permissiv oder erzwungen) gemeldet:
SELinux status: enabledSELinuxfs mount: /selinuxCurrent mode: enforcingMode from config file: enforcingPolicy version: 24Policy from config file: targeted
Stichworte:selinux