security: Audit-Log für alle Klartext-Passwort-Reads (CRITICAL)
Pentest-Finding "Klartext-Passwörter über API abrufbar (HIGH, post-auth)" adressiert: reversible Verschlüsselung der Anbieter-/Portal-Logins ist by-design (Feature "Login anzeigen" braucht sie zwingend), aber jeder einzelne Decrypt-Vorgang muss im Audit-Log nachvollziehbar sein. Bisher schrieb KEINER der 6 betroffenen Endpoints einen Eintrag. Behoben in: - getPortalPassword (Customer-Portal-Login) - getContractPassword (Anbieter-Login z.B. Vattenfall, EWE, …) - getSimCardCredentials (PIN/PUK) - getInternetCredentials (DSL-Login) - getSipCredentials (Telefon-/VoIP-Login) - getMailboxCredentials (Stressfrei-IMAP/SMTP) Alle nutzen `action: 'READ'` mit eigenem ResourceType + Sensitivity CRITICAL via determineSensitivity-Map. Label nennt explizit "Klartext … entschlüsselt" + Resource-ID, damit im AuditLog-Viewer auf einen Blick erkennbar ist, wer wann welches Passwort eingesehen hat (DSGVO + Insider-Threat-Erkennung). Live verifiziert: nach Klick auf getPortalPassword erscheint im AuditLog der Eintrag "READ PortalPassword CRITICAL – Klartext-Portal- Passwort von Kunde #1 entschlüsselt". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -97,6 +97,23 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
||||
|
||||
## ✅ Erledigt
|
||||
|
||||
- [x] **🔒 Audit-Log für alle Klartext-Passwort-Reads**
|
||||
- Pentest-Finding „Klartext-Passwörter über API abrufbar (HIGH,
|
||||
post-auth)" → reversible Verschlüsselung ist by-design (Feature
|
||||
„Anbieter-Login anzeigen" braucht es), aber jeder Decrypt-Vorgang
|
||||
sollte im Audit-Log auftauchen. Bisher: keiner der 6 Endpoints
|
||||
schrieb ein Log.
|
||||
- Audit-Logs jetzt für: `getPortalPassword`, `getContractPassword`,
|
||||
`getSimCardCredentials`, `getInternetCredentials`,
|
||||
`getSipCredentials`, `getMailboxCredentials`.
|
||||
- `action: 'READ'`, eigene Resource-Types (PortalPassword,
|
||||
ContractPassword, SimCardCredentials, InternetCredentials,
|
||||
SipCredentials, MailboxCredentials), alle mit `sensitivity:
|
||||
CRITICAL` über die Sensitivity-Map.
|
||||
- Label nennt explizit „Klartext … entschlüsselt" + Ressourcen-ID,
|
||||
damit im Audit-Log-Viewer auf einen Blick erkennbar ist, was
|
||||
passiert ist (DSGVO-Nachvollziehbarkeit + Insider-Threat-Erkennung).
|
||||
|
||||
- [x] **↗ E-Mail-Postfach: Weiterleiten + Erneut senden**
|
||||
- **Weiterleiten** (Compose-Modal-Erweiterung): neuer Button im
|
||||
EmailDetail öffnet das ComposeEmailModal im Forward-Modus –
|
||||
|
||||
Reference in New Issue
Block a user