cms.c2sgmbh/docs/anleitungen/SECRET_ROTATION_RUNBOOK.md

1.4 KiB

Secret Rotation Runbook

Version: 2026-02-17

Ziel

Standardisiertes Vorgehen für Rotation von Sicherheits- und Integrations-Secrets ohne Downtime.

Scope

  • PAYLOAD_SECRET
  • CRON_SECRET
  • CSRF_SECRET
  • SMTP/OAuth/Redis Secrets (SMTP_PASS, GOOGLE_CLIENT_SECRET, META_APP_SECRET, REDIS_PASSWORD)

Vorbedingungen

  1. Wartungsfenster/Change-Freigabe vorhanden.
  2. Backup und Rollback-Plan sind dokumentiert.
  3. Neue Secret-Werte sind bereits im Secret-Manager hinterlegt.

Rotation Ablauf

  1. Neue Secrets generieren und im Secret-Manager speichern.
  2. Alle betroffenen Deployments aktualisieren:
    • CMS/App
    • Queue Worker
    • externe Cron-Jobs
  3. Metadaten mitpflegen:
    • <SECRET>_ROTATED_AT=<ISO timestamp>
    • optional <SECRET>_EXPIRES_AT=<ISO timestamp>
  4. Deployment durchführen.
  5. Verifikation:
    • Login/API funktionieren
    • Cron-Endpunkte authentifizieren korrekt
    • SMTP/OAuth/Redis Health ist grün
    • Monitoring external.secrets zeigt keinen kritischen Zustand
  6. Alte Secrets im Secret-Manager deaktivieren/entfernen.

Post-Rotation Checks

pnpm -s typecheck
pnpm -s test:security

Optional:

./scripts/security/history-scan.sh

Notfall / Rollback

  1. Vorherigen Secret-Stand reaktivieren.
  2. Services neu starten.
  3. Fehlerursache analysieren (Format, propagierte Umgebungsvariablen, Cache/Stale Worker).