3.4 Security und Datenschutz

Die Sicherheit und der Schutz von Daten sind zentrale Aspekte bei der Implementierung und dem Betrieb der Anwendung. In diesem Abschnitt werden die Massnahmen zur Sicherstellung der Sicherheit und des Datenschutzes beschrieben. Dabei wird besonderes Augenmerk auf die Netzwerksicherheit, Zugriffskontrolle und Datenschutzrichtlinien gelegt.

Sicherheitsmassnahmen

1. Netzwerk-Sicherheit

  • Cloudflare Tunnel: Der Zugriff auf interne Dienste erfolgt ausschliesslich über verschlüsselte Verbindungen mittels Cloudflare Tunnel. Dadurch wird verhindert, dass offene Ports im öffentlichen Internet verfügbar sind.

  • Firewall-Regeln: Nur autorisierte Verbindungen sind erlaubt. Der Zugriff auf Datenbanken und Backend-Services ist auf den Cluster-internen Verkehr beschränkt.

  • TLS-Verschlüsselung: Die Kommunikation zwischen den Services erfolgt über HTTPS und TLS, um die Integrität und Vertraulichkeit der Daten sicherzustellen.

2. Zugriffskontrolle

  • Role-Based Access Control (RBAC): Kubernetes-Rollen und -Bindings stellen sicher, dass Benutzer und Dienste nur auf die Ressourcen zugreifen können, die für ihre Aufgaben erforderlich sind.

  • GitOps mit ArgoCD: Änderungen an der Infrastruktur erfolgen ausschliesslich über das Git-Repository, was eine Versionierung und Rückverfolgbarkeit gewährleistet.

3. Geheimnisse und sensible Daten

  • Secrets-Management: Kubernetes Secrets werden verwendet, um sensible Informationen wie API-Schlüssel, Passwörter und Datenbankzugangsdaten sicher zu speichern. Diese Secrets werden im Cluster-internen Verkehr bereitgestellt und mit Zugriffskontrollmechanismen geschützt.

  • Sealed Secrets: Zusätzliche Verschlüsselung für Secrets wird durch Tools wie Sealed Secrets sichergestellt, wodurch diese nur von autorisierten Instanzen entschlüsselt werden können.

  • Audit-Logging: Alle Zugriffe auf Secrets und andere sensible Ressourcen werden protokolliert und regelmäßig ueberprueft.

Datenschutzmassnahmen

1. Minimierung der Datenspeicherung

  • Keine unnötige Speicherung: Es werden nur Daten gespeichert, die für die Funktionalität der Anwendung zwingend erforderlich sind.

  • Anonymisierung: Personenbezogene Daten werden, soweit möglich, anonymisiert verarbeitet.

2. Datenschutzkonforme Verarbeitung

  • Einwilligung: Benutzer werden über die Erhebung und Nutzung ihrer Daten informiert und müssen aktiv zustimmen.

  • Löschung: Daten können auf Wunsch der Benutzer oder nach Ablauf eines definierten Zeitraums gelöscht werden.

3. Compliance

  • DSGVO-Konformität: Die Anwendung entspricht den Anforderungen der Datenschutz-Grundverordnung (DSGVO).

  • Regelmäßige Audits: Sicherheits- und Datenschutzmassnahmen werden regelmäßig ueberprueft und aktualisiert, um den gesetzlichen Anforderungen zu entsprechen.

Diagramm zur Sicherheitsarchitektur

Das folgende Diagramm zeigt die Sicherheitsmassnahmen und ihre Interaktion innerhalb des Systems:

```mermaid graph TD subgraph Cluster Backend[Backend Service] Frontend[Frontend Service] DB[Database] Secrets[Kubernetes Secrets] end

User[User (Browser)] -->|HTTPS| Frontend
Frontend -->|API Call| Backend
Backend -->|Read/Write| DB
Backend -->|Access| Secrets
Secrets -->|Encrypted Data| Backend
Frontend -->|Secure Auth| Auth0[Auth0]
Backend -->|TLS| S3[Amazon S3]

subgraph Cloudflare
    CF[Cloudflare Tunnel]
end

User -->|Secure