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“
 
(41 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
  • 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