Seminar/Linux/SELinux: Unterschied zwischen den Versionen
Erscheinungsbild
| Zeile 3: | Zeile 3: | ||
! Nr !! Thema !! Gewichtung | ! Nr !! Thema !! Gewichtung | ||
|- | |- | ||
| | | 01 || [[SELinux/Grundlagen|Einführung]] || 1 | ||
|- | |- | ||
| | | 02 || [[SELinux/Dateien|Security Context auf Dateien und Verzeichnissen]] || 1 | ||
|- | |- | ||
| | | 03 || [[SELinux/Extended File Attributes]]| Extended File Attributes]] || 1 | ||
|- | |- | ||
| | | 04 || [[#Security Context Verwaltung|Security Context Verwaltung]] || 1 | ||
|- | |- | ||
| | | 05 || [[#File Context Verwaltung|File Context Verwaltung]] || 1 | ||
|- | |- | ||
| | | 06 || [[#Context Expressions|Context Expressions]] || 1 | ||
|- | |- | ||
| | | 07 || [[#Security Context (fcontext) einer Datei ändern|Security Context (fcontext) einer Datei ändern]] || 1 | ||
|- | |- | ||
| | | 08 || [[#Named File Transitions Rules|Named File Transitions Rules]] || 1 | ||
|- | |- | ||
| | | 09 || [[#Systemd und Temporäre Verzeichnisse|Systemd und Temporäre Verzeichnisse]] || 1 | ||
|- | |- | ||
| | | 10 || [[#strace und SELinux Context Printing|strace und SELinux Context Printing]] || 1 | ||
|- | |- | ||
| | | 11 || [[#SELinux und Benutzer Login|SELinux und Benutzer Login]] || 1 | ||
|- | |- | ||
| | | 12 || [[#Verwalten von Kategorien|Verwalten von Kategorien]] || 1 | ||
|- | |- | ||
| | | 13 || [[#Arbeiten mit SELinux Roles|Roles]] || 1 | ||
|- | |- | ||
| | | 14 || [[#Pluggable Authentication Modules (PAM)|Pluggable Authentication Modules]] || 1 | ||
|- | |- | ||
| | | 15 || [[#Prozess Context im Detail|Prozess Context im Detail]] || 1 | ||
|- | |- | ||
| | | 16 || [[#SELinux und Ansible|SELinux und Ansible]] || 1 | ||
|- | |- | ||
| | | 17 || [[#SELinux und Salt|SELinux und Salt]] || 1 | ||
|- | |- | ||
| | | 18 || [[#SELinux und Container|SELinux und Container]] || 1 | ||
|} | |} | ||
Version vom 20. März 2026, 08:53 Uhr
Übersicht
| Nr | Thema | Gewichtung |
|---|---|---|
| 01 | Einführung | 1 |
| 02 | Security Context auf Dateien und Verzeichnissen | 1 |
| 03 | SELinux/Extended File Attributes| Extended File Attributes]] | 1 |
| 04 | Security Context Verwaltung | 1 |
| 05 | File Context Verwaltung | 1 |
| 06 | Context Expressions | 1 |
| 07 | Security Context (fcontext) einer Datei ändern | 1 |
| 08 | Named File Transitions Rules | 1 |
| 09 | Systemd und Temporäre Verzeichnisse | 1 |
| 10 | strace und SELinux Context Printing | 1 |
| 11 | SELinux und Benutzer Login | 1 |
| 12 | Verwalten von Kategorien | 1 |
| 13 | Roles | 1 |
| 14 | Pluggable Authentication Modules | 1 |
| 15 | Prozess Context im Detail | 1 |
| 16 | SELinux und Ansible | 1 |
| 17 | SELinux und Salt | 1 |
| 18 | SELinux und Container | 1 |
Extended (File) Attributes (xattr)
- Verfügbare Namespaces (security, system, trusted, user)
- Verwaltung mit getfattr, setfattr
- Syscall Analyse mit strace (stat, fstat, statx, getxattr, lgetxattr, fgetxattr, ...)
- Sichern und wiederherstellen der Extended Attributes mit tar
- Kopieren der Extended Attributes mit rsync
Security Context Verwaltung
- Context setzen mit chcon
- Category und Sensitivity Label setzen mit chcat
File Context Verwaltung
- Verhalten bei Dateisystemen mit und ohne xattr Unterstützung
- Mount Optionen für SELinux (context=, defcontext=, fs,context=, rootcontext=)
Context Expressions
- File Contexte anzeigen
- Aufbau der File Context Regeln (regex, class, label)
- Context Expressions Prioritätsregeln
- Context Analyse mit matchpathcon
Security Context (fcontext) einer Datei ändern
- chcon vs. semanage
- Definieren von neuen Regeln in der Policy
- Reparieren von falsch gesetzten Labeln
- Äquivalenz Regeln definieren
- restorecon und SHA256 digests
- Hash Überprüfung mit restorecon_xattr
- Restorecon Aussnahmen bei customizable types
- /etc/selinux/targeted/contexts/files/
- Lokale Änderungen exportieren/importieren mit semanage
- Setzen und Reparieren von Kontexten mit setfiles
- Reparieren von Kontexten mit fixfiles (check, restore, relabel, onboot)
Named File Transitions Rules
- Problematik von manuell gesetzen Kontexten
- File vs. Named File Transitions Rules
- /etc/selinux/restorecond.conf
- /etc/selinux/restorecond_user.conf
Systemd und Temporäre Verzeichnisse
- Datei und Verzeichnis Erstellung durch Systemd
- SELinux Context setzen via systemd-tmpfiles
strace und SELinux Context Printing
- Context Abfrage bei Prozessen analysieren
SELinux und Benutzer Login
- SELinux Context von Benutzern
- SELinux User und SELinux Role Mapping im Detail
- Analyse mit seinfo
- SELinux Roles in der Targeted Policy im Detail (Aufgaben, Fähigkeiten, ...)
- Auswirkung der SELinux Role auf die Prozess Domain
- Linux User <-> SELinux User Mapping
- Service spezifische Role Zuweisung
- Praktische Übungen mit SELinux User und Roles
- Erstellen eines eigenen SELinux Users
- Linux Benutzer mit/ohne SELinux User Zuweisung löschen
Verwalten von Kategorien
- Planen und definieren von eigenen MCS Categories
- Übersetzungen mit setrans und mcstransd erstellen
- chcon vs. chcat
- Kategorien mit chcat auf Dateien, Verzeichnissen und Benutzern verwalten
Arbeiten mit SELinux Roles
- Standard Role definieren
- /etc/selinux/targeted/contexts/default_contexts
- Boolean Anpassungen für SELinux Roles
- Wechseln zwischen erlaubten Roles mit newrole
- sudo und SELinux Roles
- SELinux spezifische Parameter bei sudo Regeln
- Benutzer Programme via runcon mit unterschiedlichen Kontexten starten
Pluggable Authentication Modules (PAM)
- Grundlagen PAM Architektur
- pam_selinux.so
- pam_sepermit.so
- pam_namespace.so
- pam_oddjob_mkhomedir.so
Prozess Context im Detail
- Grundlagen allow Rule
- Grundlagen Prozess Context
- Übergang zu einer Domäne
- Memory Protection
- Limitieren von (ungewollten) Domain Transitions
- Policy capabilities
- No New Privilege (NNP)
- Type Attributes
- Abfragen von Domain Permissions
- Constraints
SELinux und Ansible
- Einrichten eines schnellen Ansible Roles Basissetups
- Dateisystem und SELinux Context
- SELinux Custom Policy verteilen
- Überblick Ansible native SELinux Module
SELinux und Salt
- Einrichten eines schnellen Salte State Basissetups
- Dateisystem und SELinux Context
- SELinux Custom Policy verteilen
- Überblick SaltStack native SELinux Module
SELinux und Container
- Podman Container Basis Test
- Podman und SELinux Multi-Category Security (MCS) Verhalten
- Podman Volumes und SELinux MCS Context Probleme
- Shared Volume mit richtigen MCS Context versehen
- Container Domain Transition
- Analyse von erlaubten domain Transition mit sesearch
- Container mit definierten Process Domain anstarten
- Domain Transition unconfined_t vs. spc_t
- Eigene Container Policy mit udica erstellen