Praesentation von adam und florian

This commit is contained in:
2026-04-10 09:26:20 +02:00
parent 9f0bd16ec9
commit e1743aeb94
2 changed files with 200 additions and 0 deletions

View File

@@ -0,0 +1,100 @@
---
marp: true
theme: default
paginate: 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.
---
# Backup- & Restore-Systeme (2)
- **Retention Management**:
- Automatische Bereinigung alter Backups (Rotation). Nur die neuesten 30 Backups (`RETAIN=30`) bleiben vorhanden, um Speicherplatz zu sparen.
- **Restore-Skript**:
- Kontrollierter Wiederherstellungsprozess.
- Integrierte Sicherheitsabfrage (`ja/nein`) vor dem Überschreiben.
- Umbenennen bestehender Ordner als "Rückversicherung".
- Neuanlage der Datenbank (`dropdb` / `createdb`) & Einspielen via `pg_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`).
- **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`, `PremiumEvent` wg. Audit-Trails).
- Rollenbasierte Zugriffskontrollen tief in der Service-Schicht (`IsAuthorized`).
---
# 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.