Baustein 10: Deployment-Haertung (Kapitel 10)
- Rate Limiting ueber ASP.NET Cores eingebautes Microsoft.AspNetCore.RateLimiting (keine neue Paketabhaengigkeit): /api/auth/login auf 5 Versuche/Minute begrenzt (Brute-Force-Schutz), alle Endpunkte zusaetzlich global auf 120 Anfragen/Minute je IP - Kestrel MaxRequestBodySize auf 15 MB gedeckelt (Anhaenge sind clientseitig ohnehin auf 10 MB begrenzt) - Neu docker/backup.sh: Tar-Archiv von ./data (Ereignis-Logs, Snapshots, Anhaenge, Nutzer), raeumt Archive aelter als 30 Tage auf, laeuft direkt auf dem Host - docker/README.md um Backup- und Rate-Limit-Dokumentation ergaenzt Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1387,10 +1387,24 @@ ist aber nur aktiv, wenn eine Server-URL konfiguriert ist.
|
||||
entfernt (kein offener Registrierungs-Endpunkt für ein Einzel-/Familien-Deployment); neue
|
||||
Nutzer werden per CLI angelegt (`dotnet LehrerApp.Api.dll create-user <name>`, dokumentiert
|
||||
in `docker/README.md`), damit keine zusätzliche unauthentifizierte Angriffsfläche entsteht.
|
||||
- [ ] **10.2.2** Rate Limiting und Request-Größenbegrenzung.
|
||||
- [ ] **10.2.3** Serverseitiges Backup der Event-/Snapshot-Dateien.
|
||||
- [x] **10.2.2** Rate Limiting und Request-Größenbegrenzung.
|
||||
|
||||
**Umsetzung:** ASP.NET Cores eingebautes `Microsoft.AspNetCore.RateLimiting` (keine neue
|
||||
Paketabhängigkeit). `/api/auth/login` speziell auf 5 Versuche/Minute begrenzt
|
||||
(Brute-Force-Schutz), alle Endpunkte zusätzlich global auf 120 Anfragen/Minute je IP. Kestrel
|
||||
`MaxRequestBodySize` auf 15 MB gedeckelt (Anhänge sind clientseitig ohnehin auf 10 MB
|
||||
begrenzt, siehe `IAttachmentStorage.MaxSizeBytes`).
|
||||
- [x] **10.2.3** Serverseitiges Backup der Event-/Snapshot-Dateien.
|
||||
|
||||
**Umsetzung:** `docker/backup.sh` — Tar-Archiv von `./data` (Ereignis-Logs, Snapshots,
|
||||
Anhänge, Nutzer), räumt Archive älter als 30 Tage auf, läuft direkt auf dem Host (kein
|
||||
Container-Zugriff nötig), dokumentiert samt Cron-Beispiel in `docker/README.md`.
|
||||
- [ ] **10.2.4** Docker-Setup in [docker/](docker/) verifizieren und dokumentieren.
|
||||
|
||||
**Teilweise:** `docker/README.md` um `create-user`-Flow, Backup und Rate-Limits ergänzt.
|
||||
Ein tatsächlicher `docker compose up`-Durchlauf konnte in dieser Umgebung nicht verifiziert
|
||||
werden (kein Docker verfügbar) — steht vor dem ersten echten Deployment noch aus.
|
||||
|
||||
### 10.3 Verschlüsselung
|
||||
- [ ] **10.3.1** Schlüsselübertragung auf ein zweites Gerät (QR-Code oder Passphrase).
|
||||
- [ ] **10.3.2** Warnung und Wiederherstellungspfad bei verlorenem Schlüssel.
|
||||
|
||||
Reference in New Issue
Block a user