Zum Inhalt springen

Seminar/Linux/SELinux: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 116: Zeile 116:
</noinclude>
</noinclude>
= TMP =
= TMP =
== Inhalte ==
{| class="wikitable gnu options big col1center col3center"
! Kapitel !! Thema !! Gewichtung
|-
| 01 || [[Linux/SELinux/Grundlagen|Einführung]] || 1
|-
| 02 || [[Linux/SELinux/Dateien|Security Context auf Dateien und Verzeichnissen]] || 1
|-
| 03 || [[Linux/SELinux/Extended File Attributes|Extended File Attributes]] || 1
|-
| 04 || [[Linux/SELinux/Security Context|Security Context]] || 1
|-
| 05 || [[Linux/SELinux/File Context|File Context]] || 1
|-
| 06 || [[Linux/SELinux/Context Expressions|Context Expressions]] || 1
|-
| 07 || [[Linux/SELinux/Security Context von Datei|Security Context von Datei]] || 1
|-
| 08 || [[Linux/SELinux/Named File Transitions Rules|Named File Transitions Rules]] || 1
|-
| 09 || [[Linux/SELinux/Systemd und Temporäre Verzeichnisse|Systemd und Temporäre Verzeichnisse]] || 1
|-
| 10 || [[Linux/SELinux/strace context printing|strace context printing]] || 1
|-
| 11 || [[Linux/SELinux/Benutzer Login|Benutzer Login]] || 1
|-
| 12 || [[Linux/SELinux/Kategorien|Kategorien]] || 1
|-
| 13 || [[Linux/SELinux/Rollen|Rollen]] || 1
|-
| 14 || [[Linux/SELinux/Pluggable Authentication Modules|PAM]] || 1
|-
| 15 || [[Linux/SELinux/Prozess Context|Prozess Context]] || 1
|-
| 16 || [[Linux/SELinux/Ansible|SELinux und Ansible]] || 1
|-
| 17 || [[Linux/SELinux/Salt|SELinux und Salt]] || 1
|-
| 18 || [[Linux/SELinux/Container|SELinux und Container]] || 1
|}
== 1 - Grundlagen & Security Context ==
== 1 - Grundlagen & Security Context ==
; Ziele
; Ziele

Version vom 13. Juni 2026, 09:23 Uhr

Titel - Kurzbescheibung

Beschreibung

Seminarziele

Lehrmethode

Zielgruppe

Vorkenntnisse

Notwendig
  • keine
Hilfreich

Dauer

* mind. 24 Unterrichtseinheiten (je 60 min) + Prüfung

Seminarzeiten

Foxwiki:Vorlage/Artikel/Seminar/Seminarzeiten

Inhalte

Themenfeld Beschreibung Gewichtung
01 Einführung 1


Kapitel Thema Gewichtung
01 Einführung 1
02 Security Context auf Dateien und Verzeichnissen 1
03 Extended File Attributes 1
04 Security Context 1
05 File Context 1
06 Context Expressions 1
07 Security Context von Datei 1
08 Named File Transitions Rules 1
09 Systemd und Temporäre Verzeichnisse 1
10 strace context printing 1
11 Benutzer Login 1
12 Kategorien 1
13 Rollen 1
14 PAM 1
15 Prozess Context 1
16 SELinux und Ansible 1
17 SELinux und Salt 1
18 SELinux und Container 1



Anhang

Verwandte Seminare

Skript

Siehe auch

TMP

1 - Grundlagen & Security Context

Ziele
  • Verstehen, wie SELinux funktioniert und wie Kontexte aufgebaut sind
  • Aufbau von SELinux-Kontexten verstehen, lesen und interpretieren
Inhalte
  • Einführung in SELinux – Nutzen und typische Einsatzszenarien
  • Security Context auf Dateien und Verzeichnissen
  • Interpretation des SELinux Context Types
  • Extended (File) Attributes (xattr) – Namespaces, Verwaltung mit getfattr/setfattr
  • Syscall-Analyse mit strace (stat, fstat, getxattr, …)
  • Standardverhalten bei mv und cp
  • Einfluss von restorecond auf Labels
  • SELinux Optionen bei mv, cp, mkdir, tar, rsync
