--- 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.