Linux/SELinux/04/02 Protokolldateien: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
{{Navigation|Linux/SELinux/04 Arbeiten mit SELinux|Linux/SELinux/04/03 Hauptkonfigurationsdatei}} | {{Navigation|Linux/SELinux/04 Arbeiten mit SELinux|Linux/SELinux/04/03 Hauptkonfigurationsdatei}} | ||
'''Linux/SELinux/04/02 Protokolldateien''' | '''Linux/SELinux/04/02 Protokolldateien''' - Fehlermeldungen finden | ||
=== Welche Protokolldatei wird verwendet === | === Welche Protokolldatei wird verwendet === | ||
Aktuelle Version vom 31. März 2026, 12:00 Uhr
Linux/SELinux/04/02 Protokolldateien - Fehlermeldungen finden
Welche Protokolldatei wird verwendet
SELinux-Ablehnungen werden primär über das Linux-Audit-Subsystem protokolliert. Wenn der auditd-Daemon läuft, werden rohe AVC-Meldungen standardmäßig in /var/log/audit/audit.log geschrieben. Für die Analyse ist diese Datei die wichtigste Quelle.
Zusätzlich können interpretierte Hinweise im Systemprotokoll erscheinen, zum Beispiel über setroubleshoot. Diese Meldungen erleichtern die Einordnung, ersetzen aber nicht die rohe AVC-Meldung.
| Quelle | Inhalt | Zweck |
|---|---|---|
| /var/log/audit/audit.log | rohe Audit- und AVC-Meldungen | erste Quelle für Analyse und Korrelation |
| Systemjournal | interpretierte Meldungen, z. B. von setroubleshoot | schnelle Einordnung und Verweis auf sealert |
- SELinux prüft Zugriffe erst nach den klassischen Dateirechten. Wird ein Zugriff bereits dort verweigert, entsteht keine SELinux-Ablehnung.
Beispiel einer AVC-Meldung
Eine AVC-Meldung kann beispielsweise wie folgt aussehen:
type=AVC msg=audit(1710000000.123:321): avc: denied { getattr } for pid=1234 comm="httpd" path="/var/www/html/file1" scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:samba_share_t:s0 tclass=file
Die wichtigsten Bestandteile:
| Feld | Bedeutung |
|---|---|
| { getattr } | verweigerte Operation |
| comm="httpd" | aufgerufener Prozess |
| path="/var/www/html/file1" | betroffenes Zielobjekt |
| scontext=...:httpd_t:s0 | SELinux-Kontext des Prozesses |
| tcontext=...:samba_share_t:s0 | SELinux-Kontext des Zielobjekts |
| tclass=file | Objektklasse |
Vollständige SELinux-Meldungen
Für die gezielte Auswertung der Audit-Einträge eignet sich ausearch:
ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -ts recent
ausearch -m AVC -i -ts recent
Ist setroubleshoot installiert, können zusätzliche Hinweise mit sealert angezeigt werden. Enthält eine Meldung eine lokale ID, lässt sie sich direkt auflösen:
sealert -l <ID>
Interpretierte Meldungen von setroubleshoot lassen sich im Systemjournal anzeigen:
journalctl -t setroubleshoot
Wenn keine Meldungen erscheinen
Erscheinen keine AVC-Meldungen, sollten zuerst die üblichen Fehlerquellen geprüft werden:
- Läuft auditd nicht, werden keine rohen Audit-Einträge in /var/log/audit/audit.log geschrieben.
- Ohne Treffer in ausearch sollte der blockierte Zugriff erneut ausgeführt und danach erneut gesucht werden.
- Ist auditd nicht aktiv, können einzelne SELinux-Meldungen noch im Kernel-Puffer sichtbar sein.
Praktische Prüfung:
systemctl status auditd.service
dmesg | grep -i -e type=1300 -e type=1400
Für eine dauerhafte Protokollierung kann auditd aktiviert werden:
systemctl enable --now auditd.service
systemctl is-enabled auditd.service
Werden Ablehnungen durch dontaudit-Regeln unterdrückt, lässt sich die Protokollierung kurzfristig erweitern:
semodule -DB
# blockierten Zugriff erneut ausführen
ausearch -m AVC -i -ts recent
semodule -B
Weblinks
Red Hat Documentation:
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/using_selinux/troubleshooting-problems-related-to-selinux_using-selinux
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/sect-security-enhanced_linux-working_with_selinux-which_log_file_is_used
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/6/html/security-enhanced_linux/sect-security-enhanced_linux-fixing_problems-sealert_messages
Debian Manpages: