Produktionsreife APIs benötigen ein konsistentes Sicherheitsmodell, das Identität, Berechtigungen, Eingaben, Fehlerausgaben und Betriebsdaten gemeinsam betrachtet. Einzelne Guards oder ein signiertes Token reichen nicht aus, wenn Vertrauensgrenzen, Token-Lebenszyklen und Missbrauchsszenarien ungeklärt bleiben.
Der Kurs entwickelt ein vollständiges Schutzkonzept an einer modularen Beispielanwendung. Jede Maßnahme wird fachlich begründet, implementiert und mit positiven sowie negativen Tests abgesichert. Dadurch entsteht ein wiederverwendbarer Entscheidungsrahmen für interne APIs, Partner-Schnittstellen und öffentlich erreichbare Dienste.
Inhaltsübersicht
- Lernziele
- Bedrohungsmodell und Vertrauensgrenzen
- Authentifizierung und Token-Lebenszyklus
- Autorisierung mit Rollen und Policies
- API-Härtung und sichere Verarbeitung
- Automatisierte Sicherheitsprüfung
- Praxisprojekt: Geschützte Mandanten-API
- Prüfpunkte und typische Fehler
Lernziele
- Vertrauensgrenzen, schützenswerte Ressourcen und Angriffsflächen einer NestJS-Anwendung strukturiert erfassen.
- Authentifizierungsflüsse mit kurzlebigen Zugriffstoken und kontrollierter Erneuerung umsetzen.
- Rollenbasierte und attributbasierte Berechtigungsentscheidungen mit Guards, Metadaten und Policies modellieren.
- Eingaben, Fehlerausgaben, Header, CORS, Uploads und Request-Raten sicher konfigurieren.
- Secrets, Schlüsselmaterial und sicherheitsrelevante Konfigurationen getrennt vom Anwendungscode verwalten.
- Sicherheitsfunktionen mit Unit-, Integrations- und End-to-End-Tests reproduzierbar prüfen.
Bedrohungsmodell und Vertrauensgrenzen
Die Anwendung wird nach Schutzbedarf und Datenflüssen zerlegt. Externe Clients, interne Dienste, Datenbanken, Nachrichtenkanäle und Administrationsfunktionen erhalten klar definierte Vertrauensniveaus.
- Assets, Identitäten, Mandanten, Rollen und besonders schützenswerte Operationen inventarisieren.
- Angriffswege für gestohlene Token, manipulierte Eingaben, Rechteausweitung und automatisierten Missbrauch beschreiben.
- Sicherheitsentscheidungen an der fachlichen Ressource statt nur an der URL ausrichten.
- Fehlerfälle so planen, dass keine internen Details, Abfragen oder Stacktraces offengelegt werden.
- Protokollierungsbedarf und Datenschutz bereits im Sicherheitsentwurf berücksichtigen.
Entscheidungskriterien und Hinweise
- Bedrohungsmodelle bleiben versioniert und werden bei neuen Integrationen aktualisiert.
- Schutzmaßnahmen werden nach Risiko und nicht nach bloßer technischer Verfügbarkeit priorisiert.
Authentifizierung und Token-Lebenszyklus
Die Identitätsprüfung wird als austauschbare Schicht aufgebaut. Lokale Zugangsdaten, zentrale Identitätsanbieter und servicebasierte Identitäten lassen sich dadurch trennen, ohne die Fachlogik an ein einzelnes Verfahren zu koppeln.
- Benutzer- und Credential-Modell mit eindeutigen Zuständen für aktiv, gesperrt und zurückgesetzt definieren.
- Login-DTO validieren, Fehlermeldungen vereinheitlichen und rechenintensive Prüfungen begrenzen.
- Zugriffstoken mit minimalen Claims, kurzer Gültigkeit sowie Aussteller- und Zielgruppenbindung ausstellen.
- Erneuerungstoken getrennt speichern, rotieren, widerrufen und Wiederverwendung erkennen.
- Guards für öffentliche, authentifizierte und besonders geschützte Routen kombinierbar gestalten.
- Abmeldung, Sperrung, Schlüsselrotation und kompromittierte Sitzungen als Betriebsfälle testen.
Entscheidungskriterien und Hinweise
- Token dienen als Nachweis und nicht als dauerhafte Datenablage.
- Schlüsselrotation benötigt eine kontrollierte Übergangsphase mit mehreren gültigen Schlüsseln.
Autorisierung mit Rollen und Policies
Eine authentifizierte Identität besitzt nicht automatisch Zugriff auf jede fachliche Ressource. Rolle, Besitz, Mandant, Objektstatus und konkrete Aktion werden in einer einheitlichen Entscheidung zusammengeführt.
- Rollen als grobe Funktionszuordnung definieren und zentral über Metadaten auswerten.
- Aktion, Ressource, Identität und Kontext in ein Policy-Entscheidungsobjekt überführen.
- Eigentum, Mandantenzugehörigkeit, Freigabestatus und zeitliche Einschränkungen berücksichtigen.
- Berechtigungsentscheidungen aus Controllern und Services in wiederverwendbare Komponenten verlagern.
- Vererbte Rollen und kombinierte Policies mit erlaubten und verweigerten Szenarien testen.
- Entscheidungsgründe protokollierbar machen, ohne sensible Daten in Logs zu schreiben.
Entscheidungskriterien und Hinweise
- Rollen ersetzen keine objektbezogenen Fachregeln.
- Verweigerte Zugriffe dürfen keine Daten oder Seiteneffekte erzeugen.
API-Härtung und sichere Verarbeitung
Validierung, Transformation, Header, Cross-Origin-Regeln und Begrenzungen werden zentral eingerichtet, damit neue Module automatisch einem sicheren Standard folgen.
- Globale ValidationPipe mit Whitelist, Transformation und kontrolliertem Verhalten bei unbekannten Feldern konfigurieren.
- Mass Assignment durch getrennte Eingabe- und Ausgabemodelle verhindern.
- Sicherheitsheader, CORS-Regeln und Proxy-Vertrauen passend zur Zielarchitektur einstellen.
- Rate Limiting differenziert für Anmeldung, Lesezugriffe und teure Schreiboperationen einsetzen.
- Dateiuploads nach Größe, Typ, Inhalt, Speicherort und Berechtigung begrenzen.
- Serialisierung und Exception Filter so konfigurieren, dass interne Felder verborgen bleiben.
- Secrets und Schlüsselmaterial ausschließlich über kontrollierte Konfigurationsquellen laden.
Entscheidungskriterien und Hinweise
- CORS ist keine Autorisierung und schützt keine serverseitigen Clients.
- Proxy-Vertrauen beeinflusst IP-basierte Kontrollen und muss der realen Topologie entsprechen.
Automatisierte Sicherheitsprüfung
Sicherheitsanforderungen werden als ausführbare Regeln behandelt. Negative Tests prüfen Statuscode, Datenabfluss, Seiteneffekte und sensible Fehlermeldungen.
- Testmatrix aus Identitäten, Rollen, Mandanten, Ressourcenstatus und Aktionen ableiten.
- Guards und Policy-Handler mit isolierten Unit-Tests prüfen.
- Login, Token-Erneuerung, Sperrung und Widerruf in Integrationstests abbilden.
- End-to-End-Tests für fehlende, manipulierte, abgelaufene und wiederverwendete Token erstellen.
- Validierungs-, Rate-Limit- und Fehlerausgabe-Szenarien automatisiert prüfen.
- Sicherheitsrelevante Tests als Release-Gates in die Pipeline aufnehmen.
Entscheidungskriterien und Hinweise
- Positive Tests belegen Funktion, negative Tests belegen Schutzwirkung.
- Logs und Audit-Ereignisse werden ebenfalls auf unerlaubte Dateninhalte geprüft.
Praxisprojekt: Geschützte Mandanten-API
Eine bestehende REST-API wird um Anmeldung, Token-Rotation, Mandantentrennung und fachliche Berechtigungen erweitert. Die Anwendung enthält öffentliche, authentifizierte und administrative Operationen sowie einen besonders geschützten Export.
Der Prüfpfad kombiniert Funktions- und Missbrauchsszenarien. Erlaubte Operationen müssen funktionieren; unerlaubte Zugriffe dürfen weder Daten liefern noch Seiteneffekte erzeugen.
- Schutzbedarf, Rollen, Mandantenregeln und sensible Operationen in einer Sicherheitsmatrix dokumentieren.
- Authentifizierungsmodul mit Zugriffstoken, Erneuerung, Rotation und Widerruf implementieren.
- Rollen- und Policy-Guards für Objektzugriffe, Export und Administration ergänzen.
- Globale Validierung, Fehlerfilter, Sicherheitsheader und differenziertes Rate Limiting aktivieren.
- Secrets und Schlüssel über die Konfiguration einbinden und einen Rotationsfall simulieren.
- Negative End-to-End-Tests für Rechteausweitung, Mandantenwechsel und manipulierte Token erstellen.
- Audit-Ereignisse prüfen und sicherstellen, dass keine Zugangsdaten oder vollständigen Token protokolliert werden.
Prüfpunkte und typische Fehler
- Authentifizierung und Autorisierung werden getrennt bewertet.
- Berechtigungsregeln befinden sich nicht als verstreute Bedingungen in Controllern oder Services.
- Token enthalten nur notwendige Claims und besitzen einen kontrollierten Lebenszyklus.
- Fehlermeldungen verraten keine unnötigen Details über Konten, Datenmodell oder Infrastruktur.
- Proxy-, CORS- und Rate-Limit-Konfiguration entsprechen der tatsächlichen Bereitstellungsarchitektur.
- Negative Tests prüfen auch Datenabfluss, Seiteneffekte und Log-Inhalte.
Fachbereichsleitung und Trainerteam
-

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: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weiterer Tag 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | NestJS- und TypeScript-Entwickler, API-Verantwortliche, Softwarearchitekten sowie technische Security-Verantwortliche |
| Voraussetzungen: | Sichere TypeScript-Grundlagen, praktische NestJS-Erfahrung, Kenntnisse zu HTTP, REST und relationalem Datenzugriff |
| 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: | Fachvortrag, Live-Coding, Demonstrationen, praktische Übungen und strukturierte Auswertung am System |
| Seminararten: | Öffentlich, Webinar, Inhouse, 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.
