Gestalten Sie Ihre Anwendung nach Prinzipien, nicht durch Flickwerk. Daten zeigen: geschichtete Kontrollen reduzieren Geschwindigkeit & Auswirkungen von Sicherheitsvorfällen.
Prinzipien
Kernprinzipien
Least privilege: Beschränken Sie Zugriffe (Benutzer, Services, Schlüssel). Defense in depth: Setzen Sie mehrere unabhängige Kontrollen ein (z. B. Validierung + CSP + Sanitisierung). Fail secure: Standardeinstellungen sind sicher; Fehler geben minimale Informationen preis.
Datengetriebene Hinweise
Überwachen Sie wichtige Metriken: Auth-Fehler, Passwortrücksetzung-Rate, Ausnahme-Spikes, JWT-Ablehnungen, 4xx/5xx-Raten. Verwenden Sie Schwellwerte und Anomalieerkennung — automatisches Tuning verkürzt die mittlere Zeit bis zur Erkennung (MTTD).
Checkliste
OWASP Top 10 zu Richtlinien zugeordnet
Ordnen Sie jeden Top-10-Punkt einer konkreten Richtlinie und messbaren Kontrollen zu (SLA für Behebung, CI-Pipelines, Scanner).
Für jeden OWASP-Punkt: a) verhindern mit Code/Config, b) detektieren mit Tests & Runtime-Sensoren, c) reagieren mit Incident-Playbook. Beispiel: Broken Access Control → automatisierte Zugriffstests + Runtime-RBAC-Audit-Logs.
MTTD
Ziel: < 24h
MTTR
Ziel: < 72h
Coverage
SAST/DAST ≥ 90%
Authentifizierung & Autorisierung
Machen Sie Authentifizierung intelligent: Schützen Sie Kontowiederherstellung, rotieren Sie Schlüssel, verlangen Sie MFA bei sensitiven Aktionen.
Auth
Design & Kontrollen
Verwenden Sie starke Passwort-Hashes (Argon2id bevorzugt; bcrypt oder scrypt akzeptabel). Verwenden Sie pro Benutzer Salt und memory-hard Parameter, abgestimmt auf Latenz & Kosten.
Bevorzugen Sie kurzlebige Access-Tokens + Refresh mit Rotation. Nutzen Sie das Muster der Refresh-Token-Rotation zur Erkennung von Diebstahl.
Implementieren Sie MFA (TOTP + Push + FIDO2) für alle privilegierten Operationen und Admins.
Durchsetzen von Account-Lockout/Backoff & Benachrichtigung bei verdächtigen Zurücksetzungen.
// Principle: check privileges at every entry point
async function authorize(user, resource, action){
// minimal example: ABAC + explicit deny
if(!user || user.disabled) throw new Error('unauthenticated');
const policy = await getPolicyFor(resource);
if(policy.deny.includes(user.role)) throw new Error('forbidden');
if(!policy.allowedActions.includes(action)) throw new Error('forbidden');
// log decision for auditing
audit('authz', {user:user.id, resource, action});
return true;
}
Checkliste
Eingabevalidierung & XSS
Validiere früh, kodieren Sie spät. Vertraue niemals Client-Input; verwenden Sie Allowlists. Bevorzugen Sie kontextuelle Kodierung zur Vermeidung von XSS.
XSS-Prävention
Serverseitige Ausgabe-Kodierung für HTML-, JS-, URL- und CSS-Kontexte verwenden. Verwenden Sie Templates mit Auto-Encoding.
Implementieren Sie CSP mit strengen Direktiven und Nonces, wo möglich. Vermeiden Sie Inline-Skripte/-Styles.
Sanitizen Sie untrusted HTML nur mit einer sicheren Bibliothek und Allowlist.
Beginnen Sie im Report-Only-Modus, um Verstöße zu sammeln: verwenden Sie report-uri/report-to. Dann iterativ auf Enforcement umstellen. Erwägen Sie Nonce- oder Hash-Ansatz für notwendige Inline-Skripte.
Checkliste
Speicherung & Datenschutz
Verschlüsseln Sie sensible Daten im Ruhezustand & während der Übertragung. Wenden Sie feldbasierte Verschlüsselung für PII an und schützen Sie Schlüssel mit KMS/HSM und Rotationsrichtlinien.
Key-Management
Nutzen Sie verwaltetes KMS mit starken IAM-Richtlinien und Least Privilege. Rotieren Sie Schlüssel quartalsweise oder gemäß Richtlinie.
Speichern Sie niemals rohe Zugangsdaten oder Geheimnisse im Code oder Klartext. Verwenden Sie Secret-Manager & ephemere Credentials (IAM-Rollen).
Datenminimierung & Aufbewahrung
Sammeln Sie nur notwendige Daten; setzen Sie Aufbewahrungsrichtlinien und automatisierte Löschung um; verwenden Sie Pseudonymisierung, wo möglich.
Checkliste
Abhängigkeiten & Lieferketten-Sicherheit
Behandeln Sie Third-Party-Code als hohes Risiko: scannen, pinnen, validieren und Artefakte signieren. Verwenden Sie reproduzierbare Builds und minimale Abhängigkeiten.
Praktische Schritte
Automatisierte SBOM-Erzeugung und Dependency-Scanning (Snyk, OSS Index, etc.). Blockieren Sie kritische Vulnerabilities in CI/CD-Gates.
Pinnen Sie Abhängigkeiten und bevorzugen Sie Lockfiles. Richten Sie Alerts für transitive Abhängigkeitsprobleme ein.
Signieren Sie Artefakte (Container-Images, Pakete) und überprüfen Sie Signaturen in Produktions-Policies.
Checkliste
CI/CD & Testing
Shift left: Führen Sie SAST, Dependency-Checks, Secret-Scanning und SBOM-Erzeugung in CI aus. Verwenden Sie reproduzierbare Pipelines und least-privileged Runner.
Pipeline-Kontrollen
Scheitern Sie Builds bei hochkritischen Findings. Bieten Sie Auto-PR-Remediations für niedrige/mittlere Severity, wo sicher.
Isolieren Sie Build-Umgebungen und rotieren Sie Servicetokens zwischen Stages. Verwenden Sie ephemere Runner, um Exponierung zu reduzieren.
Automatisieren Sie Infrastruktur-Scanning (IaC-Checks) und erzwingen Sie sichere Baseline-Images.
Checkliste
Logging, Monitoring & Incident Response
Gestalten Sie Logging für Erkennung und Forensik. Zentralisieren Sie Logs, stellen Sie Unveränderbarkeit/Aufbewahrung sicher und führen Sie Playbook-Drills durch.
Monitoring-Essentials
Loggen Sie Auth-Entscheidungen, kritische Fehler und Policy-Verstöße. Telemetrie muss Request-IDs und Benutzerkontext für Traceability enthalten.
Bauen Sie Alerts auf anomalische Muster (Credential Stuffing, plötzlicher Traffic zu Admin-Endpunkten, Anstiege bei 401/403).
Führen Sie Tabletop-Übungen durch und automatisieren Sie IR-Schritte wo möglich: Container isolieren, Schlüssel rotieren, Sessions widerrufen.
Checkliste
Master-Checkliste (exportierbar)
Alle erforderlichen Items gesammelt. Exportieren Sie als CSV zur Integration mit Trackern.
Kurzes Quiz — Testen Sie Ihr Basiswissen
Wählen Sie die beste Antwort und senden Sie ab. Sofortiges Feedback.