Sicherheit: Rate-Limiting auf Server-API #75

Closed
opened 2026-05-16 23:42:29 +00:00 by jreinemann-euris · 0 comments
jreinemann-euris commented 2026-05-16 23:42:29 +00:00 (Migrated from github.com)

Bestandsaufnahme

Der Ktor-Server hat aktuell kein Rate-Limiting auf API-Endpoints.

Exponierte Angriffsflächen

  • POST /api/auth/login: Brute-Force auf Passwörter möglich – kein Schutz gegen automatisierte Login-Versuche
  • POST /api/messages: Spam-Nachrichten an andere User ohne Limit
  • PUT /api/inventory: Wiederholte Full-Syncs könnten Server-Ressourcen binden
  • POST /api/admin/users: Admin-Endpoint ohne Request-Begrenzung

Risiken

  • Brute-Force-Angriff auf User-Passwörter (besonders bei schwachen Passwörtern)
  • Denial-of-Service durch Request-Flooding (1-CPU/1GB-VPS ist ressourcenlimitiert)
  • Message-Spam zwischen Usern
  • Kein Account-Lockout nach fehlgeschlagenen Login-Versuchen

Betroffene Stellen

  • Server Routing: alle Endpoints in Routing.kt
  • Auth-Konfiguration in Authentication.kt
  • Ktor-Pipeline (Plugin-Ebene)

Zu klären

  • Welche Endpoints brauchen Rate-Limiting? (Login sicher, andere?)
  • Rate-Limits pro IP, pro User, oder beides?
  • Ktor-Plugin verfügbar oder eigene Middleware?
  • Account-Lockout nach N fehlgeschlagenen Logins?
## Bestandsaufnahme Der Ktor-Server hat aktuell **kein Rate-Limiting** auf API-Endpoints. ### Exponierte Angriffsflächen - **`POST /api/auth/login`**: Brute-Force auf Passwörter möglich – kein Schutz gegen automatisierte Login-Versuche - **`POST /api/messages`**: Spam-Nachrichten an andere User ohne Limit - **`PUT /api/inventory`**: Wiederholte Full-Syncs könnten Server-Ressourcen binden - **`POST /api/admin/users`**: Admin-Endpoint ohne Request-Begrenzung ### Risiken - Brute-Force-Angriff auf User-Passwörter (besonders bei schwachen Passwörtern) - Denial-of-Service durch Request-Flooding (1-CPU/1GB-VPS ist ressourcenlimitiert) - Message-Spam zwischen Usern - Kein Account-Lockout nach fehlgeschlagenen Login-Versuchen ### Betroffene Stellen - Server Routing: alle Endpoints in `Routing.kt` - Auth-Konfiguration in `Authentication.kt` - Ktor-Pipeline (Plugin-Ebene) ### Zu klären - Welche Endpoints brauchen Rate-Limiting? (Login sicher, andere?) - Rate-Limits pro IP, pro User, oder beides? - Ktor-Plugin verfügbar oder eigene Middleware? - Account-Lockout nach N fehlgeschlagenen Logins?
Sign in to join this conversation.
No description provided.