Pentest 71.1-71.4: Härtung der Zusatz-Weiterleitungen
71.1 MEDIUM: BLOCKED_TLDS-Set in assertValidForwardingEmail – reservierte/private TLDs (local, internal, corp, lan, home, private, invalid, test, localhost, example, intranet, localdomain, arpa) werden abgelehnt. Schließt Plesk-DNS-Probing ins interne Netz. 71.2 LOW: canonicalEmailKey-Helper normalisiert Mail-Adressen für den Dedup (Plus-Tag wegstrippen, lowercase). billing+x@y und billing@y haben jetzt denselben Schlüssel – auch gegen Kunden- Stamm-Mail und gegen config.defaultForwardEmail im sync-Pfad. 71.3 INFO: Neuer requireIdParam-Helper im Controller liefert 400 statt 500 bei nicht-numerischen Route-IDs. Alle acht parseInt- Stellen umgestellt (auch über die gemeldete eine hinaus). 71.4 INFO: setAdditionalForwards rollt den DB-Stand zurück, wenn syncForwardingForEmail mit dem Provider scheitert. Vorheriger Wert wird vorm Update gemerkt und im Fehlerfall wieder eingespielt – DB und Plesk laufen nicht mehr auseinander. Smoke-Tests: 11 reservierte TLDs abgelehnt, 4 echte TLDs (de, com, co.uk, museum) durchgewinkt, Plus-Tag-Strip mit Multi-Plus+Casing.
This commit is contained in:
@@ -97,6 +97,29 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
||||
|
||||
## ✅ Erledigt
|
||||
|
||||
- [x] **🔒 Pentest 71.1–71.4: Härtung der Zusatz-Weiterleitungen**
|
||||
- **71.1 MEDIUM:** Reservierte/private TLDs (`local`, `internal`,
|
||||
`corp`, `lan`, `home`, `private`, `invalid`, `test`, `localhost`,
|
||||
`example`, `intranet`, `localdomain`, `arpa`) werden in
|
||||
`assertValidForwardingEmail` jetzt hart abgelehnt. Verhindert
|
||||
Plesk-DNS-Probing ins interne Netz bei On-Prem-Setups.
|
||||
- **71.2 LOW:** Neuer Helper `canonicalEmailKey` normalisiert Mail-
|
||||
Adressen für den Dedup-Vergleich (Plus-Tag wegstrippen,
|
||||
lowercase). `billing+pentest@x.de` und `billing@x.de` werden als
|
||||
dasselbe Ziel erkannt – auch im Vergleich zur Kunden-Stamm-Mail
|
||||
und im sync-Pfad gegen `config.defaultForwardEmail`.
|
||||
- **71.3 INFO:** Neuer `requireIdParam(req, res, paramName)`-Helper
|
||||
fängt nicht-numerische Route-Parameter und liefert 400 statt 500.
|
||||
Alle acht parseInt-Stellen in `stressfreiEmail.controller.ts`
|
||||
umgestellt (auch über das gemeldete Finding hinaus).
|
||||
- **71.4 INFO:** `setAdditionalForwards` rollt den DB-Stand bei
|
||||
Provider-Sync-Fehler zurück, damit DB und Plesk nicht
|
||||
auseinanderlaufen. Vorheriger `additionalForwardingEmails`-Wert
|
||||
wird vor dem Update gemerkt und bei Fail wieder eingespielt.
|
||||
- Smoke-Tests bestätigen: 11 reservierte TLDs abgelehnt, 4 echte
|
||||
TLDs (`de`, `com`, `co.uk`, `museum`) durchgewinkt, Plus-Tag-
|
||||
Strip funktioniert (auch mit Multi-Plus + Casing).
|
||||
|
||||
- [x] **🆕 Stressfrei-Adressen: Zusatz-Weiterleitungen auch beim Anlegen**
|
||||
- Im „Adresse hinzufügen"-Modal erscheint der „Weitere
|
||||
Weiterleitungen"-Button jetzt auch, sobald „Beim E-Mail-Provider
|
||||
|
||||
Reference in New Issue
Block a user