Anmeldung und Berechtigung gehören zu den sicherheitskritischsten Teilen einer Webanwendung. Kennwortspeicherung, Sitzungswechsel, Kontostatus, Rollen, Mandantenbezug und externe Identitätsanbieter müssen als zusammenhängendes System entworfen werden.
Das Seminar entwickelt eine vollständige Zugriffsschicht von lokalen Konten bis zu rollen- und ressourcenbezogenen Policies. Sicherheitsannahmen werden durch konsequente Negativtests und ein nachvollziehbares Bedrohungsmodell abgesichert.
Inhaltsübersicht
- Bedrohungsmodell und Sicherheitsgrenzen
- Benutzerkonten, Kennwörter und Anmeldung
- Sitzungsverwaltung und Kontosicherheit
- Rollen, Rechte und Autorisierungsregeln
- Externe Identitätsanbieter und OpenID Connect
- CSRF, Cookies und Sitzungsabsicherung
- API-Authentifizierung, Autorisierung und Missbrauchsschutz
- Authentifizierungs- und Autorisierungstests
- Strukturiertes Logging und Korrelationskennungen
- Praxisprojekt und Wissenssicherung
Lernziele
- Benutzerkonten und Kennwörter sicher verwalten.
- Login-Sitzungen erneuern, begrenzen und widerrufen.
- Rollen- und ressourcenbezogene Zugriffsregeln zentral implementieren.
- Externe Identitätsanbieter kontrolliert anbinden.
- Authentifizierungs- und Autorisierungsgrenzen mit Negativtests nachweisen.
Zielgruppe
Flask-Entwickler, Backend-Teams, Softwarearchitekten und Sicherheitsverantwortliche, die Benutzer- und Berechtigungsfunktionen entwickeln oder prüfen.
Voraussetzungen
Gute Python- und Flask-Kenntnisse sowie Grundlagen zu HTTP, Cookies und Datenbanken.
Seminarinhalte
1. Bedrohungsmodell und Sicherheitsgrenzen
Schutzmaßnahmen werden aus Datenwert, Angreifern, Eintrittspunkten und Vertrauensgrenzen abgeleitet.
- Schritt 1: Schützenswerte Daten, Funktionen und Betriebsgeheimnisse inventarisieren.
- Schritt 2: Browser, API, Proxy, Datenbank, Queue und Fremdsysteme als Vertrauensgrenzen markieren.
- Schritt 3: Missbrauchsfälle für Identität, Eingaben, Dateien und Ressourcenverbrauch priorisieren.
- Schritt 4: Maßnahmen, verbleibendes Risiko und Prüfnachweis in einer Sicherheitsmatrix festhalten.
2. Benutzerkonten, Kennwörter und Anmeldung
Lokale Konten werden mit sicheren Kennwortableitungen, eindeutigen Identitäten und kontrollierten Fehlversuchen verwaltet.
- Schritt 1: Benutzeridentität, Status und eindeutige Anmeldeattribute modellieren.
- Schritt 2: Kennwörter ausschließlich mit geeigneter Hashfunktion und individuellen Salts speichern.
- Schritt 3: Login, Logout und generische Fehlermeldungen ohne Benutzererkennung umsetzen.
- Schritt 4: Fehlversuche, deaktivierte Konten und Kennwortänderung mit Tests abdecken.
3. Sitzungsverwaltung und Kontosicherheit
Anmeldesitzungen werden erneuert, begrenzt und bei sicherheitsrelevanten Änderungen widerrufen.
- Schritt 1: Sitzungskennung beim Login wechseln und alte Daten vollständig entfernen.
- Schritt 2: Absolute und inaktive Ablaufzeit sowie Remember-me-Verhalten festlegen.
- Schritt 3: Cookie-Schutzattribute, HTTPS-Pflicht und erneute Authentifizierung für kritische Aktionen konfigurieren.
- Schritt 4: Session-Fixation, Replay und parallele Sitzungen in Sicherheitstests prüfen.
4. Rollen, Rechte und Autorisierungsregeln
Zugriffsentscheidungen werden zentral, testbar und unabhängig von der Darstellung getroffen.
- Schritt 1: Rollen, Rechte und Ressourcenaktionen aus Fachanforderungen ableiten.
- Schritt 2: Autorisierung als Service oder Policy statt verteilter If-Abfragen implementieren.
- Schritt 3: Mandanten- und Eigentumsprüfungen zusätzlich zu globalen Rollen berücksichtigen.
- Schritt 4: Positiv- und Negativmatrix aller kritischen Aktionen automatisiert testen.
5. Externe Identitätsanbieter und OpenID Connect
Föderierte Anmeldung wird mit klarer Vertrauensgrenze, sicherer Rückleitung und kontrollierter Kontozuordnung integriert.
- Schritt 1: Client, Redirect-URI, Scopes und Vertrauenswürdigkeit des Providers konfigurieren.
- Schritt 2: State, Nonce und PKCE entsprechend dem verwendeten Flow einsetzen.
- Schritt 3: Externe Claims auf interne Identität und Berechtigungen abbilden.
- Schritt 4: Abgelaufene Tokens, Providerausfall und geänderte Kontenbindung testen.
6. CSRF, Cookies und Sitzungsabsicherung
Browserbasierte Zustandsänderungen und Sitzungen werden gegen fremde Ursprünge und Diebstahl geschützt.
- Schritt 1: CSRF-Schutz für alle cookieauthentifizierten verändernden Requests aktivieren.
- Schritt 2: Secure, HttpOnly, SameSite und kurze Lebensdauer für Sitzungscookies konfigurieren.
- Schritt 3: Session-Fixation durch Erneuerung und session.clear bei Identitätswechsel verhindern.
- Schritt 4: Cross-Site- und Replay-Szenarien mit realistischen Requests testen.
7. API-Authentifizierung, Autorisierung und Missbrauchsschutz
Zugriffsschutz wird pro Ressource und Operation durchgesetzt und gegen automatisierten Missbrauch ergänzt.
- Schritt 1: Sitzungs-, Token- und föderierte Verfahren nach Clienttyp auswählen.
- Schritt 2: Berechtigungen in Services prüfen und nicht allein auf ausgeblendete Routen vertrauen.
- Schritt 3: Ratenbegrenzung, Größenlimits und Schutz vor wiederholten Fehlversuchen planen.
- Schritt 4: Fehlende, abgelaufene und manipulierte Zugangsdaten mit Negativtests prüfen.
8. Authentifizierungs- und Autorisierungstests
Sicherheitskritische Zustandsübergänge und Berechtigungsgrenzen werden systematisch als Negativfälle geprüft.
- Schritt 1: Fixtures für anonyme, aktive, gesperrte und unterschiedlich berechtigte Konten anlegen.
- Schritt 2: Login, Logout, Ablauf, Kennwortwechsel und Sitzungswiderruf testen.
- Schritt 3: Direkte URL-Aufrufe und manipulierte Objektkennungen gegen Berechtigungslecks prüfen.
- Schritt 4: Testmatrix in die kontinuierliche Integration aufnehmen und bei Regeländerungen aktualisieren.
9. Strukturiertes Logging und Korrelationskennungen
Protokolle werden so gestaltet, dass technische Abläufe und einzelne Requests zuverlässig nachvollziehbar bleiben.
- Schritt 1: Logger-Hierarchie, Level und Handler zentral konfigurieren.
- Schritt 2: Request-, Benutzer- und Korrelationskennung als strukturierte Felder ergänzen.
- Schritt 3: Sensible Daten, Tokens und vollständige Request-Körper konsequent filtern.
- Schritt 4: Logausgabe für Entwicklung und zentrale Sammlung getrennt testen.
Praxisprojekt
Eine Anwendung erhält Benutzerregistrierung, Login, Logout, gesicherte Sitzungen, Rollen und objektbezogene Rechte. Ergänzend wird ein externer Provider modelliert und die gesamte Zugriffsmatrix automatisiert getestet.
Methodik
Kurze fachliche Einordnungen wechseln mit Demonstrationen, geführten Umsetzungen, Fehleranalysen und eigenständigen Übungen. Jede größere Änderung wird durch einen Test, eine Diagnose oder eine betriebliche Prüfroutine abgesichert. Die Arbeitsstände werden schrittweise zu einem durchgängigen Beispielprojekt zusammengeführt.
Fachbereichsleitung / Trainerteam / Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Flask-Entwickler, Backend-Teams, Softwarearchitekten und Sicherheitsverantwortliche, die Benutzer- und Berechtigungsfunktionen entwickeln oder prüfen. |
| Voraussetzungen: | Gute Python- und Flask-Kenntnisse sowie Grundlagen zu HTTP, Cookies und Datenbanken. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
