4.3 KiB
4.3 KiB
marp, theme, paginate
| marp | theme | paginate |
|---|---|---|
| true | default | true |
Defensio Diplomarbeit: AlumniHub
Individueller Teil: Florian Edlmayer
Datensicherheit, Backup-Systeme & Premium-Bereich
Ausgangslage & Zielsetzung
- Ausgangssituation: Fehlen einer sicheren, datenschutzkonformen digitalen Vernetzung der Absolventen der HTL Ungargasse.
- Mein Beitrag:
- DSGVO-konforme Datenschutzimplementierung.
- Robuste, automatisierte Backups & Restore-Systeme.
- Externes Login mittels LinkedIn (OAuth 2.0).
- Konzeption und Entwicklung des Premium-Bereichs.
- Nutzen: Rechtskonformer Betrieb, hohe Ausfallsicherheit, einfache Nutzung, Förderung des Engagements.
Eingesetzte Technologien
- Framework: ASP.NET Core & .NET 8
- Datenbanksystem: PostgreSQL
- Authentifizierung: OAuth 2.0 (LinkedIn)
- Scripting & Automation: Bash-Skripte für Linux Cronjobs
DSGVO & Datenschutz
- Notwendigkeit: Einhaltung gesetzlicher Rahmenbedingungen (DSGVO, DSG).
- Umsetzung:
- Erstellung und Einbindung einer rechtskonformen Datenschutzerklärung.
- Datenminimierung: Es werden nur absolut notwendige Daten für den Vereinszweck erhoben.
- Vertraulichkeit: TLS/HTTPS-Verschlüsselung, lokales Hosting der Daten in Österreich (LiveDesign).
- Sicherstellung aller Betroffenenrechte (Auskunft, Löschung).
Backup- & Restore-Systeme (1)
- Problem: Schutz der Daten vor Hardwareausfällen, Softwarefehlern oder Cyberangriffen.
- Lösung: Vollautomatisiertes Backup-Skript
- Cronjob führt Skript nachtschlafend (
02:30 Uhr) aus. - Sichert die
PostgreSQL-Datenbank im Custom-Format (pg_dump -Fc). - Komprimiert den gesamten App-Dateibaum mittels
tar -cvpzf. - Alle Backups erhalten UTC-Zeitstempel für ordentliche Strukturierung.
- Cronjob führt Skript nachtschlafend (
Backup- & Restore-Systeme (2)
- Retention Management:
- Automatische Bereinigung alter Backups (Rotation). Nur die neuesten 30 Backups (
RETAIN=30) bleiben vorhanden, um Speicherplatz zu sparen.
- Automatische Bereinigung alter Backups (Rotation). Nur die neuesten 30 Backups (
- Restore-Skript:
- Kontrollierter Wiederherstellungsprozess.
- Integrierte Sicherheitsabfrage (
ja/nein) vor dem Überschreiben. - Umbenennen bestehender Ordner als "Rückversicherung".
- Neuanlage der Datenbank (
dropdb/createdb) & Einspielen viapg_restore.
Authentifizierung mit LinkedIn (OAuth 2.0)
- Ziel: Reduzierung von Registrierungshürden und Steigerung der Plattformsicherheit (keine Passwörter im eigenen System speichern).
- Ablauf:
- Nutzer klickt auf "Via LinkedIn Anmelden".
- Weiterleitung an LinkedIn -> Freigabe durch den Nutzer.
- Oqtane External Login fängt Authorization Code ab, tauscht diesen gegen ein Access Token.
- Automatisches Mapping auf lokales Benutzerkonto mithilfe der definierten Claims (Name, System-ID).
Der Premium-Bereich (1)
- Zweck: Anreiz für aktives Engagement im Absolventenverein.
- Ingenieur-Antrags-Workflow:
- Nutzer können Ingenieur-Anträge (PDF) via Oqtane FileManager hochladen (
Entity: EngineerApplication). - Nach Prüfung und Freigabe durch Admins (
Approved) wird automatisch für 12 Monate der Premium-Status vergeben (UserPremium).
- Nutzer können Ingenieur-Anträge (PDF) via Oqtane FileManager hochladen (
- Bibliothek:
- Premium-Mitglieder können eine Übersicht aller genehmigten Vorzeige-Anträge einsehen.
Der Premium-Bereich (2)
- Mitgliedersuche & Kontakt:
- Gezielte, datensparsame Suchfunktion nach anderen Absolventen.
- Die Suche filtert sensible Daten serverseitig heraus, bevor es zum Client geschickt wird.
- Kontakt-Mechanismus: In-App Nachrichtensystem ohne Preisgabe der persönlichen E-Mail-Adresse. Oqtane übernimmt als Broker die Zustellung.
- Architektur:
- Umsetzung über EF Core (Tabellen:
UserPremium,EngineerApplication,PremiumEventwg. Audit-Trails). - Rollenbasierte Zugriffskontrollen tief in der Service-Schicht (
IsAuthorized).
- Umsetzung über EF Core (Tabellen:
Fazit & Ausblick
- Erreichtes:
- Sensible Mitglieder-Daten sind DSGVO-konform geschützt.
- Die Betriebssicherheit wird durch fehlerresistente Bash-Backups bewahrt.
- Der nahtlose Login mit LinkedIn reduziert Barrieren stark.
- Der Premium-Bereich samt Ingenieur-Anträgen stiftet echten Mehrwert für die Alumni-Community.
- Ausblick: Evaluierung weiterführender OAuth-Anbieter sowie Ausbau der Premium-Pfeiler zur Steigerung der Mitglieds-Dauerhaftigkeit.