Commit Graph

14 Commits

Author SHA1 Message Date
Moe 7f9d2b431d feat!: Rust-Rewrite (axum/PostgreSQL) mit ITIL-v3/v4-Prozessen und Sicherheits-Haertung
Komplette Neuentwicklung der Plattform in Rust (axum + tokio-postgres +
askama), ersetzt die Python/Flask-Version. Bestandsdaten bleiben nutzbar:
Schema-Migrationen laufen idempotent beim Start, alte Werkzeug-PBKDF2-
Passwoerter werden beim ersten Login transparent auf Argon2id migriert.

ITIL v3/v4:
- Rollenmodell: admin / change_manager / agent / user (Self-Service)
- Statusmodell mit erzwungenen Uebergaengen, Reopen, finalem Geschlossen
- Prioritaet automatisch aus Impact-x-Urgency-Matrix (v3 SO 4.2.5.4)
- Change Enablement: Standard/Normal/Emergency, CAB-Freigabe durch
  change_manager/admin; Umsetzung und Repo-Edits erst nach Freigabe
- Problem Management: Incident-Problem-Verknuepfung, Known Error
- Service Request als eigene Kategorie; SLA-Zeitstempel (Reaktion/Loesung)
- Knowledge Management: Freigabe-Workflow (Entwurf -> Freigegeben)
- SACM: Ticket-CI-Verknuepfung; CSI-Dashboard (SLA-Erfuellung, MTTR)

Sicherheit (behebt Review-Befunde 2026-07-15):
- CSRF-Schutz fuer alle zustandsaendernden Requests (vorher: keiner)
- Login-Rate-Limit pro E-Mail+IP, DB-gestuetzt (vorher: keins)
- Serverseitige, widerrufbare Sessions (SHA-256-Token-Hash in DB) statt
  Client-Side-Sessions mit optionalem Secret
- Argon2id statt PBKDF2; Passwort-Policy min. 12 Zeichen
- Repo-Edit aus Tickets: RBAC (change_manager/admin) + freigegebener
  Change noetig; vorher jeder eingeloggte User mit Admin-Token
- SSRF-Guard fuer Service-Endpoints (Link-Local/Metadaten blockiert,
  Anlegen admin-only), Erreichbarkeitscheck parallel + gecacht
- Security-Header (CSP ohne Inline-JS, X-Frame-Options, nosniff, HSTS)
- X-Forwarded-For nur bei konfigurierten Trusted Proxies (Audit-Log-IP)
- Open-Redirect im Login-next-Parameter geschlossen

Deployment: Multi-Stage-Dockerfile statt git-clone+pip beim Container-
Start (reproduzierbare Images, kein ungetesteter main-Stand in Prod).

Tests: 7 Unit-Tests (Statusmodell, Matrix, Change-Gate, Hash-Verifikation,
SSRF-Guard) + 30 End-to-End-Smoke-Tests gegen lokalen PostgreSQL gruen.
2026-07-15 05:02:02 +02:00
mscadm 295cdb1374 chore: temporaeres QA-Seed-Skript 4 wieder entfernen 2026-07-13 16:10:08 +00:00
mscadm 9ab775f6e5 chore: temporaeres QA-Seed-Skript 4 2026-07-13 16:06:25 +00:00
mscadm 44c5f3089b chore: temporaeres QA-Seed-Skript 3 wieder entfernen 2026-07-13 15:57:08 +00:00
mscadm a711ab6bd6 chore: temporaeres QA-Seed-Skript 3 2026-07-13 15:53:53 +00:00
mscadm 8227eb5110 chore: temporaeres QA-Seed-Skript 2 wieder entfernen 2026-07-13 15:48:06 +00:00
mscadm 56cf8ec4cc chore: temporaeres QA-Seed-Skript 2 fuer Feature-Verifikation 2026-07-13 15:44:27 +00:00
mscadm 6fcc83aa4e chore: temporaeres QA-Seed-Skript wieder entfernen 2026-07-13 15:37:32 +00:00
mscadm 7070ec4c49 chore: temporaeres QA-Seed-Skript fuer Feature-Verifikation 2026-07-13 15:32:11 +00:00
mscadm 8378296b6e Deploy: taeglicher pg_dump-Backup ausserhalb des Containers (Host-Verzeichnis, Rotation 14 Tage) 2026-07-13 14:57:51 +00:00
mscadm 7c24951db7 Deploy: bootstrap.sh installiert requirements.txt, kopiert db.py/schema.sql 2026-07-13 12:24:42 +00:00
mscadm 70880a7e20 Deploy: docker-compose.yml mit PostgreSQL-Service 2026-07-13 12:24:41 +00:00
mscadm 28b8b04a68 Deploy: bootstrap.sh fuer ITSM-App 2026-07-13 12:04:04 +00:00
mscadm ee3130e641 Deploy: docker-compose.yml fuer ITSM-App 2026-07-13 12:04:04 +00:00