Stack Hardening
DevOps-reife Verteidigung über deinen kompletten Stack.
DevOps-Teams und Solo-Ops die self-hosten und wissen wollen ob sie es richtig machen.
Du betreibst den Produktions-Stack. Du nutzt Container, einen Reverse-Proxy, einen Secrets-Manager (oder — ehrlich — eine `.env`-Datei von der du weißt dass du sie löschen solltest). Das Team shipped, der Stack hält, und jedes Quartal fragt jemand 'sind wir NIS2-compliant?' und der Raum wird still. Dieser Track ist der Nachmittag nach dem der Raum nicht mehr still wird.
Docker, Nginx, Vault, RBAC, CI/CD — jeder Punkt auf dieser Liste hat eine Default-Config die Angreifer lieben. Der Stack-Hardening-Track ist ein geführter Sprint durch genau die Controls die ein Team das schnell shippt von einem Team das schnell shippt UND nachts durchschläft trennen.
- M-001
Ship a non-root Dockerfile before it hits staging
Your Dockerfile runs as root + writes anywhere. Harden it: non-root user, read-only rootfs, HEALTHCHECK, scan with Trivy.
⏱️ 7 min⚡ 150 XP🎯 6 goalsLaunch → - M-002
Lock down Postgres before the audit team lands
Trust auth on the LAN, SSL off, every role superuser, no query log. Fix all four — without breaking the app.
⏱️ 10 min⚡ 180 XP🎯 8 goalsLaunch → - M-003
Stop the credential-stuffing wave on /login — without locking out users
/api/auth/login is taking 4000 req/min from rotating IPs. Define a rate-limit zone, apply it surgically, deny headless UAs. Validate against real traffic.
⏱️ 9 min⚡ 200 XP🎯 7 goalsLaunch → - M-004
Restore the nightly backup before the SLA breach hits
Primary db is corrupt at 03:14. Replica is lagged. Restore from nightly into a sidecar, verify schema + rows, sign off — without restoring directly to prod.
⏱️ 12 min⚡ 220 XP🎯 6 goalsLaunch → - M-005
Rotate the leaked API key without breaking a single client
API key leaked in a public Docker layer. 4 clients depend on it. Wrong order = production outage. Dual-write -> migrate -> drain -> retire.
⏱️ 13 min⚡ 240 XP🎯 8 goalsLaunch → - M-006
Default-deny the prod namespace without breaking ingress + worker traffic
Cluster-wide allow-everything is K8s default. Red-team probe in dev just reached /admin on prod/api-server. Apply default-deny + targeted allows. Wrong order = service breaks.
⏱️ 14 min⚡ 260 XP🎯 7 goalsLaunch → - M-007
Lock down the public /admin endpoint with IP allowlist + HTTP Basic Auth
12,000 brute-force attempts on /admin in 24 h. Add IP-based allow-list and HTTP Basic Auth to the nginx vhost — then verify a 403 from an unauthorized IP.
⏱️ 9 min⚡ 195 XP🎯 7 goalsLaunch → - M-008
Harden the docker-compose stack: drop root, remove socket, move secrets
Staging compose file has 5 critical issues: plain-text secrets, Docker socket mount, root user, no resource limits, mutable rootfs. Fix all five before prod.
⏱️ 10 min⚡ 210 XP🎯 6 goalsLaunch → - M-009
Secure Redis: bind restriction, requirepass, ACL, disable dangerous commands
Redis is on 0.0.0.0 with no auth. Pen-tester dumped all keys in seconds. Bind to localhost, set requirepass, disable FLUSHALL/DEBUG, create a least-privilege API ACL user.
⏱️ 11 min⚡ 230 XP🎯 6 goalsLaunch → - M-010
Kubernetes Pod Security: restrict capabilities & drop privileges
Your pod runs as root with NET_ADMIN/SYS_ADMIN. Harden it: drop privileged, remove capabilities, runAsNonRoot, readOnlyRootFilesystem, seccomp profile.
⏱️ 15 min⚡ 270 XP🎯 7 goalsLaunch → - M-011
AWS S3 Bucket Policy: restrict public access and enforce encryption
Your S3 bucket allows public read access with no encryption. Harden it: remove public access, restrict to IAM role, enforce encryption, block public ACLs.
⏱️ 12 min⚡ 250 XP🎯 6 goalsLaunch → - M-012
TLS Certificate Rotation: automate cert renewal before expiry
Your TLS certificate expires in 10 days. Automate renewal: certbot dry-run, cron job, monitoring alerts, verify new cert, test TLS handshake.
⏱️ 13 min⚡ 240 XP🎯 6 goalsLaunch → - M-013
PostgreSQL Row-Level Security: multi-tenant data isolation
Your multi-tenant PostgreSQL has no RLS. Enable RLS: create tenant isolation policy, admin bypass policy, test with different users, verify data isolation.
⏱️ 14 min⚡ 260 XP🎯 6 goalsLaunch → - M-014
GitHub Actions Hardening: secure CI/CD pipeline
Your CI/CD pipeline has no security controls. Harden it: add required reviewers, environment protection, secrets validation, branch protection rules.
⏱️ 15 min⚡ 270 XP🎯 6 goalsLaunch → - M-015
Prometheus Alerting: configure critical security alerts
Your Prometheus has only basic error rate alert. Configure comprehensive security alerting: brute-force attacks, certificate expiry, suspicious logins, high CPU.
⏱️ 14 min⚡ 250 XP🎯 6 goalsLaunch →
Concrete outcomes. No lecture notes.
- 01Ein Dockerfile das non-root läuft, read-only, mit signierten Images
- 02Eine Nginx-Config die aggressive Scraper an der Edge rate-limitet
- 03Ein Vault-gestützter Secrets-Flow — null Credentials in Git-History
- 04RBAC so spezifisch dass jedes Rollen-Audit 10 Minuten dauert, nicht 10 Stunden
- 05Eine CI/CD-Pipeline die den ClawGuru Security-Check auf jeden PR laufen lässt und Regressions-Builds failen lässt
- 06Ein schriftliches Incident-Response-Runbook das du um 3 Uhr morgens tatsächlich nutzen kannst
- ▸DevOps / SRE Leads in 10–200 Personen Firmen
- ▸Solo-Ops mit Multi-Service Self-Hosted Infra
- ▸Engineering Manager:innen die sich auf NIS2-Audit vorbereiten
- ▸Security Engineers die eine Legacy-DevOps-Kultur geerbt haben
Adressiert direkt NIS2 Artikel 21 technische Controls (Risikomanagement, Incident Handling, Supply-Chain-Security, Verschlüsselung). Alignt mit ENISA Self-Hosted Guidance und BSI-Grundschutz SYS.1, APP.4 und CON.3. Produziert Evidence-Artefakte die du an eine Audit-Antwort anhängen kannst.
Wir hatten ein NIS2-Readiness-Assessment auf Dienstag gelegt. Am Montagabend haben wir Stack Hardening durchgezogen. Der Auditor ging 40 % schneller als geplant weil die Antworten schon dokumentiert waren.
Defender II
Schließe alle Stack-Hardening-Missionen ab + die cross-track 'NIS2 Audit Response' Capstone (ship mit dem Track).
- ✓W3C Verifiable Credential — Defender II Level
- ✓Einladung zum ops-fokussierten Defender-Guild-Channel
- ✓Rabatt auf ClawGuru Pro (Stack-Hardening-Graduates)
- ✓Listing als hardening-fähig im optionalen ClawGuru Talent-Directory (opt-in)
Questions we already got.
Ist das produktionsreife Guidance oder nur Theorie?+
Jede Mission produziert funktionierende Config. Wir shippen die exakten Flags, Headers, Rules, YAML. Kopieren, testen, deployen.
Wir sind nicht auf Docker/K8s. Relevant?+
~70 % des Contents gilt für jeden Linux-Stack (systemd-Services, nginx, Secrets-Handling, RBAC, CI/CD). Die Docker-+-K8s-Specifics sind klar markiert — skippe sie wenn sie nicht relevant sind.
Deckt ihr cloud-spezifische Controls ab (AWS IAM, GCP, Azure)?+
Teilweise — dieser Track fokussiert auf self-hosted. Cloud-spezifisches Hardening ist der Auth-&-Identity-Track plus zukünftige provider-spezifische Bonus-Missionen.
Wie unterscheidet sich das von CIS Benchmarks?+
CIS ist eine Checkliste. Stack Hardening ist eine spielbare Simulation der exakten Config-Changes die du machen würdest um CIS zu erfüllen — mit Erklärungen die ein Operator auch liest.
Wöchentlicher Security-Report
Kritische CVEs, Fix-Anleitungen und Hardening-Tipps — kostenlos, jede Woche.