# Florian Edlmayer ## 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** ```mermaid graph TD Start((Start: Cronjob 02:30)) --> Init[Initialisierung] Init --> Vars[Konfiguration laden] subgraph Sicherungsphase Dir[Erstelle Backup-Ordner] --> DB[Datenbank-Backup] DB --> Files[Dateisystem sichern] end Files --> Check{Fehler?} Check -- Ja --> Mail[Log Error & Abbruch] Check -- Nein --> Rotate[Lade Backups-Liste] subgraph Speicherverwaltung Rotate --> Count{Anzahl > 30?} Count -- Ja --> Delete[Älteste löschen] Count -- Nein --> Finish[Abschluss] Delete --> Finish end Finish --> Ende((Ende)) ``` --- ## Backup- & Restore-Systeme (2) - **Retention Management**: - Automatische Bereinigung alter Backups (Rotation). - Nur die neuesten 30 Backups bleiben vorhanden, um Speicherplatz zu sparen. - **Restore-Skript**: - Kontrollierter Wiederherstellungsprozess. - Integrierte Sicherheitsabfrage vor dem Überschreiben. - Umbenennen bestehender Ordner als "Rückversicherung". - Neuanlage der Datenbank & Einspielen des Backups. --- ## Authentifizierung mit LinkedIn (OAuth 2.0) - **Ziel**: Reduzierung von Registrierungshürden und Steigerung der Plattformsicherheit (keine Passwörter im eigenen System speichern). ![Ablauf der OAuth-Authentifizierung (Erstellt mit ChatGPT)](../Diplomarbeitsbuch/images/04-Florian/oauth-flow.png) --- ## Der Premium-Bereich (1) - **Zweck**: Anreiz für aktives Engagement im Absolventenverein. **Ingenieur-Antrags-Workflow & Prüfung:** ![Formular zum Einreichen eines Ingenieur-Antrags](../Diplomarbeitsbuch/images/04-Florian/ingenieur-antrag-status.png) **Bibliothek genehmigter Vorzeige-Anträge:** ![Ansicht der genehmigten Ingenieur-Anträge](../Diplomarbeitsbuch/images/04-Florian/ingenieur-antraege-liste.png) --- # Der Premium-Bereich (2) **Architektur des Premium-Bereich-Moduls:** ```mermaid graph LR subgraph Client [WebAssembly] UI[Benutzeroberfläche] --> SvcC[Service Client] end subgraph Server [ASP.NET Core] SvcC --> Ctrl[API Controller] Ctrl --> SvcS[Service Schicht] end subgraph Data [Datenbank] SvcS --> EF[EF Core] EF --> DB[(PostgreSQL)] end ``` **Datensparsame Mitgliedersuche & Kontaktfunktion:** ![Mitgliedersuche und Kontaktfunktion für Premium-Mitglieder](../Diplomarbeitsbuch/images/04-Florian/premium-mitglieder-suche.png) --- ## 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.