Zum Inhalt springen

Seminar/Linux/SELinux: Unterschied zwischen den Versionen

Aus Foxwiki
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