F11 Credentials, Rechnungsdateien und Aufbewahrung absichern
Frühere Version vom 2026-07-16T18:39:13.335375+02:00 · zur aktuellen Fassung
Credentials, Rechnungsdateien und Aufbewahrung absichern
Finding: F11 Priorität: P0 Status: OFFEN Stand: 2026-07-16
Problembeschreibung
- Echte Wetell-/Lexoffice-Credentials liegen im Projekt mit 0664, world-readable; externe DB-Credentials sind 0640.
- CLI fällt ohne APP_CREDENTIALS_DIR auf Projekt-Credentials zurück (run-rechnung.php:76).
- PDFs/State/Metadaten sind 0664 mit personenbezogenen Daten/Remote-IDs.
- Retention, Löschung, Backup/Restore fehlen.
Ziel
Secrets/Rechnungsdaten sind nur für Serviceaccount lesbar, außerhalb publizierter Bereiche und folgen geprüfter Retention.
Aufgabe
- Projektsecrets entfernen/rotieren; nur Examples.
- Fallback entfernen, Env fail-closed.
- Umask/ACL 0750/0640 oder strenger.
- Retention/Backup/Restore/Löschung/Redaction definieren.
Scope
- In Scope: alle unter Code Blast genannten Komponenten, Daten, Verträge und Tests.
- Out of Scope: neue Features und produktive externe Mutation ohne separate Freigabe.
Harte Spezifikation
- MUST: keine Prod-Secrets unter Root.
- MUST: APP_CREDENTIALS_DIR Pflicht plus Modeprüfung.
- MUST: PDF/State/Logs nie world-readable.
- MUST: bekannte Secrets rotieren.
Harte Quality Gateways
- Find zeigt nur Credential-Examples.
- Permissiontest maximal 0640/0750.
- Start ohne Env vor Netzwerk beendet.
- Secretscan Projekt/DB/History 0; Restore-/Löschtest grün.
- Global: PHPStan Level 8 und PHPUnit liefern 0 Fehler; kein Ignore oder Baseline.
Code Blast
- Direkt: CLI, Credentials, Storage, State, Logger, Deploy.
- Rotation betrifft WEtell/Lexware und ACL/Backup.
Code-Impact-Analyse
- Strenger Start braucht korrekte Env.
- Rotation muss koordiniert werden.
Risikoanalyse
| Risiko | Eintritt | Schaden | |---|---|---| | Credential-Diebstahl/PII | hoch | kritisch | | Rotation sperrt Prozess | mittel | hoch |
Strategie zur Risikonullierung
- Prevent: externe Secrets/ACL.
- Detect: Scans.
- Contain: Serviceidentität.
- Recover: Rotation/Restore.
Abschlussnachweis
Erledigt erst, wenn alle MUST-Spezifikationen implementiert, alle Gateways mit unveränderlicher Evidenz grün und Restrisiken technisch ausgeschlossen oder ausdrücklich fachlich akzeptiert sind.