Flask liefert sichere Grundmechanismen, übernimmt aber nicht das vollständige Sicherheitsmodell einer Anwendung. Eingaben, Templates, Sitzungen, Header, Proxy-Vertrauen, Abhängigkeiten und Betriebsrechte müssen als gemeinsame Angriffsfläche betrachtet werden.
Das Seminar arbeitet von einem Bedrohungsmodell zu konkreten Härtungsmaßnahmen und wiederholbaren Nachweisen. Der Schwerpunkt liegt auf realistischen Fehlkonfigurationen und Negativtests statt auf einer bloßen Checkliste.
Inhaltsübersicht
- Bedrohungsmodell und Sicherheitsgrenzen
- Eingaben, Ausgaben und Injection-Schutz
- CSRF, Cookies und Sitzungsabsicherung
- Sicherheitsheader und Ressourcenbegrenzung
- Reverse Proxy, TLS und Proxy-Vertrauen
- Secrets, Abhängigkeiten und sichere Bereitstellung
- Sicherheitstests und Härtungsprüfung
- Praxisprojekt und Wissenssicherung
Lernziele
- Bedrohungen und Vertrauensgrenzen der Anwendung systematisch erfassen.
- Injection-, XSS-, CSRF- und Session-Risiken reduzieren.
- Sicherheitsheader und Ressourcenlimits korrekt konfigurieren.
- Proxy-, Secret- und Abhängigkeitsrisiken im Betriebsweg behandeln.
- Härtungsannahmen durch automatisierte Negativtests nachweisen.
Zielgruppe
Flask-Entwickler, Security Engineers, Architekten und Betriebsteams, die Anwendungen entwickeln, prüfen oder härten.
Voraussetzungen
Gute Flask- und HTTP-Grundkenntnisse. Erfahrung mit Authentifizierung, Datenbanken und Produktionsbetrieb ist hilfreich.
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. Eingaben, Ausgaben und Injection-Schutz
Alle externen Daten werden validiert und kontextgerecht kodiert, bevor sie Datenbank, Template oder Betriebssystem erreichen.
- Schritt 1: Eingabegrenzen für Länge, Typ, Format und Anzahl zentral setzen.
- Schritt 2: Parametrisierte Datenbankzugriffe und ORM statt zusammengesetzter SQL-Zeichenketten verwenden.
- Schritt 3: Jinja-Autoescaping beibehalten und sichere Markierung nur für kontrollierte Inhalte einsetzen.
- Schritt 4: XSS-, SQL-Injection-, Pfad- und Header-Manipulation mit Negativtests prüfen.
3. 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.
4. Sicherheitsheader und Ressourcenbegrenzung
Browserkontrollen und Request-Limits werden als Teil der Produktionskonfiguration umgesetzt.
- Schritt 1: HSTS, Content Security Policy, X-Content-Type-Options und Frame-Schutz festlegen.
- Schritt 2: MAX_CONTENT_LENGTH sowie Formulargrößen und Teilezahl begrenzen.
- Schritt 3: Host- und Proxy-Vertrauen gegen Header-Spoofing absichern.
- Schritt 4: Große Requests, viele Formularfelder und unerwartete Hosts unter Last testen.
5. Reverse Proxy, TLS und Proxy-Vertrauen
Externe Verbindungen werden am HTTP-Server terminiert und vertrauenswürdige Weiterleitungsinformationen korrekt behandelt.
- Schritt 1: Reverse-Proxy-Pfad, Host, Protokoll und Clientadresse als Datenfluss dokumentieren.
- Schritt 2: Forwarded Header nur für die bekannte Anzahl vertrauenswürdiger Proxies auswerten.
- Schritt 3: TLS, HSTS, Größenlimits und statische Dateien am vorgeschalteten Server konfigurieren.
- Schritt 4: Direktzugriff, gefälschte Header und falsche Präfixe mit Integrationstests prüfen.
6. Secrets, Abhängigkeiten und sichere Bereitstellung
Sicherheitsniveau umfasst Quellcode, Pakete, Konfiguration und Betriebsweg gemeinsam.
- Schritt 1: Secrets aus Repository und Image entfernen und Rotation vorbereiten.
- Schritt 2: Abhängigkeiten sperren, regelmäßig prüfen und Sicherheitsupdates priorisiert einspielen.
- Schritt 3: Debug-Modus und Entwicklungsserver in Produktion technisch ausschließen.
- Schritt 4: Build-Artefakt, Konfiguration und Laufzeitrechte in der CI kontrollieren.
7. Sicherheitstests und Härtungsprüfung
Die wichtigsten Schutzannahmen werden als wiederholbare Tests und Betriebschecks festgehalten.
- Schritt 1: Negativtests für Authentifizierung, Autorisierung, CSRF und Eingabegrenzen erstellen.
- Schritt 2: Sicherheitsheader, Cookie-Attribute und Fehlerausgaben automatisiert prüfen.
- Schritt 3: Abhängigkeits- und statische Analyse in die CI integrieren.
- Schritt 4: Härtungscheckliste vor Veröffentlichung und nach Infrastrukturänderungen ausführen.
Praxisprojekt
Eine bewusst unsicher konfigurierte Anwendung wird analysiert und schrittweise gehärtet. Für jede Maßnahme entsteht mindestens ein Negativtest oder ein wiederholbarer Betriebscheck.
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
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Flask-Entwickler, Security Engineers, Architekten und Betriebsteams, die Anwendungen entwickeln, prüfen oder härten. |
| Voraussetzungen: | Gute Flask- und HTTP-Grundkenntnisse. Erfahrung mit Authentifizierung, Datenbanken und Produktionsbetrieb ist hilfreich. |
| 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.
