wiki/e-compliance/ims/05_betrieb/02_Zugriffsmanagement_IAM_PAM.md
2026-06-11 21:26:56 +02:00

6 KiB

Zugriffsmanagement (IAM / PAM)

Dokumenttyp: Richtlinie & Prozess Geltungsbereich: Alle Zugänge zu PORTA-Systemen (Server, Datenbank, Admin-UI, Drittdienste) Version: 1.0 Status: Entwurf zur internen Freigabe Owner: Betrieb / DevOps Letzte Aktualisierung: 11.06.2026 Deckt ab (CACC): 25, 36, 37, 66, 67, 68, 69


1. Grundprinzipien

PowerOn gewährt Zugriffe ausschliesslich nach Need-to-Know und Least Privilege. Kein Mitarbeiter erhält mehr Rechte, als für seine Aufgabe erforderlich sind.

2. Zugriffsebenen der Plattform

Ebene Beschreibung Berechtigte
SysAdmin (Admin-UI) Höchste Stufe in der PORTA-Admin-UI: DB-Export/Import, Mandatsverwaltung, Feature-Steuerung Patrick Motsch
Server-Zugang (SSH) ubuntu@api.poweron.swiss / api-int — Vollzugriff auf Anwendung und Konfiguration Patrick Motsch
Datenbank DB-User poweron_dev auf db.poweron.swiss:5432 Patrick Motsch
Mandats-Administrator (kundenseitig) Verwaltet Nutzer innerhalb des eigenen Tenants Kunde selbst
Endnutzer Nutzung der gebuchten Features Kunde

Offener Punkt (kompensierende Massnahme nötig): Der SSH-Zugang erfolgt aktuell über den geteilten Benutzer ubuntu. Für Nachvollziehbarkeit auf Personenebene ist entweder (a) Umstellung auf personalisierte SSH-Accounts oder (b) lückenlose Protokollierung jeder SSH-Sitzung mit eindeutiger Personenzuordnung erforderlich. → siehe 11_Logging_und_Monitoring.md. [ZU PRÜFEN / UMZUSETZEN]

3. Zugang zu Kundendaten im Klartext (#25, #66)

Mitarbeitende von PowerOn greifen auf Inhaltsdaten eines Kunden im Klartext nur zu, wenn:

  1. der Kunde dies für einen konkreten Fall (z. B. Support-Ticket) freigegeben hat, oder
  2. eine rechtskräftige behördliche Anordnung dies zwingend verlangt, oder
  3. ein schwerer technischer Störfall den Zugriff temporär erfordert — mit unverzüglicher nachträglicher Information des Kunden.

Jeder solche Zugriff wird protokolliert (Datenbank-Export/Import wird serverseitig geloggt, siehe datenbank-handling.md Abschnitt 6).

4. Authentifizierung (#68)

System Authentifizierungsmethode MFA
PORTA Endnutzer Microsoft Azure AD OAuth / Google OAuth / lokales Login Konfigurierbar pro Mandat (mfaRequired) oder pro User (Opt-in)
Admin-UI (SysAdmin) Lokales Login / Session MFA erzwungen (MFA_REQUIRE_ADMINS=True, umgesetzt Juni 2026)
SSH-Server SSH-Key [ZU PRÜFEN: Key + Passphrase? Bastion?]
Drittdienste (OpenAI etc.) API-Keys in .env (verschlüsselt) n/a

Vorgabe: Für privilegierte Zugänge (SysAdmin, SSH, DB) ist Zwei-Faktor-Authentifizierung zu konfigurieren. SMS-/mobile TAN ist möglichst zu vermeiden; bevorzugt App- oder Hardware-Token.

Stand Juni 2026: MFA auf Admin-UI (SysAdmin) und Server-Zugängen umgesetzt. Endnutzer-MFA konfigurierbar pro Mandat. Trusted-Device-Mechanismus (60 Tage) reduziert MFA-Haeufigkeit bei gleicher Sicherheit — konform mit NIST SP 800-63B Abschnitt 5.2.8.

4.1 Session-Management

Eigenschaft Umsetzung
Token-Typ JWT (HS256) in httpOnly/Secure Cookie
Multi-Session Erlaubt (parallele Browser/Geräte)
Session-Dauer (Access) Konfigurierbar, Default 300 Min
Session-Dauer (Refresh) Konfigurierbar, Default 7 Tage
Silent Refresh Frontend erneuert Access Token automatisch via Refresh-Endpoint
Token-Revocation Serverseitig via PostgreSQL Token-Registry; Admin kann einzelne oder alle Sessions revoken
Trusted Device httpOnly Cookie nach MFA-Erfolg; Default 60 Tage; jederzeit durch Admin/User widerrufbar

Regulatorische Grundlage:

  • Multi-Session ist Standard bei Enterprise-Software (NIST SP 800-63B Section 7.1 erlaubt mehrere aktive Sessions).
  • Trusted Device entspricht NIST SP 800-63B Section 5.2.8 ("Verifier MAY re-authenticate only after a configurable period").
  • Session-Revocation erfüllt ISO 27001 A.9.4.2 (Secure log-on procedures) und A.9.2.6 (Removal/adjustment of access rights).

5. Berechtigungsvergabe, -änderung und -entzug (#67)

Ereignis Massnahme Frist
Onboarding Zugänge gemäss Rolle einrichten, Minimalprinzip Bei Eintritt
Rollenwechsel Berechtigungen anpassen, nicht mehr benötigte entziehen Innert 5 Werktagen
Offboarding Alle Zugänge sofort sperren: SSH-Key entfernen, Admin-UI deaktivieren, API-Keys rotieren, DB-Zugang entziehen Am letzten Arbeitstag
Rezertifizierung Vollständige Überprüfung aller Zugänge und Berechtigungen Mindestens halbjährlich

6. Privilegierte Zugriffe (PAM) (#36, #37)

Privilegierter Zugriff (SSH, DB-Admin, SysAdmin) wird nur sorgfältig ausgewählten, geschulten Personen gewährt. Aufgrund der Teamgrösse ist die Anzahl privilegierter Personen sehr klein, was das Risiko begrenzt. Kompensierend zu fehlender vollständiger Funktionstrennung gilt:

  • Protokollierung privilegierter Aktionen (Export/Import, Deployments, DB-Zugriffe).
  • Vier-Augen-Prinzip bei produktiven Releases (siehe feature_release_bugfix.md / 08_Change_Management.md).
  • Regelmässige Stichprobenprüfung der Protokolle.

7. Zugangsbeschränkung auf IP/Domain (#69)

[ZU PRÜFEN: Ist der Admin-/Server-Zugang auf bestimmte IP-Adressen beschränkt? Falls ja, dokumentieren. Falls nein, als geplante Massnahme aufnehmen.]

8. Stand der Umsetzung / Lücken

Thema Status Massnahme
Personalisierte SSH-Accounts Offen Umstellung oder vollständige Sitzungsprotokollierung
MFA auf privilegierten Zugängen Umgesetzt (Juni 2026) Halbjährliche Rezertifizierung
Multi-Session + Silent Refresh Umgesetzt (Juni 2026) Parallele Sessions erlaubt; automatische Token-Erneuerung
Trusted Device (MFA-Skip 60d) Umgesetzt (Juni 2026) NIST-konform; Admin-Revoke jederzeit moeglich
Admin Session-Verwaltung Umgesetzt (Juni 2026) Sessions/Trusted Devices pro User einsehbar und widerrufbar
Halbjährliche Rezertifizierung Neu Erstdurchführung terminieren