Zum Inhalt springen

Linux/SELinux/04 Arbeiten mit SELinux: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 43: Zeile 43:


=== Welche Protokolldatei wird verwendet ===
=== Welche Protokolldatei wird verwendet ===
Unter Red Hat Enterprise Linux sind die Pakete dbus und audit standardmäßig installiert, sofern sie nicht aus der Standard-Paketauswahl entfernt wurden
[[SELinux/DOC/04 Arbeiten mit SELinux/Protokolldateien]]
* Der Setroubleshoot-Server muss über Yum installiert werden (verwenden Sie den Befehl [[yum install setroubleshoot-server]])
 
Wenn der [[auditd]]-Daemon läuft, wird standardmäßig eine SELinux-Ablehnungsmeldung wie die folgende in [[/var/log/audit/audit.log]] geschrieben
type=AVC msg=audit (1223024155.684:49)
avc
denied { getattr } for pid=2000 comm="httpd" path="/var/www/html/file1" dev=dm-0 ino=399185 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:samba_share_t:s0 tclass=file
 
Außerdem wird eine Meldung ähnlich der folgenden in die Datei [[/var/log/message]] geschrieben
7. Mai 18:55:56 localhost setroubleshoot
SELinux verhindert, dass httpd (httpd_t) „getattr“ auf /var/www/html/file1 (samba_share_t) ausführt
* Für vollständige SELinux-Meldungen
führen Sie sealert -l de7e30d6-5488-466d-a606-92c9f40d316d aus
 
In Red Hat Enterprise Linux 7 läuft [[setroubleshootd]] nicht mehr ständig als Dienst
* Es wird jedoch weiterhin zur Analyse der AVC-Meldungen verwendet
* Zwei neue Programme dienen dazu, [[setroubleshoot]] bei Bedarf zu starten
* Das Dienstprogramm [[sedispatch]] läuft als Teil des [[audit]]-Subsystems
* Wenn eine AVC-Ablehnungsmeldung zurückgegeben wird, sendet [[sedispatch]] eine Nachricht über [[dbus]]
* Diese Nachrichten gehen direkt an [[setroubleshootd]], sofern dieses bereits läuft
* Läuft es nicht, startet [[sedispatch]] es automatisch
* Das Dienstprogramm [[seapplet]] läuft in der System-Symbolleiste und wartet auf DBus-Meldungen von [[setroubleshootd]]
* Es öffnet die Benachrichtigungsblase, in der der Benutzer die AVC-Meldungen einsehen kann
 
; Daemons automatisch starten
# Um die Daemons [[auditd]] und [ [rsyslog]]-Daemons so zu konfigurieren, dass sie beim Booten automatisch starten, geben Sie als Root-Benutzer die folgenden Befehle ein
sudo systemctl enable auditd.service
sudo systemctl enable rsyslog.service
# Um sicherzustellen, dass die Daemons aktiviert sind, geben Sie an der Shell-Eingabeaufforderung die folgenden Befehle ein
systemctl is-enabled auditd
enabled
systemctl is-enabled rsyslog
enabled
Alternativ können Sie den Befehl [[systemctl status ‚'service-name‘'.service]] verwenden und in der Befehlsausgabe nach dem Schlüsselwort [[enabled]] suchen, zum Beispiel
systemctl status auditd.service | grep enabled
auditd.service – Sicherheitsüberwachungsdienst
Geladen
geladen (/usr/lib/systemd/system/auditd.service; ‚'enabled‘')
 
Weitere Informationen darüber, wie der [[systemd]]-Daemon Systemdienste verwaltet, finden Sie im Kapitel „Verwaltung von Systemdiensten“ im Systemadministratorhandbuch


=== Hauptkonfigurationsdatei ===
=== Hauptkonfigurationsdatei ===

Version vom 23. März 2026, 23:42 Uhr

Arbeiten mit SELinux

Beschreibung

Die folgenden Abschnitte bieten einen Überblick über

  • die wichtigsten SELinux-Pakete in Red Hat Enterprise Linux
  • die Installation und Aktualisierung von Paketen
  • die verwendeten Protokolldateien
  • die wichtigste SELinux-Konfigurationsdatei
  • das Aktivieren und Deaktivieren von SELinux
  • SELinux-Modi
  • das Konfigurieren von Booleschen Werten
  • das vorübergehende und dauerhafte Ändern von Datei- und Verzeichnis-Labels
  • das Überschreiben von Dateisystem-Labels mit dem Befehl mount
  • das Einbinden von NFS-Volumes
  • sowie das Beibehalten von SELinux-Kontexten beim Kopieren und Archivieren von Dateien und Verzeichnissen

SELinux-Pakete

