Risiko-Register
13 Risiken nach ISO 31000. Klassifikation aus Wahrscheinlichkeit und Schaden, sortiert absteigend nach Risikoklasse.
| Slug | Titel | Klasse | Wahrscheinlichkeit | Schaden | Owner | Prozess |
|---|---|---|---|---|---|---|
R-01 |
PayPal-API-Ausfall | hoch | mittel | hoch | admin | monatsabo_zyklus |
| Beschreibung: PayPal ist fuer Zahlungen und Auszahlungen nicht erreichbar, Abo-Zyklus und Dozenten-Honorar werden blockiert. Gegenmassnahme: Retry mit exponentiellem Backoff, Ausweichkanal Ueberweisung dokumentiert, Statusseite monitoren. | ||||||
R-03 |
DSGVO-Verstoss durch zu lange Speicherung | hoch | mittel | kritisch | admin | global |
| Beschreibung: Personenbezogene Daten werden ueber Loeschfrist hinaus gespeichert. Gegenmassnahme: Automatisierter Loeschjob pro Feld mit dokumentierter Aufbewahrungsfrist, jaehrliche DSGVO-Audit-Runde. | ||||||
R-10 |
Email-Versand blockiert durch Spam-Filter | hoch | mittel | hoch | admin | b2b_angebot |
| Beschreibung: Follow-up-Mails oder Zertifikate kommen nicht beim Empfaenger an. Gegenmassnahme: SPF, DKIM, DMARC konfiguriert, Bounce-Handling, Monitoring der Zustellrate. | ||||||
R-02 |
Lexoffice-API-Kontingent erschoepft | mittel | niedrig | hoch | admin | global |
| Beschreibung: Rate-Limit erreicht, neue Rechnungen koennen nicht erstellt werden. Gegenmassnahme: Batch-Limit beachten, Alerting bei >80 Prozent Kontingent, manuelle Faellback-Erstellung dokumentiert. | ||||||
R-04 |
Server-Downtime ueber 4 Stunden | mittel | niedrig | hoch | system | global |
| Beschreibung: FrankenPHP oder MariaDB ist nicht erreichbar, kein Login, keine Buchungen. Gegenmassnahme: Monit-Watchdog mit Neustart, tagliches DB-Backup plus 1h PITR, sekundaerer Server als Failover geplant. | ||||||
R-05 |
Dozenten-Engpass bei Modul | mittel | mittel | mittel | admin | kurs_durchfuehrung_planung |
| Beschreibung: Zugewiesener Dozent faellt kurzfristig aus, Termin muss verschoben werden. Gegenmassnahme: Mindestens zwei qualifizierte Dozenten pro Modul, Verfuegbarkeitsmanagement-Kalender, Nachhol-Prozess aktiv. | ||||||
R-06 |
Zertifikats-Faelschung | mittel | niedrig | hoch | admin | zertifikat_ausstellung |
| Beschreibung: Unberechtigter Dritter erzeugt ein Zertifikat mit falschem Inhalt. Gegenmassnahme: SHA-256 Hash pro PDF gespeichert, verifikation_url prueft Hash, Ausstellung nur durch authentifizierte Rolle. | ||||||
R-07 |
Magic-Code Brute-Force-Angriff | mittel | mittel | mittel | system | magic_code_login |
| Beschreibung: Angreifer versucht massenhaft Codes zu erraten. Gegenmassnahme: Rate-Limit 5 Versuche pro Stunde, generische Fehlermeldung, IP-Blocklist bei Anomalie. | ||||||
R-08 |
Doppelzahlung durch PayPal-Retry | mittel | mittel | mittel | system | monatsabo_zyklus |
| Beschreibung: Webhook wird mehrfach ausgeliefert, Zahlung zweimal verbucht. Gegenmassnahme: Idempotenz-Key event.id in paypal_events, Unique Constraint, Verarbeitung nur bei erstem Eintreffen. | ||||||
R-09 |
Datenverlust durch fehlerhaftes Deployment | mittel | niedrig | kritisch | admin | global |
| Beschreibung: Migration laeuft auf Produktivdaten und zerstoert Tabellen. Gegenmassnahme: Transaktionen in Migrations-Skripten, Backup vor jedem Migrationslauf, Staging-Deployment vor Prod. | ||||||
R-11 |
Inkonsistenz Buchung vs Zertifikat | mittel | niedrig | hoch | admin | zertifikat_ausstellung |
| Beschreibung: Zertifikat ausgestellt ohne bezahlte Buchung. Gegenmassnahme: buchung ist Pflicht-Referenz an Zertifikate, Zertifikat-Prozess prueft Buchung.bezahlt=true vor Ausstellung. | ||||||
R-12 |
Kompromittierung der Credentials-Datei | mittel | niedrig | kritisch | admin | global |
| Beschreibung: Angreifer liest /var/credentials und erhaelt DB-Zugang. Gegenmassnahme: Dateimodus 640 root:www-data, Zugriff via ACL begrenzt, regelmaessiges Rotation der Passwoerter. | ||||||
R-13 |
Lexoffice-Schnittstellenbruch durch API-Version-Update | mittel | mittel | mittel | admin | monatsabo_zyklus |
| Beschreibung: Externer Dienstleister aendert Response-Format, unsere Payload-Schemas brechen. Gegenmassnahme: Payload-Schemas gegen API-Version versioniert, Integrationstest nach jedem Lexoffice-Release, Fallback-Parser. | ||||||