Zum Inhalt springen

Linux/SELinux/11 Fehlerbehebung

Aus Foxwiki

SELinux/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


Anhang

Siehe auch



  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

Dokumentation

Man-Page
  1. ausearch(8)
  2. aureport(8)
  3. sealert(8)
  4. audit2allow(1)

Projekt