Bei einer vollständigen Installation von Red Hat Enterprise Linux werden die SELinux-Pakete standardmäßig installiert, sofern sie nicht während der Installation manuell ausgeschlossen werden

  • Bei einer Minimalinstallation im Textmodus werden die Pakete policycoreutils-python und policycoreutils-gui standardmäßig nicht installiert
  • Außerdem läuft SELinux standardmäßig SELinux im Enforcing-Modus und die SELinux-Targeted-Policy wird verwendet
  • Die folgenden SELinux-Pakete sind standardmäßig auf Ihrem System installiert
  • policycoreutils stellt Dienstprogramme wie restorecon, secon, setfiles, semodule, load_policy und setsebool für den Betrieb und die Verwaltung von SELinux bereit
  • selinux-policy stellt eine grundlegende Verzeichnisstruktur, die Datei selinux-policy.conf und RPM-Makros bereit
  • selinux-policy -targeted stellt die SELinux-Targeted-Richtlinie bereit
  • libselinux – stellt eine API für SELinux-Anwendungen bereit
  • libselinux-utils stellt die Dienstprogramme avcstat, getenforce, getsebool, matchpathcon, selinuxconlist, selinuxdefcon, selinuxenabled und setenforce bereit
  • libselinux-python stellt Python-Bindungen für die Entwicklung von SELinux-Anwendungen bereit

Die folgenden Pakete sind standardmäßig nicht installiert, können aber optional durch Ausführen des Befehls [[yum install ‚‘<package-name>‚‘]] installiert werden

  • selinux-policy-devel stellt Dienstprogramme zum Erstellen einer benutzerdefinierten SELinux-Richtlinie und von Richtlinienmodulen bereit
  • selinux-policy-doc enthält Handbuchseiten, die beschreiben, wie SELinux zusammen mit verschiedenen Diensten konfiguriert wird
  • selinux-policy-mls enthält die MLS-SELinux-Richtlinie (Multi-Level Security)
  • setroubleshoot-server übersetzt Ablehnungsmeldungen, die bei einer Zugriffsverweigerung durch SELinux ausgegeben werden, in detaillierte Beschreibungen, die mit dem ebenfalls in diesem Paket enthaltenen Dienstprogramm sealert angezeigt werden können
  • setools-console stellt die Tresys Technology SETools-Distribution bereit, eine Reihe von Dienstprogrammen und Bibliotheken zur Analyse und Abfrage von Richtlinien, zur Überwachung und Berichterstellung von Audit-Protokollen sowie zur Verwaltung von Dateikontexten
  • Das Paket setools ist ein Metapaket für SETools
  • Das Paket setools-gui stellt die Dienstprogramme apol und seaudit bereit
  • Das Paket setools-console stellt die Befehlszeilen-Dienstprogramme sechecker, sediff, seinfo, sesearch und findcon bereit
  • Beachten Sie, dass die Pakete setools und setools-gui nur verfügbar sind, wenn der Red Hat Network Optional-Kanal aktiviert ist
  • Weitere Informationen finden Sie unter Details zum Abdeckungsumfang
  • mcstrans übersetzt Stufen wie s0-s0:c0.c1023 in eine besser lesbare Form wie SystemLow-SystemHigh
  • policycoreutils-python bietet Dienstprogramme wie semanage, audit2allow, audit2why und chcat zum Bedienen und Verwalten von SELinux
  • policycoreutils-gui stellt system-config-selinux bereit, ein grafisches Dienstprogramm zur Verwaltung von SELinux

Welche Protokolldatei wird verwendet

SELinux/DOC/04 Arbeiten mit SELinux/Protokolldateien

Hauptkonfigurationsdatei

SELinux/DOC/04 Arbeiten mit SELinux/Hauptkonfigurationsdatei

Dauerhafte Änderungen an SELinux-Zuständen und -Modi

SELinux/DOC/04 Arbeiten mit SELinux/Dauerhafte Änderungen an SELinux-Zuständen und -Modi

Ändern der SELinux-Modi beim Systemstart

SELinux/DOC/04 Arbeiten mit SELinux/Ändern der SELinux-Modi beim Systemstart

Booleane

SELinux/DOC/04 Arbeiten mit SELinux/Booleane

SELinux-Kontexte – Dateien kennzeichnen

SELinux/DOC/04 Arbeiten mit SELinux/SELinux-Kontexte – Dateien kennzeichnen

Die Typen file_t und default_t

SELinux/DOC/04 Arbeiten mit SELinux/Die Typen file t und default t

Einbinden von Dateisystemen

SELinux/DOC/04 Arbeiten mit SELinux/Einbinden von Dateisystemen

SELinux-Labels beibehalten

SELinux/DOC/04 Arbeiten mit SELinux/SELinux-Labels beibehalten

Tools zur Informationsbeschaffung

SELinux/DOC/04 Arbeiten mit SELinux/Tools zur Informationsbeschaffung

Priorisierung und Deaktivierung von SELinux-Richtlinienmodulen

SELinux/DOC/04 Arbeiten mit SELinux/Priorisierung und Deaktivierung von SELinux-Richtlinienmodulen

Multi-Level Security (MLS)

SELinux/DOC/04 Arbeiten mit SELinux/Multi-Level Security (MLS)

Dateinamenübergang

SELinux/DOC/04 Arbeiten mit SELinux/Dateinamenübergang

Deaktivieren von ptrace()

SELinux/DOC/04 Arbeiten mit SELinux/Deaktivieren von ptrace()

Schutz von Miniaturansichten

SELinux/DOC/04 Arbeiten mit SELinux/Schutz von Miniaturansichten

Fußnoten