|
|
| (19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| '''Titel''' - Kurzbescheibung | | '''Seminar/Linux/SELinux''' - SELinux |
|
| |
|
| == Beschreibung == | | == Beschreibung == |
| Zeile 15: |
Zeile 15: |
| === Vorkenntnisse === | | === Vorkenntnisse === |
| ; Notwendig | | ; Notwendig |
| * keine | | * Linux Grundlagen |
| | * Linux Administration |
|
| |
|
| ; Hilfreich | | ; Hilfreich |
| | <!-- |
| * [[Informationssicherheit]] | | * [[Informationssicherheit]] |
| * [[IT-Sicherheit]] | | * [[IT-Sicherheit]] |
| Zeile 24: |
Zeile 26: |
| * [[Qualitätsmanagement]] | | * [[Qualitätsmanagement]] |
| * [[ISO 27001]] | | * [[ISO 27001]] |
| | --> |
|
| |
|
| === Dauer === | | === Dauer === |
| * mind. 24 Unterrichtseinheiten (je 60 min) + Prüfung
| | ; 4 Tage |
| | * 36 Unterrichtseinheiten (je 45min) |
|
| |
|
| === Seminarzeiten === | | === Seminarzeiten === |
| | <!-- |
| {{:Foxwiki:Vorlage/Artikel/Seminar/Seminarzeiten}} | | {{:Foxwiki:Vorlage/Artikel/Seminar/Seminarzeiten}} |
| | --> |
|
| |
|
| == Inhalte == | | == Inhalte == |
| | | {| class="wikitable gnu options big col1center col3center" |
| {| class="wikitable col1center col3center options" | | ! Kapitel !! Thema |
| | !Beschreibung!! 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 |
| |- | | |- |
| ! !! Themenfeld !! Beschreibung !! Gewichtung
| | | 16 || [[Linux/SELinux/Ansible|SELinux und Ansible]] |
| | | || 1 |
| |- | | |- |
| | 01 || [[Informationssicherheit | Einführung]] || || 1 | | | 17 || [[Linux/SELinux/Salt|SELinux und Salt]] |
| | | || 1 |
| |- | | |- |
| | | 18 || [[Linux/SELinux/Container|SELinux und Container]] |
| | | || 1 |
| |} | | |} |
|
| |
|
| | | <!-- |
| == Prüfung == | | == Prüfung == |
| [[IT-Grundschutz/Praktiker/Prüfung|Zertifikatsprüfung]] zum [[Seminar/Grundschutz/Praktiker|Grundschutz-Praktiker]] | | [[IT-Grundschutz/Praktiker/Prüfung|Zertifikatsprüfung]] zum [[Seminar/Grundschutz/Praktiker|Grundschutz-Praktiker]] |
| Zeile 58: |
Zeile 114: |
| ; Weitere Informationen | | ; Weitere Informationen |
| * [[...]] | | * [[...]] |
| | --> |
| | |
| <noinclude> | | <noinclude> |
|
| |
|
| == Anhang == | | == Anhang == |
| === Verwandte Seminare === | | === Verwandte Seminare === |
| {{Special:PrefixIndex/Seminar}} | | ; Sicherheit |
| | {{Special:PrefixIndex/Seminar/Sicherheit}} |
| | |
| | ; Linux |
| | {{Special:PrefixIndex/Seminar/Linux}} |
|
| |
|
| === Skript === | | === Skript === |
|
| |
|
| === Siehe auch === | | === Siehe auch === |
| {{Special:PrefixIndex/IT-Grundschutz/Praktiker}}
| |
|
| |
|
| ==== Weblinks ==== | | ==== Weblinks ==== |
|
| |
| </noinclude>
| |
| = 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 ==
| |
| ; 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
| |
| * 01 - [[Linux/SELinux/Grundlagen|Einführung]]
| |
| :* Nutzen und typische Einsatzszenarien
| |
| :* Grundprinzipien von SELinux
| |
|
| |
| * 02 - [[Linux/SELinux/Security Context|Security Context]]
| |
| :* Aufbau des Security Context
| |
| :* SELinux User, Role, Type und Level
| |
| :* Lesen und Interpretieren von Context-Komponenten
| |
|
| |
| ; 2. Dateien, Verzeichnisse und Kontextspeicherung
| |
| * 03 - [[Linux/SELinux/Dateien|Security Context auf Dateien und Verzeichnissen]]
| |
| :* Context auf Dateien, Verzeichnissen und Symlinks
| |
| :* Unterschiede bei Objektklassen
| |
|
| |
| * 04 - [[Linux/SELinux/Extended File Attributes|Extended File Attributes]]
| |
| :* Speicherung von Labels in [[xattr]]
| |
| :* Namespaces und Werkzeuge
| |
|
| |
| * 05 - [[Linux/SELinux/Security Context von Datei|Security Context von Datei]]
| |
| :* Kontext eines konkreten Objekts prüfen
| |
| :* Zusammenhang zwischen Objekt und Label
| |
|
| |
| * 06 - [[Linux/SELinux/strace context printing|strace context printing]]
| |
| :* 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
| |
| * 07 - [[Linux/SELinux/File Context|File Context]]
| |
| :* Unterschied zwischen Label und File-Context-Regel
| |
| :* Standardzuweisung und persistente Regeln
| |
| * 08 - [[Linux/SELinux/Context Expressions|Context Expressions]]
| |
| :* Regex-basierte Regeln
| |
| :* Auswertung und Priorität
| |
| * 09 - [[Linux/SELinux/Named File Transitions Rules|Named File Transitions Rules]]
| |
| :* Benannte Übergangsregeln
| |
| :* Context-Vergabe bei der Objekterzeugung
| |
|
| |
| ; 2. Verwaltung, Reparatur und temporäre Verzeichnisse
| |
| * 10 - [[Linux/SELinux/Systemd und Temporäre Verzeichnisse|Systemd 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
| |
| * 11 - [[Linux/SELinux/Benutzer Login|Benutzer Login]]
| |
| :* Login-Kontext
| |
| :* Zuordnung Linux User zu SELinux User
| |
| * 12 - [[Linux/SELinux/Kategorien|Kategorien]]
| |
| :* MCS-Kategorien
| |
| :* Bereichs- und Kategoriezuordnung
| |
| * 13 - [[Linux/SELinux/Rollen|Rollen]]
| |
| :* Rollenmodell
| |
| :* Rollenwechsel und Rechteabgrenzung
| |
| * 14 - [[Linux/SELinux/Pluggable Authentication Modules|PAM]]
| |
| :* [[pam_selinux]]
| |
| :* [[pam_sepermit]]
| |
| :* [[pam_namespace]]
| |
|
| |
| ; Prozesse, Automatisierung und Container
| |
| * 15 - [[Linux/SELinux/Prozess Context|Prozess Context]]
| |
| :* Prozess-Context und Domains
| |
| :* Domain Transitions
| |
| :* Laufzeitverhalten und Schutzmechanismen
| |
|
| |
| * 16 - [[Linux/SELinux/Ansible|SELinux und Ansible]]
| |
| :* Native Module
| |
| :* Verteilen von SELinux-Konfiguration
| |
|
| |
| * 17 - [[Linux/SELinux/Salt|SELinux und Salt]]
| |
| :* Native Module
| |
| :* Verteilen von SELinux-Konfiguration
| |
|
| |
| * 18 - [[Linux/SELinux/Container|SELinux und Container]]
| |
| :* Podman, MCS und Volumes
| |
| :* Eigene Container-Policy mit ''udica''
| |
|
| |
| {{DISPLAYTITLE:Seminar/SELinux}}
| |
|
| |
|
| [[Kategorie:Seminar/Linux]] | | [[Kategorie:Seminar/Linux]] |
| [[Kategorie:Seminar/Sicherheit]] | | [[Kategorie:Seminar/Sicherheit]] |
| | |
| | </noinclude> |