Unternehmen führen zunehmend Paketierung und Deployment über Container durch. Container mit sicherheitskritischen Anwendungen sollten aber adequat geschützt werden.
In der Schulung erfährst du alles Wesentliche über die Sicherheitsrisiken der Container Technologie und wie du Anwendungen in Containern sicher betreiben kannst. Du bekommst ein Verständnis, wie Container Anwendungen isolieren und wie du die Isolierung an deine Anforderungen anpassen kannst.
In zahlreichen Übungen lernst du, wie man Linux Technologie zusammen mit Docker einsetzt, um die gewünschte Security Strategie umzusetzen.
Docker wird im Seminar stellvertretend für andere Container Technologien bei Übungen und Beispielen eingesetzt. Die meisten der vorgestellten Techniken und Werkzeuge sind von Docker unabhängig und können auch mit anderen Container Technologien eingesetzt werden.
Falls du noch keine oder nur wenig Berührung mit Docker hattest, gibt es zu Beginn eine kurze Einführung, die dir das notwendige Wissen vermittelt, um die Security Übungen nachvollziehen zu können.
Container Grundlagen
- Kurze Einführung bzw. Wiederholung von Docker Konzepten
- Unterschied zwischen Virtuellen Maschinen und Containern
- Erstellen von Dockerfiles
Kryptographische Grundlagen
- Prüfsummen und Hashcodes
- Die SHA Algorithmen
- Überprüfung der Integrität von Dateien mit Signaturen
- Public/Private Key Security
Container Security
- Angriffsvektoren und Bedrohungen: Kernel Exploits, DoS, Container Breakout und Poisoned Images
- Zugriff auf den Kernel vom Container
- Best Practices
Image Security
- Die Infrastruktur für Container: Repositories
- Continuous Delivery/Deployment und Container
- Wie sicher sind Images auf Docker Hub?
- Kryptografischer Schutz vor manipulierten Images und Abhängigkeiten
- Prüfsummen
- Content Trust und Docker Notary
- Aufsetzen eines Docker Notary Servers
- Sicherer und wiederholbarer Build von Images
Isolierung von Containern
- Trennung von Arbeitsspeicher, Prozessen, Dateisystem und Netz mit Namespaces
- User Remapping
Limitierung von Ressourcen
- Begrenzung von Speicher, CPU und Plattenzugriff
- cgroups
Härten von Containern
- Wechsel auf nicht privilegierte Benutzer
- Entfernen von unnötigen Berechtigungen
- Wie schreibe ich sichere Dockerfiles?
- Dockerfile Vorlage
- gosu
Einschränkung der Berechtigungen
- Zugriff auf den Kernel
- Container Activity Lockdown
- Priviledged und Unpriviledged
- Kernel Capabilities
- AppArmor versus SELinux
- SECCOMP
AppArmor
- Architektur
- Wie ermittele ich die benötigten Rechte für eine bestehende Anwendung?
- Beobachten des Verhaltens von Anwendungen
- Einschränken der Rechte eines Containers über Profile
- Erstellen von eigenen Profilen
Automatischer Security Check von Container Images
- Test Automation
- Security Scanner für Code, Abhängigkeiten und Penetrationstests
- Vulnerability Scanner
Cloud Security
- Absichern einer Container basierten Cloud am Beispiel von Kubernetes
Zielgruppe
Sicherheits Experten, Sicherheits Beauftragte, Administratoren, Entwickler, Architekten
Vorkenntnisse
IT Grundlagen, Linux Grundkenntnisse sind hilfreich aber nicht notwendig
Deine Vorteile
Dauer
1 Tag
Kursunterlage
Handouts aller in der Schulung präsentierten Folien sowie ein Skript mit detailierten Übungen.