Zum Inhalt springen

Linux/SELinux/02 Installation: Unterschied zwischen den Versionen

Aus Foxwiki
 
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Linux/SELinux/01 Grundlagen/Installation'''
{{Navigation|Linux/SELinux/01 Grundlagen|Linux/SELinux/02 Kontext}}
'''Linux/SELinux/02 Installation''' - SELinux installieren


== Installation (Debian) ==
== Installation (Debian) ==
Die Standardkernel von Debian enthalten SELinux-Unterstützung
Standardkernel von Debian enthalten SELinux-Unterstützung


; Paketen (Grundkonfiguration)
; Paketen (Grundkonfiguration)
* selinux-basics
* [[selinux-basics]]
* selinux-policy-default
* [[selinux-policy-default]]
* auditd
* [[auditd]]


=== AppArmor entfernen ===
=== AppArmor entfernen ===
Auf vielen Debian-Systemen wir bereits [[AppArmor]]
Fall [[AppArmor]] installiert ist sollte dies entfernt werden, um Konflikte zu vermeiden
* Dies muss entfernt werden, um Konflikte zu vermeiden


<syntaxhighlight lang="bash" highlight="1" copy>
<syntaxhighlight lang="bash" highlight="1" copy>
Zeile 115: Zeile 115:
* enthalten unter anderem den Quellkontext (scontext), den Zielkontext (tcontext) und die Objektklasse (tclass)
* enthalten unter anderem den Quellkontext (scontext), den Zielkontext (tcontext) und die Objektklasse (tclass)
</blockquote>
</blockquote>
{{Navigation|SELinux|Linux/SELinux/01 Grundlagen/Quickstart}}


== Installation (RHEL) ==
== Installation (RHEL) ==
Zeile 127: Zeile 125:
* policycoreutils-gui
* policycoreutils-gui


; Modus
=== Modus ===
Außerdem läuft SELinux standardmäßig SELinux im Enforcing-Modus und die SELinux-Targeted-Policy wird verwendet
* [[SELinux]] läuft standardmäßig im [[Enforcing-Modus]]
* [[SELinux-Targeted-Policy]] wird verwendet


; Zusätzliche SELinux-Pakete
=== Zusätzliche SELinux-Pakete ===
{| class="wikitable options big"
{| class="wikitable options big"
|-
|-
! Pakete !! Beschreibung
! Pakete !! Beschreibung
|-
|-
| policycoreutils || stellt Dienstprogramme wie restorecon, secon, setfiles, semodule, load_policy und setsebool für den Betrieb und die Verwaltung von SELinux bereit
| policycoreutils || Dienstprogramme wie [[restorecon]], [[secon]], [[setfiles]], [[semodule]], [[load_policy]] und [[setsebool]] für den Betrieb und die Verwaltung von SELinux
|-
|-
| selinux-policy || stellt eine grundlegende Verzeichnisstruktur, die Datei selinux-policy.conf und RPM-Makros bereit
| selinux-policy || Grundlegende Verzeichnisstruktur, die Datei [[selinux-policy.conf]] und RPM-Makros
|-
|-
| selinux-policy -targeted || stellt die SELinux-Targeted-Richtlinie bereit
| selinux-policy -targeted || [[SELinux-Targeted-Richtlinie ]]
|-
|-
| libselinux || stellt eine API für SELinux-Anwendungen bereit
| libselinux || API für [[SELinux-Anwendungen]]
|-
|-
| libselinux-utils || stellt die Dienstprogramme avcstat, getenforce, getsebool, matchpathcon, selinuxconlist, selinuxdefcon, selinuxenabled und setenforce bereit
| libselinux-utils || Dienstprogramme [[avcstat]], [[getenforce]], [[getsebool]], [[matchpathcon]], [[selinuxconlist]], [[selinuxdefcon]], [[selinuxenabled]] und [[setenforce]]
|-
|-
| libselinux-python || stellt Python-Bindungen für die Entwicklung von SELinux-Anwendungen bereit
| libselinux-python || [[Python-Bindungen]] für die Entwicklung von [[SELinux-Anwendungen]]
|}
|}


; Standardmäßig nicht installiert
; Standardmäßig nicht installiert
Installation durch
Installation durch
yum install ''<package-name>''
<syntaxhighlight lang="bash" highlight="1">
yum install <package-name>
</syntaxhighlight>


{| class="wikitable options big"
{| class="wikitable options big"
Zeile 156: Zeile 157:
! Pakete !! Beschreibung
! Pakete !! Beschreibung
|-
|-
| selinux-policy-devel || stellt Dienstprogramme zum Erstellen einer benutzerdefinierten SELinux-Richtlinie und von Richtlinienmodulen bereit
| selinux-policy-devel || Dienstprogramme zum Erstellen einer benutzerdefinierten SELinux-Richtlinie und von Richtlinienmodulen
|-
|-
| selinux-policy-doc || enthält Handbuchseiten, die beschreiben, wie SELinux zusammen mit verschiedenen Diensten konfiguriert wird
| selinux-policy-doc || 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 || 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 || 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 || [[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 || stellt die Dienstprogramme apol und seaudit bereit
| setools-gui || Dienstprogramme [[apol]] und [[seaudit]] bereit
|-
|-
| setools-console || stellt die Befehlszeilen-Dienstprogramme sechecker, sediff, seinfo, sesearch und findcon 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
* 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 ||  bietet Dienstprogramme wie semanage, audit2allow, audit2why und chcat zum Bedienen und Verwalten von SELinux
| 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
|}
|}
{{Navigation|Linux/SELinux/01 Grundlagen|Linux/SELinux/02 Kontext}}


[[Kategorie:Linux/SELinux/01]]
[[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

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