Einführung

SELinux (Security-Enhanced Linux) bietet ein Mandatory Access Control (MAC)-System, das den Zugriff auf Systemressourcen streng kontrolliert.

Grundlagen von SELinux Policies

SELinux-Status überprüfen

Überprüfen Sie den aktuellen SELinux-Status:

sestatus

SELinux-Protokolle überwachen

Protokolle für SELinux-Verstöße finden Sie in: * /var/log/audit/audit.log * /var/log/messages (oder /var/log/syslog)

Verwendung von ausearch

Das ausearch-Tool ermöglicht die Suche nach spezifischen Einträgen in den Audit-Protokollen.

# Alle SELinux-Verstöße anzeigen
sudo ausearch -m avc

# Verstöße der letzten Stunde anzeigen
sudo ausearch -m avc -ts recent

# Verstöße für einen bestimmten Prozess anzeigen
sudo ausearch -m avc -c <process_name>

Verwendung von audit2allow

audit2allow konvertiert Audit-Protokolleinträge in allow-Richtlinien.

# Vorschläge für notwendige allow-Regeln generieren
sudo ausearch -m avc -ts recent | audit2allow

# Benutzerdefiniertes Modul erstellen
sudo ausearch -m avc -ts recent | audit2allow -M mymodule

# Modul laden
sudo semodule -i mymodule.pp

Verwendung von sealert

sealert bietet detaillierte Informationen und Lösungsvorschläge für SELinux-Verstöße.

# Installieren von setroubleshoot
sudo yum install setroubleshoot

# Alle SELinux-Verstöße analysieren
sudo sealert -a /var/log/audit/audit.log

# Spezifische Verstöße analysieren
sudo ausearch -m avc -ts recent | sudo sealert -a -

SELinux-Tools und Befehle

getsebool

Zeigt den Status der SELinux-Boolean-Variablen an:

getsebool -a

setsebool

Ändert den Wert einer SELinux-Boolean-Variablen:

sudo setsebool httpd_enable_homedirs on

semanage

Verwaltet verschiedene SELinux-Komponenten:

# Port-Kontext hinzufügen
sudo semanage port -a -t http_port_t -p tcp 8080

# Datei-Kontext ändern
sudo semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?"
sudo restorecon -Rv /web

Zusammenfassung

Fragen?

Vielen Dank für Ihre Aufmerksamkeit!