Linux/SELinux/02 Installation: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
== Installation == | == Installation (Debian) == | ||
Die Standardkernel von Debian enthalten bereits SELinux-Unterstützung. | Die Standardkernel von Debian enthalten bereits SELinux-Unterstützung. | ||
| Zeile 7: | Zeile 7: | ||
=== AppArmor entfernen === | === 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. | 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. | ||
<syntaxhighlight lang="bash" highlight="" copy line> | |||
sudo apt purge apparmor | |||
sudo reboot | |||
</syntaxhighlight> | |||
=== SELinux installieren === | === SELinux installieren === | ||
<syntaxhighlight lang="bash" highlight="1" copy line> | |||
sudo apt install selinux-basics selinux-policy-default auditd newrole attr | |||
</syntaxhighlight> | |||
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. | 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. | ||
| Zeile 18: | Zeile 21: | ||
=== SELinux aktivieren === | === SELinux aktivieren === | ||
SELinux wird über Kernel-Parameter aktiviert. Dazu wird die GRUB-Konfiguration angepasst. | SELinux wird über Kernel-Parameter aktiviert. Dazu wird die GRUB-Konfiguration angepasst. | ||
<syntaxhighlight lang="bash" highlight="1" copy line> | |||
sudo nano /etc/default/grub | |||
</syntaxhighlight> | |||
In ''GRUB_CMDLINE_LINUX'' | In ''GRUB_CMDLINE_LINUX'' und ''GRUB_CMDLINE_LINUX_DEFAULT'' werden folgende Parameter ergänzt: | ||
selinux=1 security=selinux | selinux=1 security=selinux | ||
* GRUB aktualisieren | |||
<syntaxhighlight lang="bash" highlight="1" copy line> | |||
sudo update-grub | |||
</syntaxhighlight> | |||
=== 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 line> | |||
sudo touch /.autorelabel | |||
sudo reboot | |||
</syntaxhighlight> | |||
Standardmäßig läuft SELinux im permissiven Modus | Standardmäßig läuft SELinux im permissiven Modus | ||
| Zeile 34: | Zeile 44: | ||
=== Funktion prüfen === | === Funktion prüfen === | ||
SELinux-Status anzeigen: | SELinux-Status anzeigen: | ||
<syntaxhighlight lang="bash" highlight="" copy line> | |||
getenforce | |||
sestatus | |||
</syntaxhighlight> | |||
Nach dem Neustart kann geprüft werden, ob SELinux Zugriffe blockiert hat. Solche Ereignisse erscheinen als AVC-Denials im Audit-Log. | 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 | sudo grep AVC /var/log/audit/audit.log | ||
| Zeile 42: | Zeile 53: | ||
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). | 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) === | |||
= | |||
= | |||
Bei einer vollständigen Installation von Red Hat Enterprise Linux werden die SELinux-Pakete standardmäßig installiert, sofern sie nicht während der Installation manuell ausgeschlossen werden | Bei einer vollständigen Installation von Red Hat Enterprise Linux werden die SELinux-Pakete standardmäßig installiert, sofern sie nicht während der Installation manuell ausgeschlossen werden | ||
* Bei einer Minimalinstallation im Textmodus werden die Pakete policycoreutils-python und policycoreutils-gui standardmäßig nicht installiert | * Bei einer Minimalinstallation im Textmodus werden die Pakete policycoreutils-python und policycoreutils-gui standardmäßig nicht installiert | ||
* Außerdem läuft SELinux standardmäßig SELinux im Enforcing-Modus und die SELinux-Targeted-Policy wird verwendet | * Außerdem läuft SELinux standardmäßig SELinux im Enforcing-Modus und die SELinux-Targeted-Policy wird verwendet | ||
* Die folgenden SELinux-Pakete sind standardmäßig auf Ihrem System installiert | * Die folgenden SELinux-Pakete sind standardmäßig auf Ihrem System installiert | ||
* policycoreutils stellt Dienstprogramme wie | * 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 stellt eine grundlegende Verzeichnisstruktur, die Datei selinux-policy.conf und RPM-Makros bereit | ||
* selinux-policy -targeted stellt die SELinux-Targeted-Richtlinie bereit | * selinux-policy -targeted stellt die SELinux-Targeted-Richtlinie bereit | ||
* libselinux – stellt eine API für SELinux-Anwendungen bereit | * libselinux – stellt eine API für SELinux-Anwendungen bereit | ||
* libselinux-utils stellt die Dienstprogramme | * 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 | * libselinux-python stellt Python-Bindungen für die Entwicklung von SELinux-Anwendungen bereit | ||
Die folgenden Pakete sind standardmäßig nicht installiert, können aber optional durch Ausführen des Befehls | Die folgenden Pakete sind standardmäßig nicht installiert, können aber optional durch Ausführen des Befehls yum install ‚‘<package-name>‚‘ installiert werden | ||
* selinux-policy-devel stellt Dienstprogramme zum Erstellen einer benutzerdefinierten SELinux-Richtlinie und von Richtlinienmodulen bereit | * 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-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) | * 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 | * 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-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 | ||
* Das Paket setools ist ein Metapaket für SETools | * Das Paket setools ist ein Metapaket für SETools | ||
* Das Paket setools-gui stellt die Dienstprogramme | * Das Paket setools-gui stellt die Dienstprogramme apol und seaudit bereit | ||
* Das Paket setools-console stellt die Befehlszeilen-Dienstprogramme | * Das Paket setools-console stellt die Befehlszeilen-Dienstprogramme sechecker, sediff, seinfo, sesearch und findcon bereit | ||
* Beachten Sie, dass die Pakete setools und setools-gui nur verfügbar sind, wenn der Red Hat Network Optional-Kanal aktiviert ist | * Beachten Sie, dass die Pakete setools und setools-gui nur verfügbar sind, wenn der Red Hat Network Optional-Kanal aktiviert ist | ||
* Weitere Informationen finden Sie unter Details zum Abdeckungsumfang | * Weitere Informationen finden Sie unter Details zum Abdeckungsumfang | ||
* mcstrans übersetzt Stufen wie | * mcstrans übersetzt Stufen wie s0-s0:c0.c1023 in eine besser lesbare Form wie SystemLow-SystemHigh | ||
* policycoreutils-python bietet Dienstprogramme wie | * policycoreutils-python bietet Dienstprogramme wie semanage, audit2allow, audit2why und chcat zum Bedienen und Verwalten von SELinux | ||
* policycoreutils-gui stellt | * policycoreutils-gui stellt system-config-selinux bereit, ein grafisches Dienstprogramm zur Verwaltung von SELinux | ||
[[Kategorie:Linux/SELinux | [[Kategorie:Linux/SELinux]] | ||
Version vom 28. März 2026, 11:53 Uhr
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)
Bei einer vollständigen Installation von Red Hat Enterprise Linux werden die SELinux-Pakete standardmäßig installiert, sofern sie nicht während der Installation manuell ausgeschlossen werden
- Bei einer Minimalinstallation im Textmodus werden die Pakete policycoreutils-python und policycoreutils-gui standardmäßig nicht installiert
- Außerdem läuft SELinux standardmäßig SELinux im Enforcing-Modus und die SELinux-Targeted-Policy wird verwendet
- Die folgenden SELinux-Pakete sind standardmäßig auf Ihrem System installiert
- 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
Die folgenden Pakete sind standardmäßig nicht installiert, können aber optional durch Ausführen des Befehls yum install ‚‘<package-name>‚‘ installiert werden
- 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
- Das Paket setools ist ein Metapaket für SETools
- Das Paket setools-gui stellt die Dienstprogramme apol und seaudit bereit
- Das Paket setools-console stellt die Befehlszeilen-Dienstprogramme sechecker, sediff, seinfo, sesearch und findcon bereit
- Beachten Sie, dass die Pakete setools und setools-gui nur verfügbar sind, wenn der Red Hat Network Optional-Kanal aktiviert ist
- Weitere Informationen finden Sie unter Details zum Abdeckungsumfang
- 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