| Red Hat Enterprise Linux 4: Referenzhandbuch | ||
|---|---|---|
| Zurück | Kapitel 21. SELinux | Nach vorne |
Der folgende Abschnitt beschreibt SELinux Konfigurationsdateien und in Bezug stehende Dateisysteme.
Das /selinux/ Pseudo-Dateisystem beinhaltet Befehle, welche am häufigsten vom Kernel-Subsystem gebraucht werden. Diese Art von Dateisystem ist ähnlich dem /proc/ Pseudo-Dateisystem.
In den meisten Fällen muss diese Komponente im Vergleich zu anderen SELinux-Dateien und Verzeichnissen nicht von Administratoren oder Benutzern manipuliert werden.
Das folgende Beispiel zeigt Musterinhalte im Verzeichnis /selinux/:
-rw-rw-rw- 1 root root 0 Sep 22 13:14 access dr-xr-xr-x 1 root root 0 Sep 22 13:14 booleans --w------- 1 root root 0 Sep 22 13:14 commit_pending_bools -rw-rw-rw- 1 root root 0 Sep 22 13:14 context -rw-rw-rw- 1 root root 0 Sep 22 13:14 create --w------- 1 root root 0 Sep 22 13:14 disable -rw-r--r-- 1 root root 0 Sep 22 13:14 enforce -rw------- 1 root root 0 Sep 22 13:14 load -r--r--r-- 1 root root 0 Sep 22 13:14 mls -r--r--r-- 1 root root 0 Sep 22 13:14 policyvers -rw-rw-rw- 1 root root 0 Sep 22 13:14 relabel -rw-rw-rw- 1 root root 0 Sep 22 13:14 user |
Zum Beispiel das Ausführen des Befehls cat auf der Datei enforce legt entweder eine 1 für den Enforcing Mode oder 0 für den Permissive Mode offen.
Die folgenden Abschnitte beschreiben SELinux Konfigurations- und Policy-Dateien und verwandte Dateisysteme im Verzeichnis /etc/.
Es gibt 2 Arten SELinux unter Red Hat Enterprise Linux zu konfigurieren: mit Hilfe des Security Level Configuration Tool (system-config-securitylevel) oder manuell durch Bearbeiten der Konfigurationsdatei (/etc/sysconfig/selinux).
Die /etc/sysconfig/selinux Datei ist die primäre Konfigurationsdatei zum Aktivieren oder Deaktivieren von SELinux sowie auch zum Festlegen der jeweiligen Policy, die auf dem System durchgeführt werden soll und zum Festlegen der Art und Weise, wie dies geschehen soll.
![]() | Hinweis |
|---|---|
/etc/sysconfig/selinux beinhaltet einen symbolischen Link zur eigentlichen Konfigurationsdatei /etc/selinux/config. |
Im folgenden wird das vollständige Subset an Optionen, die zur Konfiguration erhältlich sind, beschrieben:
SELINUX=<enforcing|permissive|disabled> — Definiert den Top-Level Status von SELinux auf einem System.
enforcing — Die SELinux Security Policy enthält den Sicherheitsmodus "Enforcing".
Permissive — Das SELinux System gibt Warnungen aus, gewährt jedoch alle Zugriffe. Dies ist nützlich zu Debugging- und Troubleshooting-Zwecken. Im Permissive Mode, werden mehr Verstöße protokolliert, da Subjekte mit deren Zugriffen fortfahren können, wobei diese Zugriffe im Enforcing Mode verweigert werden würden. Zum Beispiel die Traversierung eines Verzeichnisbaums bewirkt mehrfache avc: denied-Mitteilungen für jede der gelesenen Verzeichnisstufen, wobei ein Kernel im Enforcing Mode die ursprüngliche Traversierung verweigert hätte und dadurch das Entstehen weiterer avc: denied-Mitteilungen verhindert hätte.
disabled — SELinux ist völlig deaktiviert. SELinux Hooks sind freigemacht vom Kernel und das Pseudo-Dateisystem ist unregistriert.
![]() | Tipp |
|---|---|
Sämtliche durchgeführten Aktivitäten, während SELinux deaktiviert ist, können zur Folge haben, dass das Dateisystem nicht mehr länger den angemessenen, wie durch die Policy festgelegten Security Context besitzt. Wenn Sie vor dem Aktivieren den Befehl fixfiles relabel ausführen, so relabelt SELinux das Dateisystem, sodass das aktivierte SELinux einwandfrei arbeitet. Für weitere Informationen dazu, verweisen wir auf die fixfiles(8) man-Seite. |
![]() | Hinweis |
|---|---|
Zusätzliche weiße Leerstellen am Ende der Konfigurationszeile oder als Extra-Zeilen am Ende der Datei, können ein unerwartetes Verhalten hervorrufen. Um sicher zu gehen, schlagen wir vor, unnötige weiße Leerstellen zu entfernen. |
SELINUXTYPE=<targeted|strict> — Legt fest, welche Policy von SELinux gegenwärtig durchgesetzt wird.
targeted — Nur Targeted Netzwerk-Daemons werden geschützt.
![]() | Wichtig |
|---|---|
Folgende Deamons werden in der Standard-Targeted-Policy geschützt: dhcpd, httpd (apache.te), named, nscd, ntpd, portmap, snmpd, squid und syslogd. Das restliche System läuft in der unconfined_t Domäne ab. Die Policy-Dateien für diese Daemons können in /etc/selinux/targeted/src/policy/domains/program gefunden werden. Änderungen werden vorbehalten, sobald neuere Versionen von Red Hat Enterprise Linux freigegeben werden. |
Policy Enforcement kann für diese Daemons ein- und abgeschalten werden, indem Boolesche Werte mittels Security Level Configuration Tool kontrolliert werden können. (system-config-securitylevel). Das Ändern des Booleschen Wertes (true/false = wahr/falsch) eines Daemons schaltet die reguläre Verarbeitung der Richtlinien, wie zum Beispiel init für die Initialisierung von dhcpd für die Domaenen unconfined_t bis zur definierten Domaene in dhcpd.te aus. Die Domäne unconfined_t erlaubt Subjekten und Objekten mit diesem Security Context unter Standard-Linux-Security zu laufen.
strict — Voller SELinux-Schutz für alle Daemons. Security contexts sind für alle Subjekt und Objekte festgelegt. Jeder einzelne Ablauf wird vom Policy Enforcement Server bearbeitet.
Das /etc/selinux/-Verzeichnis ist der primäre Speicherort für alle Policy-Dateien sowie auch der Hauptkonfigurationsdatei.
Das folgende Beispiel zeigt Musterinhalte des /etc/selinux/-Verzeichnis:
-rw-r--r-- 1 root root 448 Sep 22 17:34 config drwxr-xr-x 5 root root 4096 Sep 22 17:27 strict drwxr-xr-x 5 root root 4096 Sep 22 17:28 targeted |
Die beiden Unterverzeichnisse strict/ und targeted/ sind die spezifischen Verzeichnisse, in denen die Policy-Dateien des selben Namens (zB. strict und targeted) enthalten sind.
Für weitere Informationen über SELinux-Policy und Policy-Konfiguration siehe Red Hat SELinux Policy Writing Guide.
Die folgenden sind einige der am häufigsten verwendeten SELinux-Utilities:
/usr/bin/setenforce — Modifiziert den SELinux-Modus in Echtzeit. Durch das Ausführen von setenforce 1, wird SELinux in den Enforcing Mode gebracht. Durch das Ausführen von setenforce 0, wird SELinux in den Permissive Mode gebracht. Um SELinux tatsächlich zu deaktivieren, müssen Sie entweder den Parameter in /etc/sysconfig/selinux setzen oder den Parameter selinux=0 an den Kernel übergeben; entweder in /etc/grub.conf oder zur Bootzeit.
/usr/bin/sestatus -v — Erhält den detaillierten Status eines Systems, auf dem SELinux ausgeführt wird. Das folgende Beispiel zeigt einen Auszug aus dem sestatus-Output:
SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Policy version: 18 |
/usr/bin/newrole — Führt eine neue Shell in einem neuen Context oder einer neuen Rolle aus. Policy muss den Rollenwechsel erlauben.
/sbin/restorecon — Legt den Security Context von einer oder mehreren Dateien fest, indem die erweitereten Attribute mit der entsprechenden Datei oder dem entsprechenden Security Context gekennzeichnet werden.
/sbin/fixfiles — Überprüft oder korrigiert die Security Context Datenbank auf dem Dateisystem.
Für weitere Informationen verweisen wir auf die man-Seiten zu diesen Hilfsprogrammen.
Für weitere Informationen zu allen binären Utilities siehe die setools- oder policycoreutils-Paketinhalte, indem Sie rpm -ql <package-name> ausführen, wobei <package-name> der Name des spezifischen Paketes ist.
| Zurück | Zum Anfang | Nach vorne |
| SELinux | Nach oben | Zusätzliche Ressourcen |