Seminarbeschreibung
APIs stellen häufig dieselben Geschäftsdaten für Weboberflächen, mobile Anwendungen und Partner bereit. Schon eine fehlende Objektprüfung kann deshalb Zugriffe über Benutzer- oder Mandantengrenzen hinweg ermöglichen. Das Seminar verbindet Schnittstellendesign mit konkreter Implementierung und nachvollziehbaren Sicherheitstests. Betrachtet werden REST-Endpunkte sowie die besonderen Anforderungen an GraphQL-Schemas und Resolver.
Eine vorbereitete Anwendung mit mehreren Rollen und Mandanten dient als durchgängiges Übungsprojekt. Berechtigungen werden direkt in der Anwendung durchgesetzt und mit positiven sowie negativen Testfällen geprüft. Ergänzend werden Ressourcenverbrauch, Webhooks und ausgehende Anfragen abgesichert. Die Laborarbeit konzentriert sich auf einen abgestimmten Backend-Stack; REST und GraphQL werden anhand derselben fachlichen Domäne verglichen.
Inhalte im Überblick
- Angriffsfläche, API-Verträge und Datenmodelle
- Objekt-, Funktions- und Mandantenberechtigungen
- Token, Browserzugriffe und Geschäftsabläufe
- GraphQL und Ressourcenbegrenzung
- Webhooks und ausgehende Verbindungen
- Automatisierte API-Sicherheitstests
Zielgruppe
Backend- und Full-Stack-Entwickler, API-Verantwortliche, Softwarearchitekten und technische Qualitätssicherung.
Voraussetzungen
Sichere Kenntnisse einer Backend-Sprache sowie Erfahrung mit HTTP, JSON, automatisierten Tests und Git. Grundkenntnisse der Websicherheit entsprechend dem Seminar Secure SDLC werden vorausgesetzt.
Seminarinhalte
Angriffsfläche, API-Verträge und Datenmodelle
- Endpunkte, Versionen, Rollen und schützenswerte Daten inventarisieren; administrative und veraltete Schnittstellen erfassen.
- API-Verträge mit zulässigen Eingaben, Datentypen, Größen und Fehlerrückgaben beschreiben.
- Vertrauensgrenzen zwischen Client, Gateway, Anwendung, Datenbank und externen Diensten bestimmen.
Objekt-, Funktions- und Mandantenberechtigungen
- Objektbezogene Zugriffe serverseitig prüfen und Eigentümerschaft von bloßer Kenntnis einer Kennung unterscheiden.
- Rollen, Attribute und Mandantenzuordnung in Service- und Datenzugriffsschichten konsistent erzwingen.
- Mass Assignment und ungewollte Datenoffenlegung durch explizite Eingabe- und Ausgabemodelle vermeiden.
Token, Browserzugriffe und Geschäftsabläufe
- Access Tokens auf Aussteller, Zielgruppe, Signatur und Gültigkeit prüfen; Fehlerfälle geschlossen behandeln.
- CORS als Browserregel einordnen und von Authentifizierung und Autorisierung unterscheiden.
- Zustandsübergänge, Wiederholungen und parallele Anfragen bei fachlichen Transaktionen kontrollieren.
GraphQL und Ressourcenbegrenzung
- Berechtigungen in Resolvern einschließlich verschachtelter Objekte und sensibler Felder durchsetzen.
- Abfragetiefe, Komplexität, Pagination und Batching begrenzen und kontrolliert testen.
- Ratenlimits, Zeitlimits und Antwortgrößen auf Benutzer, Mandanten und fachliche Vorgänge abstimmen.
Webhooks und ausgehende Verbindungen
- Webhook-Signaturen, Zeitfenster und Wiederholungsschutz überprüfen.
- Ausgehende Ziele begrenzen und Weiterleitungen sowie Namensauflösung bei SSRF-Schutz berücksichtigen.
- Fremde API-Antworten validieren; Fehler und sensible Daten in Protokollen begrenzen.
Automatisierte API-Sicherheitstests
- Eine Testmatrix aus Rollen, Objekten, Mandanten und Aktionen erstellen.
- Negativtests für unzulässige Zugriffe, Eingaben und Geschäftsabläufe in die Testsuite aufnehmen.
- Befunde reproduzierbar dokumentieren, beheben und durch Regressionstests absichern.
Praxisübungen
- Testkonten, Mandanten und Beispieldatensätze anlegen und erlaubte Zugriffe protokollieren.
- Eine fehlende Objektprüfung im Übungsprojekt reproduzieren und zunächst einen fehlschlagenden Sicherheitstest erstellen.
- Die Berechtigungsprüfung in der Anwendung ergänzen und über REST sowie GraphQL überprüfen.
- Begrenzungen für komplexe Abfragen und einen signierten Webhook umsetzen und Fehlerfälle testen.
- Die Tests in den Build integrieren und den geprüften Änderungsstand im Repository ablegen.
Schulungsumgebung
Vorbereitetes Backend-Projekt mit REST und GraphQL, lokale Datenbank, IDE, Git, HTTP-Client und Browser-Entwicklerwerkzeuge. Tests verwenden ausschließlich isolierte Übungsdienste und synthetische Daten.
Seminarauswahl
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, insgesamt ca. 18 Unterrichtsstunden; 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: | Backend- und Full-Stack-Entwickler, API-Verantwortliche, Softwarearchitekten und technische Qualitätssicherung. |
| Voraussetzungen: | Sichere Kenntnisse einer Backend-Sprache sowie Erfahrung mit HTTP, JSON, automatisierten Tests und Git. Grundkenntnisse der Websicherheit entsprechend dem Seminar Secure SDLC werden vorausgesetzt. |
| 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.
