Linux/SELinux/02 Installation: Unterschied zwischen den Versionen
K Textersetzung - „Kategorie:SELinux“ durch „Kategorie:Linux/SELinux“ |
|||
| (42 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
[[Kategorie:Linux/SELinux]] | '''Linux/SELinux/02 Installation''' - SELinux installieren | ||
{{Navigation|Linux/SELinux/01 Grundlagen|Linux/SELinux/02 Kontext}} | |||
== Installation (Debian) == | |||
Standardkernel von Debian enthalten SELinux-Unterstützung | |||
; Paketen (Grundkonfiguration) | |||
* selinux-basics | |||
* selinux-policy-default | |||
* auditd | |||
=== AppArmor entfernen === | |||
Auf vielen Debian-Systemen wir bereits [[AppArmor]] | |||
* Dies muss entfernt werden, um Konflikte zu vermeiden | |||
<syntaxhighlight lang="bash" highlight="1" copy> | |||
sudo apt purge apparmor | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight="1" copy> | |||
sudo reboot | |||
</syntaxhighlight> | |||
=== SELinux installieren === | |||
<syntaxhighlight lang="bash" highlight="1" copy line> | |||
sudo apt install selinux-basics selinux-policy-default auditd newrole attr | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight="" line> | |||
Installiere: | |||
attr auditd newrole selinux-basics selinux-policy-default | |||
Installiere Abhängigkeiten: | |||
checkpolicy libauparse0t64 policycoreutils selinux-utils | |||
Vorgeschlagene Pakete: | |||
audispd-plugins logcheck syslog-summary | |||
Empfohlene Pakete: | |||
policycoreutils-python-utils setools | |||
Zusammenfassung: | |||
Aktualisiere: 0, Installiere: 9, Entferne: 0, Aktualisiere nicht: 0 | |||
Herunterlade-Größe: 4.074 kB | |||
Benötigter Platz: 8.594 kB / 31,7 GB verfügbar | |||
Fortfahren? [J/n] | |||
</syntaxhighlight> | |||
; selinux-policy-default | |||
Das Paket selinux-policy-default liefert die Standardregeln für Debian | |||
* Diese Policy beschränkt standardmäßig primär 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 | |||
<syntaxhighlight lang="bash" highlight="1" copy line> | |||
sudo vi /etc/default/grub | |||
</syntaxhighlight> | |||
In '''GRUB_CMDLINE_LINUX''' und '''GRUB_CMDLINE_LINUX_DEFAULT''' folgende Parameter ergänzen | |||
<syntaxhighlight lang="bash" highlight="" copy> | |||
selinux=1 security=selinux | |||
</syntaxhighlight> | |||
; GRUB aktualisieren | |||
<syntaxhighlight lang="bash" highlight="1" copy line> | |||
sudo update-grub | |||
</syntaxhighlight> | |||
=== 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: | |||
<syntaxhighlight lang="bash" highlight="1" copy> | |||
sudo touch /.autorelabel | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight="1" copy> | |||
sudo reboot | |||
</syntaxhighlight> | |||
; Standardmäßig läuft SELinux im permissiven Modus | |||
=== Funktion prüfen === | |||
SELinux-Status anzeigen | |||
<syntaxhighlight lang="bash" highlight="1" copy> | |||
getenforce | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight=""> | |||
Permissive | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight="1" copy> | |||
sestatus | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight="" line> | |||
SELinux status: enabled | |||
SELinuxfs mount: /sys/fs/selinux | |||
SELinux root directory: /etc/selinux | |||
Loaded policy name: default | |||
Current mode: permissive | |||
Mode from config file: permissive | |||
Policy MLS status: enabled | |||
Policy deny_unknown status: allowed | |||
Memory protection checking: actual (secure) | |||
Max kernel policy version: 33 | |||
</syntaxhighlight> | |||
Nach dem Neustart kann geprüft werden, ob SELinux Zugriffe blockiert hat | |||
Solche Ereignisse erscheinen als AVC-Denials im Audit-Log | |||
<syntaxhighlight lang="bash" highlight="1" copy> | |||
sudo grep AVC /var/log/audit/audit.log | |||
</syntaxhighlight> | |||
; AVC-Denials | |||
<blockquote> | |||
Meldungen, in denen SELinux eine angeforderte Operation eines Prozesses auf ein Objekt verweigert hat | |||
* enthalten unter anderem den Quellkontext (scontext), den Zielkontext (tcontext) und die Objektklasse (tclass) | |||
</blockquote> | |||
== 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 | |||
{| class="wikitable options big" | |||
|- | |||
! 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>'' | |||
{| class="wikitable options big" | |||
|- | |||
! 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 | |||
* Beachten Sie, dass die Pakete setools und setools-gui nur verfügbar sind, wenn der Red Hat Network Optional-Kanal aktiviert ist | |||
|- | |||
| 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 | |||
|} | |||
{{Navigation|Linux/SELinux/01 Grundlagen|Linux/SELinux/02 Kontext}} | |||
[[Kategorie:Linux/SELinux/01]] | |||
Aktuelle Version vom 31. März 2026, 13:29 Uhr
Linux/SELinux/02 Installation - SELinux installieren
Installation (Debian)
Standardkernel von Debian enthalten SELinux-Unterstützung
- Paketen (Grundkonfiguration)
- selinux-basics
- selinux-policy-default
- auditd
AppArmor entfernen
Auf vielen Debian-Systemen wir bereits AppArmor
- Dies muss entfernt werden, um Konflikte zu vermeiden
sudo apt purge apparmor
sudo reboot
SELinux installieren
sudo apt install selinux-basics selinux-policy-default auditd newrole attr
Installiere:
attr auditd newrole selinux-basics selinux-policy-default
Installiere Abhängigkeiten:
checkpolicy libauparse0t64 policycoreutils selinux-utils
Vorgeschlagene Pakete:
audispd-plugins logcheck syslog-summary
Empfohlene Pakete:
policycoreutils-python-utils setools
Zusammenfassung:
Aktualisiere: 0, Installiere: 9, Entferne: 0, Aktualisiere nicht: 0
Herunterlade-Größe: 4.074 kB
Benötigter Platz: 8.594 kB / 31,7 GB verfügbar
Fortfahren? [J/n]
- selinux-policy-default
Das Paket selinux-policy-default liefert die Standardregeln für Debian
- Diese Policy beschränkt standardmäßig primär 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 vi /etc/default/grub
In GRUB_CMDLINE_LINUX und GRUB_CMDLINE_LINUX_DEFAULT folgende Parameter ergänzen
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
Permissive
sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: default
Current mode: permissive
Mode from config file: permissive
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 33
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
Meldungen, in denen SELinux eine angeforderte Operation eines Prozesses auf ein Objekt verweigert hat
- 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 |