Seminar/Linux/SELinux: Unterschied zwischen den Versionen
Erscheinungsbild
Leere Seite erstellt |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
== ecurity Context auf Dateien und Verzeichnissen == | |||
* Interpretation des SELinux Context Types | |||
* Standardverhalten beim verschieben einer Datei mit mv | |||
* Standardverhalten beim kopieren einer Datei mit cp | |||
* Einfluss des restorecond auf unsere Label | |||
* SELinux Optionen bei mv, cp, mkdir, tar, rsync | |||
== 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 | |||
Version vom 19. März 2026, 07:43 Uhr
ecurity Context auf Dateien und Verzeichnissen
- Interpretation des SELinux Context Types
- Standardverhalten beim verschieben einer Datei mit mv
- Standardverhalten beim kopieren einer Datei mit cp
- Einfluss des restorecond auf unsere Label
- SELinux Optionen bei mv, cp, mkdir, tar, rsync
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