Zum Inhalt springen

Linux/SELinux/11 Fehlerbehebung: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „Kategorie:SELinux“ durch „Kategorie:Linux/SELinux“
K Dirkwagner verschob die Seite SELinux/DOC/11 Fehlerbehebung nach Linux/SELinux/DOC/11 Fehlerbehebung, ohne dabei eine Weiterleitung anzulegen: Textersetzung - „SELinux“ durch „Linux/SELinux“
(kein Unterschied)

Version vom 26. März 2026, 11:15 Uhr

SELinux/DOC/11 Fehlerbehebung

Beschreibung

  • Vorgänge, bei einer Zugriffsverweigerung
  • Häufige Ursachen für Probleme
  • Informationen zur korrekten Kennzeichnung finden
  • Analyse von SELinux-Verweigerungen
  • Erstellen benutzerdefinierter Policy-Module
Vorgänge, bei einer Zugriffsverweigerung

SELinux-Entscheidungen, wie das Zulassen oder Verweigern von Zugriff, werden zwischengespeichert

  • Dieser Cache wird als Access Vector Cache (AVC) bezeichnet
  • Wenn SELinux den Zugriff verweigert, werden Verweigerungsmeldungen protokolliert
  • Diese Verweigerungen werden auch als „AVC-Verweigerungen“ bezeichnet
Protokolle

... und je nach den laufenden Daemons an unterschiedlichen Orten protokolliert:

Daemon Protokollort
auditd aktiv /var/log/audit/audit.log
auditd aus; rsyslogd ein /var/log/messages
setroubleshootd, rsyslogd und auditd ein /var/log/audit/audit.log
  • Besser lesbare Verweigerungsmeldungen werden ebenfalls an /var/log/messages gesendet

Wenn Sie das X Window System ausführen, die Pakete setroubleshoot und setroubleshoot-server installiert haben und die Daemons setroubleshootd und [[auditd] laufen, wird eine Warnung angezeigt, wenn der Zugriff von SELinux verweigert wird:

Datei:Bild1.png

Ein Klick auf Anzeigen zeigt eine detaillierte Analyse der Gründe für die Zugriffsverweigerung durch SELinux sowie eine mögliche Lösung zur Gewährung des Zugriffs an

  • Wenn Sie das X Window System nicht verwenden, ist es weniger offensichtlich, wenn der Zugriff durch SELinux verweigert wird

Beispielsweise können Benutzer, die Ihre Website besuchen, eine Fehlermeldung ähnlich der folgenden erhalten:

Zugriff verweigert

Sie haben keine Berechtigung, auf ‚'Dateiname‘' auf diesem Server zuzugreifen

In solchen Situationen sollten Sie, sofern DAC-Regeln (Standard-Linux-Berechtigungen) den Zugriff erlauben, die Dateien

  • /var/log/messages
  • /var/log/audit/audit.log

auf Fehlermeldungen wie

  • „SELinux is preventing“
  • „denied“

überprüfen

Dies können Sie tun, indem Sie als Root-Benutzer die folgenden Befehle ausführen:

sudo grep „SELinux is preventing“ /var/log/messages
sudo grep „denied“ /var/log/audit/audit.log

Analyse

SELinux/DOC/11 Fehlerbehebung/Analyse

Lösungen

SELinux/DOC/11 Fehlerbehebung/Lösungen

  1. Dateien in /etc/selinux/targeted/contexts/files/ definieren Kontexte für Dateien und Verzeichnisse
    • Dateien in diesem Verzeichnis werden von den Dienstprogrammen restorecon und setfiles gelesen, um Dateien und Verzeichnisse in ihre Standardkontexte zurückzusetzen
  2. Der Befehl semanage port -a fügt einen Eintrag zur Datei /etc/selinux/targeted/modules/active/ports.local hinzu
    • Beachten Sie, dass diese Datei standardmäßig nur von root eingesehen werden kann
  3. Weitere Informationen zu ausearch finden Sie in der Manpage von ausearch(8)
  4. Weitere Informationen zu aureport finden Sie in der Manpage zu aureport(8)
  5. Weitere Informationen zu sealert finden Sie in der Manpage zu sealert(8)
  6. Weitere Informationen zu audit2allow finden Sie in der Manpage zu audit2allow(1)