Seminar/Linux/SELinux
Erscheinungsbild
(Weitergeleitet von Seminar/Linux/Selinux)
Inhalte
| 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 |
Seminartage
Tag 1
- Grundlagen
Grundlagen & Security Context
Ziel
Verstehen, wie SELinux funktioniert und wie Kontexte aufgebaut sind
Ergebnis
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
Tag 2
- Context und Policies
File Context Verwaltung & Security Context Policies
Ziel
Kontexte gezielt setzen, verwalten und reparieren
Ergebnis
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
Tag 3
- Benutzer, Rollen, Container und Automatisierung
Ziel
SELinux in realen Betriebsumgebungen professionell einsetzen
Ergebnis
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
Blocks
Tag 1
Grundlagen, Security Context und Dateikontexte
- Block 1. Grundlagen und Kontextmodell
- 01 - Einführung
- Nutzen und typische Einsatzszenarien
- Grundprinzipien von SELinux
- 02 - Security Context
- Aufbau des Security Context
- SELinux User, Role, Type und Level
- Lesen und Interpretieren von Context-Komponenten
- Block 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
Tag 2
File Contexts, Regeln und Label-Management
- Block 1. File Context Regeln und Ausdrücke
- 07 - File Context
- Unterschied zwischen Label und File-Context-Regel
- Standardzuweisung und persistente Regeln
- 08 - Context Expressions
- Regex-basierte Regeln
- Auswertung und Priorität
- Benannte Übergangsregeln
- Context-Vergabe bei der Objekterzeugung
- Block 2. Verwaltung, Reparatur und temporäre Verzeichnisse
- Context-Vorgaben mit systemd-tmpfiles
- Temporäre Verzeichnisse und Laufzeitobjekte
- Zusammenhang mit persistenter Label-Verwaltung
Tag 3
Benutzer, Rollen, Laufzeitverhalten und Integration
- Block 1
- Benutzer, Rollen und Anmeldung
- 11 - Benutzer Login
- Login-Kontext
- Zuordnung Linux User zu SELinux User
- 12 - Kategorien
- MCS-Kategorien
- Bereichs- und Kategoriezuordnung
- 13 - Rollen
- Rollenmodell
- Rollenwechsel und Rechteabgrenzung
- 14 - PAM
- pam_selinux
- pam_sepermit
- pam_namespace
- Block 2. Prozesse, Automatisierung und Container
- 15 - Prozess Context
- Prozess-Context und Domains
- Domain Transitions
- Laufzeitverhalten und Schutzmechanismen
- 16 - SELinux und Ansible
- Native Module
- Verteilen von SELinux-Konfiguration
- 17 - SELinux und Salt
- Native Module
- Verteilen von SELinux-Konfiguration
- Podman, MCS und Volumes
- Eigene Container-Policy mit udica