Linux/SELinux/02 Installation: Unterschied zwischen den Versionen
| Zeile 38: | Zeile 38: | ||
=== Dateisystem neu labeln === | === Dateisystem neu labeln === | ||
Damit vorhandene Dateien und Verzeichnisse korrekte SELinux-Labels erhalten, wird eine vollständige Relabel-Operation für den nächsten Systemstart vorgemerkt: | Damit vorhandene Dateien und Verzeichnisse korrekte SELinux-Labels erhalten, wird eine vollständige Relabel-Operation für den nächsten Systemstart vorgemerkt: | ||
<syntaxhighlight lang="bash" highlight="1" copy | <syntaxhighlight lang="bash" highlight="1" copy> | ||
sudo touch /.autorelabel | sudo touch /.autorelabel | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight="1" copy> | |||
sudo reboot | sudo reboot | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Version vom 28. März 2026, 21:47 Uhr
Linux/SELinux/Installation
Installation (Debian)
Die Standardkernel von Debian enthalten bereits SELinux-Unterstützung.
Mit den Paketen selinux-basics, selinux-policy-default und auditd wird die Grundkonfiguration für ein SELinux-System installiert.
AppArmor entfernen
Da auf Debian häufig bereits AppArmor verwendet wird, sollte es für dieses Szenario entfernt bzw. deaktiviert werden, damit ausschließlich SELinux als Linux Security Module verwendet wird.
sudo apt purge apparmor
sudo reboot
SELinux installieren
sudo apt install selinux-basics selinux-policy-default auditd newrole attr
Das Paket selinux-policy-default liefert die Standardregeln für Debian. Diese Policy beschränkt standardmäßig vor allem exponierte Systemdienste. Benutzer-Sessions laufen in der Voreinstellung meist weitgehend unconfined.
SELinux aktivieren
SELinux wird über Kernel-Parameter aktiviert. Dazu wird die GRUB-Konfiguration angepasst.
sudo nano /etc/default/grub
In GRUB_CMDLINE_LINUX und GRUB_CMDLINE_LINUX_DEFAULT werden folgende Parameter ergänzt:
selinux=1 security=selinux
- GRUB aktualisieren
sudo update-grub
Dateisystem neu labeln
Damit vorhandene Dateien und Verzeichnisse korrekte SELinux-Labels erhalten, wird eine vollständige Relabel-Operation für den nächsten Systemstart vorgemerkt:
sudo touch /.autorelabel
sudo reboot
Standardmäßig läuft SELinux im permissiven Modus
Funktion prüfen
SELinux-Status anzeigen:
getenforce
sestatus
Nach dem Neustart kann geprüft werden, ob SELinux Zugriffe blockiert hat. Solche Ereignisse erscheinen als AVC-Denials im Audit-Log.
sudo grep AVC /var/log/audit/audit.log
AVC-Denials sind Meldungen, in denen SELinux eine angeforderte Operation eines Prozesses auf ein Objekt verweigert hat.
Solche Einträge enthalten unter anderem den Quellkontext (scontext), den Zielkontext (tcontext) und die Objektklasse (tclass).
Installation (RHEL)
- Vollständigen Installation von Red Hat Enterprise Linux
SELinux-Pakete sind standardmäßig installiert
- Minimalinstallation im Textmodus
Nicht installiert
- policycoreutils-python
- policycoreutils-gui
- Modus
Außerdem läuft SELinux standardmäßig SELinux im Enforcing-Modus und die SELinux-Targeted-Policy wird verwendet
- Zusätzliche SELinux-Pakete
| Pakete | Beschreibung |
|---|---|
| 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 |
- Standardmäßig nicht installiert
Installation durch
yum install <package-name>
| Pakete | Beschreibung |
|---|---|
| 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 |
| setools | Metapaket für SETools |
| setools-gui | stellt die Dienstprogramme apol und seaudit bereit |
| setools-console | stellt die Befehlszeilen-Dienstprogramme sechecker, sediff, seinfo, sesearch und findcon bereit
|
| 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 |