Zum Inhalt springen

Linux/SELinux/02 Installation: Unterschied zwischen den Versionen

Aus Foxwiki
K Dirkwagner verschob die Seite SELinux/Installation nach Linux/SELinux/Installation, ohne dabei eine Weiterleitung anzulegen: Textersetzung - „SELinux“ durch „Linux/SELinux“
K Textersetzung - „ “ durch „ “
 
(49 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Linux/SELinux]]
{{Navigation|Linux/SELinux/01 Grundlagen|Linux/SELinux/02 Kontext}}
'''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 ===
Fall [[AppArmor]] installiert ist sollte dies 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 ===
* [[SELinux]] läuft standardmäßig im [[Enforcing-Modus]]
* [[SELinux-Targeted-Policy]] wird verwendet
 
=== Zusätzliche SELinux-Pakete ===
{| class="wikitable options big"
|-
! 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
<syntaxhighlight lang="bash" highlight="1">
yum install <package-name>
</syntaxhighlight>
 
{| class="wikitable options big"
|-
! 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
* Beachten Sie, dass die Pakete [[setools]] und [[setools-gui]] nur verfügbar sind, wenn der Red Hat Network Optional-Kanal aktiviert ist
|-
| 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
|}
 
{{Navigation|Linux/SELinux/01 Grundlagen|Linux/SELinux/02 Kontext}}
 
[[Kategorie:Linux/SELinux/01]]

Aktuelle Version vom 14. Juni 2026, 00:48 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

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
  • Beachten Sie, dass die Pakete setools und setools-gui nur verfügbar sind, wenn der Red Hat Network Optional-Kanal aktiviert ist
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