Linux/SELinux/02 Installation: Unterschied zwischen den Versionen
| (37 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
'''Linux/SELinux/Installation''' | {{Navigation|Linux/SELinux/01 Grundlagen|Linux/SELinux/02 Kontext}} | ||
'''Linux/SELinux/02 Installation''' - SELinux installieren | |||
== Installation (Debian) == | == Installation (Debian) == | ||
Standardkernel von Debian enthalten SELinux-Unterstützung | |||
; Paketen (Grundkonfiguration) | |||
* [[selinux-basics]] | |||
* [[selinux-policy-default]] | |||
* [[auditd]] | |||
=== AppArmor entfernen === | === AppArmor entfernen === | ||
Fall [[AppArmor]] installiert ist sollte dies entfernt werden, um Konflikte zu vermeiden | |||
<syntaxhighlight lang="bash" highlight="" copy | |||
<syntaxhighlight lang="bash" highlight="1" copy> | |||
sudo apt purge apparmor | sudo apt purge apparmor | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight="1" copy> | |||
sudo reboot | sudo reboot | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Zeile 16: | Zeile 23: | ||
<syntaxhighlight lang="bash" highlight="1" copy line> | <syntaxhighlight lang="bash" highlight="1" copy line> | ||
sudo apt install selinux-basics selinux-policy-default auditd newrole attr | 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> | </syntaxhighlight> | ||
Das Paket selinux-policy-default liefert die Standardregeln für Debian | ; 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 aktivieren === | ||
SELinux wird über Kernel-Parameter aktiviert | ; SELinux wird über Kernel-Parameter aktiviert | ||
Dazu wird die GRUB-Konfiguration angepasst | |||
<syntaxhighlight lang="bash" highlight="1" copy line> | <syntaxhighlight lang="bash" highlight="1" copy line> | ||
sudo | sudo vi /etc/default/grub | ||
</syntaxhighlight> | </syntaxhighlight> | ||
In ''GRUB_CMDLINE_LINUX'' und ''GRUB_CMDLINE_LINUX_DEFAULT'' | 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> | <syntaxhighlight lang="bash" highlight="1" copy line> | ||
sudo update-grub | sudo update-grub | ||
| Zeile 36: | Zeile 70: | ||
=== 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> | ||
Standardmäßig läuft SELinux im permissiven Modus | ; Standardmäßig läuft SELinux im permissiven Modus | ||
=== Funktion prüfen === | === Funktion prüfen === | ||
SELinux-Status anzeigen | SELinux-Status anzeigen | ||
<syntaxhighlight lang="bash" highlight="" copy | <syntaxhighlight lang="bash" highlight="1" copy> | ||
getenforce | getenforce | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight=""> | |||
Permissive | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight="1" copy> | |||
sestatus | sestatus | ||
</syntaxhighlight> | </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 | 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) == | == Installation (RHEL) == | ||
| Zeile 65: | Zeile 125: | ||
* policycoreutils-gui | * policycoreutils-gui | ||
=== Modus === | |||
* [[SELinux]] läuft standardmäßig im [[Enforcing-Modus]] | |||
* [[SELinux-Targeted-Policy]] wird verwendet | |||
=== Zusätzliche SELinux-Pakete === | |||
{| class="wikitable options big" | {| class="wikitable options big" | ||
|- | |- | ||
! Pakete !! Beschreibung | ! Pakete !! Beschreibung | ||
|- | |- | ||
| policycoreutils || | | policycoreutils || Dienstprogramme wie [[restorecon]], [[secon]], [[setfiles]], [[semodule]], [[load_policy]] und [[setsebool]] für den Betrieb und die Verwaltung von SELinux | ||
|- | |- | ||
| selinux-policy || | | selinux-policy || Grundlegende Verzeichnisstruktur, die Datei [[selinux-policy.conf]] und RPM-Makros | ||
|- | |- | ||
| selinux-policy -targeted || | | selinux-policy -targeted || [[SELinux-Targeted-Richtlinie ]] | ||
|- | |- | ||
| libselinux || | | libselinux || API für [[SELinux-Anwendungen]] | ||
|- | |- | ||
| libselinux-utils || | | libselinux-utils || Dienstprogramme [[avcstat]], [[getenforce]], [[getsebool]], [[matchpathcon]], [[selinuxconlist]], [[selinuxdefcon]], [[selinuxenabled]] und [[setenforce]] | ||
|- | |- | ||
| libselinux-python || | | libselinux-python || [[Python-Bindungen]] für die Entwicklung von [[SELinux-Anwendungen]] | ||
|} | |} | ||
; Standardmäßig nicht installiert | ; Standardmäßig nicht installiert | ||
Installation durch | Installation durch | ||
<syntaxhighlight lang="bash" highlight="1"> | |||
yum install <package-name> | |||
</syntaxhighlight> | |||
{| class="wikitable options big" | {| class="wikitable options big" | ||
| Zeile 94: | Zeile 157: | ||
! Pakete !! Beschreibung | ! Pakete !! Beschreibung | ||
|- | |- | ||
| selinux-policy-devel || | | selinux-policy-devel || Dienstprogramme zum Erstellen einer benutzerdefinierten SELinux-Richtlinie und von Richtlinienmodulen | ||
|- | |- | ||
| selinux-policy-doc || | | selinux-policy-doc || Handbuchseiten, die beschreiben, wie SELinux zusammen mit verschiedenen Diensten konfiguriert wird | ||
|- | |- | ||
| selinux-policy-mls || | | selinux-policy-mls || 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 | | 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 || | | setools-console || [[Tresys Technology SETools-Distribution]], 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 || Metapaket für SETools | ||
|- | |- | ||
| setools-gui || | | setools-gui || Dienstprogramme [[apol]] und [[seaudit]] bereit | ||
|- | |- | ||
| setools-console || | | setools-console || 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 | ||
|- | |- | ||
| mcstrans || übersetzt Stufen wie s0-s0:c0.c1023 in eine besser lesbare Form wie SystemLow-SystemHigh | | mcstrans || [[mcstrans]] übersetzt Stufen wie s0-s0:c0.c1023 in eine besser lesbare Form wie SystemLow-SystemHigh | ||
|- | |- | ||
| policycoreutils-python || | | policycoreutils-python || 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 | | policycoreutils-gui || stellt [[system-config-selinux]] bereit, ein grafisches Dienstprogramm zur Verwaltung von SELinux | ||
|} | |} | ||
[[Kategorie:Linux/SELinux]] | {{Navigation|Linux/SELinux/01 Grundlagen|Linux/SELinux/02 Kontext}} | ||
[[Kategorie:Linux/SELinux/01]] | |||
Aktuelle Version vom 12. Juni 2026, 11:50 Uhr
Linux/SELinux/02 Installation - SELinux installieren
Installation (Debian)
Standardkernel von Debian enthalten SELinux-Unterstützung
- Paketen (Grundkonfiguration)
AppArmor entfernen
Fall AppArmor installiert ist sollte dies 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
- SELinux läuft standardmäßig im Enforcing-Modus
- SELinux-Targeted-Policy wird verwendet
Zusätzliche SELinux-Pakete
| Pakete | Beschreibung |
|---|---|
| policycoreutils | Dienstprogramme wie restorecon, secon, setfiles, semodule, load_policy und setsebool für den Betrieb und die Verwaltung von SELinux |
| selinux-policy | Grundlegende Verzeichnisstruktur, die Datei selinux-policy.conf und RPM-Makros |
| selinux-policy -targeted | SELinux-Targeted-Richtlinie |
| libselinux | API für SELinux-Anwendungen |
| libselinux-utils | Dienstprogramme avcstat, getenforce, getsebool, matchpathcon, selinuxconlist, selinuxdefcon, selinuxenabled und setenforce |
| libselinux-python | Python-Bindungen für die Entwicklung von SELinux-Anwendungen |
- Standardmäßig nicht installiert
Installation durch
yum install <package-name>
| Pakete | Beschreibung |
|---|---|
| selinux-policy-devel | Dienstprogramme zum Erstellen einer benutzerdefinierten SELinux-Richtlinie und von Richtlinienmodulen |
| selinux-policy-doc | Handbuchseiten, die beschreiben, wie SELinux zusammen mit verschiedenen Diensten konfiguriert wird |
| selinux-policy-mls | 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 | Tresys Technology SETools-Distribution, 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 | Dienstprogramme apol und seaudit bereit |
| setools-console | Befehlszeilen-Dienstprogramme sechecker, sediff, seinfo, sesearch und findcon bereit
|
| mcstrans | mcstrans übersetzt Stufen wie s0-s0:c0.c1023 in eine besser lesbare Form wie SystemLow-SystemHigh |
| policycoreutils-python | 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 |