62 lines
1.5 KiB
Markdown
62 lines
1.5 KiB
Markdown
# ADR 0018 — WordPress-Plugin-Sicherheit
|
|
|
|
## Status
|
|
Proposed
|
|
|
|
## Kurz erklärt
|
|
Das WordPress-Plugin ist später ein API-Client.
|
|
|
|
Es läuft in einer WordPress-Umgebung, die möglicherweise durch andere Plugins, Themes oder schlechte Wartung gefährdet ist.
|
|
|
|
## Kontext
|
|
WordPress soll nicht Core sein, aber später als Frontend-/Widget-Schicht dienen.
|
|
|
|
Das Architekturreview hat gewarnt, dass das Plugin eine zweite Sicherheitsdomäne erzeugt.
|
|
|
|
## Entscheidung
|
|
Das WordPress-Plugin wird nicht Teil von V1.
|
|
|
|
Für spätere Versionen gilt:
|
|
|
|
- Plugin nutzt ausschließlich REST API
|
|
- Plugin bekommt minimale API-Scopes
|
|
- keine direkten Datenbankzugriffe
|
|
- keine lokalen Kopien sensibler Daten, außer technisch zwingend nötig
|
|
- Token-Rotation muss möglich sein
|
|
- Plugin-Zugriffe werden auditierbar
|
|
|
|
## API-Scopes
|
|
Das Plugin darf nur das, was für seine Widgets nötig ist.
|
|
|
|
Beispiele:
|
|
|
|
- Kundenbereich anzeigen
|
|
- Ticket erstellen
|
|
- Rechnungsreferenzen anzeigen
|
|
- Vertragsdaten lesen
|
|
|
|
Nicht erlaubt:
|
|
|
|
- globale Adminfunktionen
|
|
- Anbieter-Credentials lesen
|
|
- fremde Mandantendaten lesen
|
|
|
|
## Bei kompromittierter WordPress-Seite
|
|
Ein kompromittiertes Plugin-Token darf nicht das gesamte Backoffice gefährden.
|
|
|
|
Deshalb:
|
|
|
|
- Token widerrufbar
|
|
- Scope begrenzt
|
|
- Mandant begrenzt
|
|
- Audit-Logs
|
|
- Rate-Limits
|
|
|
|
## Status
|
|
Diese ADR bleibt zunächst Proposed, weil das WordPress-Plugin erst nach V1 konkret geplant wird.
|
|
|
|
## Verwandte ADRs
|
|
- ADR 0006 — Auth-Strategie
|
|
- ADR 0012 — Frontend-Strategie
|
|
- ADR 0020 — Customer-Portal-Scope
|