HF Pre-Go-Live Security-Audit Checkliste (verbindlich)
> WICHTIG: Dieser Audit ist VERBINDLICH bevor wir hochfrequenz.tech (DNS) auf die neue Astro-Site + Universum umschalten. Chapaty muss explizit nach Audit-Report freigeben. Erstellt: 2026-05-01.
Aufgabe Audit
Howard + Bernadette + Sheldon arbeiten kollaborativ einen Audit-Bericht aus. Output: /root/wiki/system/audits/HF_pre_golive_YYYY-MM-DD.md
Checkliste β Universum-Backend (PHP)
Code-Level
- [ ] Alle DB-Zugriffe via PDO mit Prepared Statements (kein String-Concat)
- [ ] Output-Escaping in allen Templates (htmlspecialchars/Template-Engine)
- [ ] CSRF-Token in Session, validiert auf jedem POST/PUT/DELETE
- [ ] Argon2id fΓΌr Passwort-Hashes (kein bcrypt/MD5/SHA1)
- [ ] OAuth-State + Redirect-URI-Whitelist hardcoded
- [ ] File-Upload: MIME-Whitelist, Size-Limit, Speicherort auΓerhalb Webroot
- [ ] Audio-URLs HMAC-signed, TTL 5 min, single-use Replay-Schutz
- [ ] Session-Cookie: HttpOnly, Secure, SameSite=Lax, Path=/universum
- [ ] Klardaten (Email/Phone/Adresse) NICHT in Universum-DB β Pseudonyme + Perfex-Link
Auth
- [ ] Magic-Link: Token kryptographisch sicher (random_bytes 32), TTL β€15 min, single-use
- [ ] OTP via WhatsApp/Telegram: 6-stellig, TTL 10 min, max 5 Versuche / 15 min / IP
- [ ] Rate-Limit: Login/Registration max 5 / 15 min / IP UND email
- [ ] Brute-Force-Schutz: nach 10 fehlgeschlagenen Versuchen β 1h IP-Block
- [ ] OAuth: state-Parameter geprΓΌft, redirect_uri auf Whitelist
Network/Transport
- [ ] HTTPS ΓΌberall, HTTP β HTTPS Redirect
- [ ] HSTS-Header (max-age=31536000, includeSubDomains)
- [ ] CSP-Header restriktiv (script-src 'self' 'unsafe-inline' nur wo nΓΆtig)
- [ ] X-Frame-Options: DENY (oder SAMEORIGIN fΓΌr interne Iframes)
- [ ] X-Content-Type-Options: nosniff
- [ ] Referrer-Policy: strict-origin-when-cross-origin
- [ ] Cors restriktiv (nur eigene Domain)
Compliance
- [ ] DSGVO-Cookie-Banner mit Opt-In/Opt-Out
- [ ] DatenschutzerklΓ€rung verlinkt (Footer)
- [ ] Auskunfts-API fΓΌr User-Daten (Art. 15)
- [ ] LΓΆsch-API fΓΌr User-Daten (Art. 17)
- [ ] Datenexport (Art. 20)
- [ ] Audit-Log fΓΌr alle PII-Zugriffe (wer hat wann was gelesen)
Infrastructure
- [ ] Backup-Mechanismus: tΓ€glicher mysqldump, encrypted, off-site
- [ ] Restore-Drill mindestens 1Γ durchgefΓΌhrt + protokolliert
- [ ] Monitoring: Uptime, Disk, RAM, Auth-Failures auf Telegram
- [ ] Log-Rotation aktiv (nginx, PHP-FPM, Application)
- [ ] Secrets in /root/.secrets/ chmod 600, kein git-commit
- [ ] Composer.lock + package-lock.json committed
- [ ]
composer auditclean (oder dokumentierte Ausnahmen) - [ ]
npm auditclean
Pen-Test
- [ ] nikto-Scan auf hf-neu.ultimo.hochfrequenz.tech ohne kritische Findings
- [ ] sqlmap-Scan auf alle Forms ohne Findings
- [ ] OWASP ZAP Quick-Scan ohne High-Findings
- [ ] manueller Test: SQL-Injection auf Login + Registration
- [ ] manueller Test: XSS auf Profil-Felder
- [ ] manueller Test: CSRF auf Profil-Update
- [ ] manueller Test: IDOR (kann User A Bookmarks von User B lesen?)
- [ ] manueller Test: Audio-URL-Replay nach TTL
Monitoring + Incident Response
- [ ] Failed-Login-Spike β Telegram-Alarm
- [ ] DB-Connection-Failure β Telegram-Alarm
- [ ] 5xx-Spike β Telegram-Alarm
- [ ] Rollback-Plan dokumentiert (DNS-Switch zurΓΌck auf Shopify in <5 min)
Checkliste β Astro-Funnel-Site (statisch)
Code-Level
- [ ] CSP-Header
- [ ] HSTS-Header
- [ ] Form-CSRF-Token (auch fΓΌr Static-Form via Edge-Function)
- [ ] Honeypot + Rate-Limit auf Lead-Form
- [ ] HΓΆrbuch-MP3/M4A nur via signed URLs (kein Direct-Link auf vollstΓ€ndige Files)
- [ ] Vorwort-Vorschau ist OK direkt ausgeliefert (gewollt frei)
SEO
- [ ] sitemap.xml korrekt
- [ ] robots.txt OK
- [ ] hreflang DE/EN/ES korrekt
- [ ] Schema.org Markup (Organization, AudioObject)
- [ ] Open Graph + Twitter Cards
- [ ] PageSpeed Score >90 mobile + desktop
DSGVO Funnel-Site
- [ ] Cookie-Banner mit Opt-In fΓΌr Tracking
- [ ] Lead-Form: explizites Consent
- [ ] IP-Adresse anonymisiert in Analytics
- [ ] DatenschutzerklΓ€rung aktuell
Checkliste β N8N-Workflows (Backend-Pipelines)
- [ ] Alle Webhooks haben Auth-Token (kein public)
- [ ] CSV-Email an Hersteller: PII-Felder gehasht/redacted in Logs
- [ ] WhatsApp-API-Token in /run/secrets, nicht in Workflow-JSON
- [ ] BestΓ€tigungs-Tokens fΓΌr Hersteller-Lead-Eskalation single-use
- [ ] Timeout-Schutz auf alle Cron-Jobs
Sign-off
- [ ] Howard: Code-Review fertig
- [ ] Bernadette: Pen-Test fertig
- [ ] Sheldon: Architektur-Audit fertig
- [ ] Chapaty: explizites Go-Live-Approval per Telegram
Erst nach allen HΓ€kchen DNS-Umstellung.