Nächste Seite:
Vorwort
Aufwärts:
SELinux und AppArmor
Vorherige Seite:
SELinux und AppArmor
Inhalt
Vorwort
Einführung
Was ist MAC und warum brauchen wir das?
Computersicherheit
Geschichte der Computersicherheit
DAC, MAC und RBAC Systeme
Discretionary Access Control (DAC)
Mandatory Access Control (MAC)
Multi Level Security
Bell LaPadula
Biba
LoMAC
Multilateral-Security
Compartment- oder Lattice-Modell
Clark Wilson
Chinese Wall
Role Based Access Control (RBAC)
Type Enforcement
Linux Capabilities
Was ist eine Capability?
Welche Capabilities existieren?
Wie setzt man die Capabilities ein?
Filesystem Capabilities
Alternative MAC-Systeme
Linux Intrusion Detection System (LIDS)
GetRewted Security (grsecurity)
RuleSet Based Access Control (RSBAC)
Benchmarks
Novell AppArmor
SELinux
AppArmor
AppArmor Geschichte
AppArmor Anwendung
Installation unter SUSE Linux
Starten von AppArmor
Welche Prozesse werden überwacht?
Analyse der Protokolle
AppArmor Benachrichtigungen und Berichte
Executive-Summary-Report
Applications-Audit
Security-Incident-Report
Erzeugen eines Profils mit Yast
Erzeugen eines Subprofils (Hat) mit Yast
AppArmor Funktion
Was sollte immunisiert werden?
Netzwerkdienste
Netzwerkclients
Cron-Jobs
Wie schützt AppArmor
AppArmor Befehle
apparmor_status
audit
autodep
complain
enforce
genprof
logprof
apparmor_parser
unconfined
AppArmor Konfigurationsdateien
logprof.conf
subdomain.conf
reports.conf
severity.db
reports.crontab
AppArmor Syntax
Kommentare
Include-Direktiven
Profil
Regel
Variablen
Capabilities
Abstractions
AppArmor Installation
Ubuntu und Debian
Installation aus den Sourcen
AppArmor für Fortgeschrittene
Erzeugen der Log-Markierung für Logprof
ChangeHat
Apache 2.0 und mod_apparmor
PAM und pam_apparmor
Einzelne Benutzer mit unterschiedlichen Profilen
Typische AppArmor Administrationsvorgänge
Weiteres Cacheverzeichnis für den Squid-Proxy
Eine neue PHP-Anwendung für den Apache
VirtualHosts mit Apache
Überwachung von Snort mit AppArmor
Überwachung von Shellskripten
Modifikation eines Profils ohne Neustart der überwachten Applikation
AppArmor Geschwindigkeit
Kritische Betrachtung von AppArmor
SELinux für Einsteiger
SElinux Geschichte
SELinux Architektur
Access-Vector-Cache
SELinux Grundlagen
Was ist SELinux
Der Security Context: SELinux Benutzer, Rollen und Typen
Type Enforcement am Beispiel: Squid
Welche Ressource erhält welchen Context?
Das klassische Beispiel: passwd
Domänentransition
Rollen und Benutzer
Multi-Level-Security
Multi Category Security
SELinux Anwendung
Distributionen
Fedora Core
Debian und Ubuntu
Gentoo
Slackware
Welche SELinux Policy?
Erste Schritte und SELinux Befehle
SELinux Protokollmeldungen
SElinux Boolsche Variablen
Administration der Boolschen Variablen
SElinux Anpassungen
Verwaltung der SELinux Benutzer
Verwaltung der Ports
Verwaltung der Security-Contexts der Dateien
Customizable Types
Erweiterung der Policy
Die Targeted Policy
Deaktivierung von SELinux für einzelne Applikationen
Die boolschen Variablen der Targeted Policy
Schutz zusätzlicher Applikationen mit SELinux
Die Strict-Policy
Was unterscheidet die Strict-Policy?
Die boolschen Variablen der Strict-Policy
Schutz zusätzlicher Applikationen mit SELinux
Neue Rollen zur Delegation der Root-Fähigkeiten
Die MLS Policy
Labeling der Objekte
MLS in der Praxis
SELinux Kommandos
apol
avcstat
audit2allow
audit2why
chcat
chcon
checkmodule
checkpolicy
fixfiles
genhomedircon
getenforce
getsebool
load_policy
matchpathcon
newrole
restorecon
run_init
sealert
seaudit
seaudit-report
sediff
sediffx
seinfo
selinuxenabled
semanage
SELinux User-Verwaltung
Hinzufügen neuer Dateien
Verwaltung der Netzwerkports
semodule
semodule_expand
semodule_link
semodule_package
sesearch
sestatus
setenforce
setfiles
setsebool
setroubleshootd
system-config-securitylevel
togglesebool
Typische SELinux Administrationsaufgaben
Abschalten von SELinux
Abschalten von SELinux für einen Dienst
Erneutes Labeln des Betriebssystems
Programme in unconfined_t funktionieren nicht
KDE-Programme
Start eines Dienstes mit ungewöhnlichem Port
Verwendung einer SWAP-Datei
Apache Webserver
Neues DocumentRoot-Verzeichnis
Gleichzeitiger Zugriff per FTP, Samba, etc.
Zugriff auf eine MySQL Datenbank
Sicherung (Backup)
Analyse mit apol
Policy-Components
Policy-Rules
File Contexts
Analysis
SELinux Update
SELinux Installation
Fedora Core
Debian Etch
Sicherer Betrieb eines Webservers mit FastCGI und SELinux
FastCGI mit mod_fcgid
Konfiguration des Apache und mod_fcgid
SuExec und mod_fcgid
SELinux und mod_fcgid
Geschwindigkeit von mod_fcgid und SELinux
SELinux Policy Entwicklung
Die erste eigene Policy
Start
Domänen und Typen
File Contexts
Übersetzung
Laden der Policy und Labeln der Dateien
Test und Analyse der Fehlermeldungen
Policy mit Require-Block
Policy unter Zugriff auf die Schnittstellen
Setzen der Uhrzeit erlauben
Ist die Policy nun fertig?
Interface
Fazit
Boolsche Variablen
Überblick
Operatoren
Booleans und Interfaces
Praktische Anwendung bei unserer date Policy
Policy für einen Netzwerkdienst
Installation von HAVP
Erzeugung der Policy
Verzicht auf run_init
Labeln von Objekten
Labeling von Dateien
Labeling mit xattrs
Task-basiertes Labeling
Transitions-basiertes Labeling
Generelles Labeling
Labeling von Netzwerkobjekten
Netzwerkkarten
IP-Adressen
Ports
IP-Pakete
Security-Associations
Labeling weiterer Objekte
Socket
System V IPC
Capability
Prozess
System und Security
Entwicklung unter der Strict Policy
Der Befehl date
Ein Modul für die Targeted- und Strict-Policy
Weitere Rollen zur Delegation
Die komplett eigene Policy
SELinux Policy Editoren und IDEs
Vim als SELinux Editor
SELinux Policy IDE (SLIDE)
SLIDE Installation
SLIDE Funktionen
SELinux Policy Editor (SEedit)
Simplified Policy Description Language (SPDL)
SEedit Installation
Cross Domain Solutions Framework (CDS Framework)
CDS Konzept
Ältere SELinux Implementierungen
Die Example-Policy
Struktur der Example Policy
Anpassung und Entwicklung von eigenen Regeln
SELinux Zukunft
SELinux Policy Management Server
Installation
Anpassung der Policy
Anwendung des Policy-Management-Servers
Erlauben der Policy-Verwaltung
Fazit
SELinux-erweitertes XWindow
SELinux Sympsium
Auditd-Daemon
auditd
auditctl
aureport
ausearch
autrace
Profile für den Benchmark
AppArmor Profile für den Benchmark
SELinux Richtlinie für den Benchmark
Ergebnisse des LMBench
AppArmor
SELinux
Literatur
Unterabschnitte
Vorwort
Einführung
Ralf Spenneberg 2007-11-13