Dieses Dokument fasst zentrale Sicherheitsmechanismen der Ignite-Anwendung zusammen. Es dient als Leitfaden für Entwicklerinnen, Administratorinnen und Auditor*innen.
- Session-Verwaltung:
verifySessionliest Cookies/Token,withAuthundwithAdmin(bzw.withAdminAndParams) schützen API-Routen. - Rollenmodell: Primäre Rollen sind
USER,ADMIN,SUPPORT. Admin-spezifische Endpunkte prüfenuser.role. - Zwei-Faktor-Authentifizierung:
/api/account/2fa/*(siehedocs/api-account.md). - Self-Protection: Einige Admin-Endpoints verhindern Selbständerungen (
/api/admin/users/{id}→ Konto des eigenen Admins kann nicht manipuliert werden).
- Hook
useCSRF: LiefertsecureRequest, das CSRF-Token (z. B. aus Cookie/Header) automatisch an POST/PUT/DELETE-Requests anhängt (siehedocs/checkout.md). - Middleware: API-Routen setzen/verifizieren CSRF-Token, besonders für sensitive Aktionen (Checkout, Einstellungen).
- Zod/Custom Checks: Admin-Endpoints (z. B.
/api/admin/ipv4/assignments,/api/admin/pricing,/api/admin/settings) nutzen strikte Validierungen, um unzulässige Daten zu blocken. - Sanitizing:
/api/searchentfernt gefährliche Zeichen (Script-Tags, Event-Handler) aus Query. - Settings:
validateSettingValue(in/api/admin/settings) prüft Typ, Min/Max, Optionslisten. - Discounts/Affiliate: Prozent-/Code-Validierung (z. B. max 75 %, Zeichenfilter).
- Ownership-Checks:
/api/services/[id],/api/services/[id]/permissions(viacheckServiceAccess) stellen sicher, dass nur Besitzer*innen/Admins Zugriff haben. - Admin-Only:
/api/admin/*Routen sind konsequent durchwithAdmingeschützt. - Support-Staff:
/api/admin/ticketserlaubt Ticket-Erstellung nur fürADMIN/SUPPORT. - Cache & Credentials: OVH/Proxmox-Endpoints erstellen automatische Consumer Keys, geben Debug-Infos nur im Admin-Bereich aus.
- Beispiel:
/api/vps/validatenutztcreateRateLimit(500 Requests/Minute/IP). - Weitere Limits können über Middleware ergänzt werden (z. B. Login/Signup).
- Environment Variablen:
- OVH (
OVH_APPLICATION_KEY,OVH_APPLICATION_SECRET,OVH_CONSUMER_KEY) - Proxmox (API-Token, Secret), Mollie (
MOLLIE_API_KEY)
- OVH (
- SettingsService verwaltet Konfigurationen (Datacenter, Pricing-Limits) in der Datenbank.
- Admin-Endpoints (
/api/admin/proxmox,/api/admin/ovh) bieten Debug-Tools, warnen bei fehlenden Berechtigungen.
/api/admin/seed(siehedocs/admin/api-admin-seed.md) ist nur in Entwicklungsumgebungen aktiv (Prüfung aufNODE_ENVundDATABASE_URL). Erstellt Standard-Settings, Admin-User und Beispielprodukte.
console.log/console.warn/console.errorwerden kritisch eingesetzt (Zahlungsstatus, Provisionierung, Fehler).getProxmoxStatistics& andere Admin-Funktionen loggen externe API-Fehler, um Debugging zu erleichtern.- Benachrichtigungen (
prisma.notification.create) informieren Nutzer*innen über Dokument-Bewertungen, Verifikationsstatus etc.
- OAuth/Session-Härtung: Cookies
HttpOnly,Secure,SameSite=strict. - Audit Logging: Wichtige Admin-Aktionen (Rollenwechsel, Balance-Anpassungen, Verifizierungsstatus) zentral protokollieren.
- Monitoring: Rate-Limits, Payment-Fehler, Proxmox/OVH-Verbindungsprobleme in APM/Logging aufnehmen.
- Secrets Management: Verwendung eines Secret-Stores (z. B. Vault, AWS Secrets Manager).
- Penetration Tests: Regelmäßige Tests für Checkout, Admin-Panel und API-Schnittstellen.
docs/api-auth.md– Authentifizierung & Sessions.docs/api-account.md– Account-spezifische Sicherheitsfunktionen (2FA, Password-Reset).docs/api-services.md,docs/api-files.md– Zugriffskontrolle & Validierungen.docs/admin/api-admin-*.md– Feinsteuerung der Admin-Endpunkte (OVH, Proxmox, Settings, Verification).