Seminarinhalt
Technisch basiert AppArmor auf einem Mandatory Access Control-System (MAC), das die LSM-Schnittstelle (Linux Security Modules) des Kernels nutzt. Viele Sicherheitsstandards und Zertifizierungen verlangen, dass ein gehärtetes Linux-System neben dem klassischen Discretionary Access Control (DAC) zusätzlich durch ein MAC-System geschützt wird. Nur so ist sichergestellt, dass selbst privilegierte Prozesse – einschließlich Root – ausschließlich klar definierte Aktionen ausführen dürfen. Darüber hinaus schützt ein MAC-System vor unerwartetem Verhalten von Anwendungen und bietet oft auch Schutz vor bislang unbekannten Sicherheitslücken.
Aufgrund dieser Vorteile ist AppArmor in mehreren großen Linux-Distributionen – darunter SUSE Linux Enterprise, openSUSE, Ubuntu und Debian – bereits standardmäßig nach der Installation aktiviert.
Programm
- Discretionary Access Control (DAC) System
- Mandatory Access Control (MAC) System
- Multi Level Security (MLS) System
- Role Based Access Control (RBAC) System
- Schwachstellen von DAC geschützten Systemen
- Vorteile von MAC geschützten Systemen
- Arbeitsweise des LSM-Hooks
- Überblick Major und Minor LSM Module (SELinux, AppArmor, BPF, Capabilities, ...)
- Auswahl der gewünschten LSM-Module beim Systemstart
- Vorteile eines Mandatory Access Control Systems
- LSM - Multi-Level Security (MLS)
- LSM - Multi-Category Security (MCS)
- LSM - Linux Capabilities (CAP_*)
- Funktionsunterschiede der MAC Systeme SELinux und AppArmor
- Prozesse und ihre Capabilities Bitmaps (Einstellungen)
- Aufgaben der ~20 wichtigsten Linux Capabilities
- Verwalten der Capabilities (setcap, getcap, pscap, netcap, pam_cap ...)
- Funktionsweise und Architektur von AppArmor
- Konfigurationsdateien /etc/apparmor/*.conf, /etc/apparmor.d/, ${HOME}/.apparmor/
- Verwaltungswerkzeuge (Yast, Kommandozeile, aa-*, apparmor-*)
- Profil und Prozess Status mit aa-status auswerten
- Profil Bezeichnungen (Naming vs. Attachement Specification)
- Profile Modi (enforce, complain, audit) im Detail
- Wechseln zwischen den verschiedenen Profil Modi
- Shell Skript mit unterschiedlichen Lese und Schreibzugriffen
- Backup Skript mit Einschränkungen
- Standardprogramme wie nmap, ...
- Netzwerkdienste wie SSHD, Apache
- Implementieren und Überarbeiten von Profilen aus dem extra-profiles Paket
- Finden und absichern von unconfined Prozessen
- Funktionsweise eines Webserver mit change_hat Funktionalität
- Apache Modul mod_apparmor
- AppArmor Hat Definition für PHP Applikationen
- Datenbank Management Werkzeuge wie Adminer
- Diagnostic Werkzeuge wie phpSysInfo
- Aufbau eines Profiles
- Include Varianten (abhängig von der AppArmor Version)
- Aufbau der Profile abstractions und tunables
- Zugriff auf Capabilities erlauben/blockieren
- Pfadangaben und Globbing für Dateien und Verzeichnisse
- Zugriffreche auf Dateien und Verzeichnisse (r, w, a, l, k, m)
- Executerechte von Programmen (ux, Ux, px, Px, i, cx, Cx)
- Laden von Child Profilen (subprofile, ^hat)
- Regel Attribute (audit, owner, deny, ...)
- Analysieren von Zugriffsverletzungen mit dem Audit Framework
- Anpassen von Profilen mit aa-logprof
- Entladen und Laden von veränderten Profilen in den Kernel
- Arbeiten mit dem apparmor_parser
Zielgruppen
- Linux Administrator*innen