Verlauf

Grundlagen, Security Context und Dateikontexte

1. Grundlagen und Kontextmodell
  • Nutzen und typische Einsatzszenarien
  • Grundprinzipien von SELinux
  • Aufbau des Security Context
  • SELinux User, Role, Type und Level
  • Lesen und Interpretieren von Context-Komponenten
2. Dateien, Verzeichnisse und Kontextspeicherung
  • Context auf Dateien, Verzeichnissen und Symlinks
  • Unterschiede bei Objektklassen
  • Speicherung von Labels in xattr
  • Namespaces und Werkzeuge
  • Kontext eines konkreten Objekts prüfen
  • Zusammenhang zwischen Objekt und Label
  • Relevante Syscalls
  • Sicht auf Context-Zugriffe im Laufzeitverhalten

2 Context und Policies

File Context Verwaltung & Security Context Policies

Ziele
  • Kontexte gezielt setzen, verwalten und reparieren
  • File Contexts korrekt setzen, Policies anpassen und fehlerhafte Labels systematisch reparieren
Inhalte
  • Context setzen mit chcon, semanage, setfiles, fixfiles
  • File Context Regeln – Aufbau, Regex, Prioritätsregeln
  • Context Expressions und matchpathcon
  • Reparieren von falsch gesetzten Labels mit restorecon (inkl. SHA256 digests)
  • Äquivalenzregeln definieren
  • Named File Transition Rules
  • Mount-Optionen für SELinux (context=, defcontext=, fscontext=, rootcontext=)
  • Systemd und temporäre Verzeichnisse – Context via systemd-tmpfiles
  • Lokale Änderungen exportieren/importieren mit semanage
Verlauf

File Contexts, Regeln und Label-Management

1. File Context Regeln und Ausdrücke
  • Unterschied zwischen Label und File-Context-Regel
  • Standardzuweisung und persistente Regeln
  • Regex-basierte Regeln
  • Auswertung und Priorität
  • Benannte Übergangsregeln
  • Context-Vergabe bei der Objekterzeugung
2. Verwaltung, Reparatur und temporäre Verzeichnisse
  • Context-Vorgaben mit systemd-tmpfiles
  • Temporäre Verzeichnisse und Laufzeitobjekte
  • Zusammenhang mit persistenter Label-Verwaltung

3 Benutzer, Rollen, Container und Automatisierung

Ziele
  • SELinux in realen Betriebsumgebungen einsetzen
Inhalte
  • SELinux User & Role Mapping im Detail
  • Linux User - SELinux User Zuordnung
  • Erstellen eigener SELinux User
  • Arbeiten mit SELinux Roles (newrole, sudo, runcon)
  • Verwalten von MCS Categories (chcat, setrans, mcstransd)
  • Pluggable Authentication Modules (PAM): pam_selinux, pam_sepermit, pam_namespace
  • Prozess Context, Domain Transitions, Memory Protection, NNP
  • SELinux & Ansible – native Module, Custom Policy verteilen
  • SELinux & Salt – native Module, Custom Policy verteilen
  • SELinux & Container – Podman, MCS, Volumes, udica
  • Eigene Container Policy mit udica erstellen
Verlauf

Benutzer, Rollen, Laufzeitverhalten und Integration

Benutzer, Rollen und Anmeldung
  • Login-Kontext
  • Zuordnung Linux User zu SELinux User
  • MCS-Kategorien
  • Bereichs- und Kategoriezuordnung
  • Rollenmodell
  • Rollenwechsel und Rechteabgrenzung
Prozesse, Automatisierung und Container
  • Prozess-Context und Domains
  • Domain Transitions
  • Laufzeitverhalten und Schutzmechanismen
  • Native Module
  • Verteilen von SELinux-Konfiguration
  • Native Module
  • Verteilen von SELinux-Konfiguration
  • Podman, MCS und Volumes
  • Eigene Container-Policy mit udica