API Design und API Security: Sichere APIs entwickeln
Kursüberblick
Dieser umfassende 3-tägige Schulungskurs vermittelt Ihnen Best Practices für professionelles API Design und umfassende API-Sicherheit. Lernen Sie, wie Sie moderne, sichere und skalierbare APIs entwickeln, häufige Sicherheitslücken vermeiden und Ihre APIs gegen aktuelle Bedrohungen schützen.
Was Sie lernen werden
Tag 1: API Design Fundamentals und Architektur
-
API Design Best Practices
- Grundprinzipien guten API Designs
- RESTful API Design Guidelines
- API Versioning Strategien
- Resource Naming Conventions
- HTTP Methods richtig einsetzen
- Status Codes und Error Handling
-
API Architektur-Stile im Vergleich
- REST APIs: Prinzipien, Vor- und Nachteile
- GraphQL: Query Language, Schema Design, Resolvers
- gRPC: Protocol Buffers, Performance-Vorteile
- SOAP: Legacy-Integration
- Wann welcher Stil am besten geeignet ist
- Praktischer Vergleich mit Beispielen
-
API Infrastructure
- API Gateway: Funktionen und Einsatzszenarien
- Reverse Proxy: Nginx, Apache als API-Frontend
- Load Balancing für APIs
- Rate Limiting und Throttling
- Caching-Strategien
-
API Management
- API Lifecycle Management
- API Documentation und Developer Portal
- API Analytics und Monitoring
- API Governance und Standards
- Tools: Kong, Apigee, AWS API Gateway
-
Swagger/OpenAPI für API-Entwicklung
- OpenAPI Specification (OAS) 3.0
- API Design mit Swagger Editor
- Code-Generierung aus Spezifikationen
- SwaggerHub für kollaborative Entwicklung
- API Testing mit Swagger UI
- Dokumentations-Best-Practices
Tag 2: API Security Fundamentals und Kryptographie
-
Grundlagen IT-Sicherheit
- CIA-Triade: Confidentiality, Integrity, Availability
- Weitere Schutzziele: Authentizität, Nichtabstreitbarkeit
- Bedrohungsmodellierung für APIs
- Security by Design Prinzipien
- Defense in Depth Strategie
-
Authentication und Authorization
- Authentication-Methoden:
- Basic Authentication
- API Keys
- Token-based Authentication
- Multi-Factor Authentication (MFA)
- Authorization-Konzepte:
- Role-Based Access Control (RBAC)
- Attribute-Based Access Control (ABAC)
- Policy-Based Access Control
- Principle of Least Privilege
- Nichtabstreitbarkeit (Non-Repudiation):
- Konzept und Bedeutung
- Digitale Signaturen
- Audit Trails und Logging
- Authentication-Methoden:
-
HTTP Security Basics
- HTTP vs. HTTPS
- TLS/SSL Grundlagen
- HTTP Security Headers:
- Strict-Transport-Security
- Content-Security-Policy
- X-Frame-Options
- X-Content-Type-Options
- CORS (Cross-Origin Resource Sharing)
- HTTP Status Codes im Security-Kontext
-
Grundlagen Kryptographie
- Hash-Funktionen und Digitaler Fingerabdruck
- Was ist ein Hash/Digest?
- Eigenschaften kryptographischer Hash-Funktionen
- Anwendungen: Prüfsummen, Integritätsprüfung
- Hash-Algorithmen
- SHA-1 (veraltet, Schwächen)
- SHA-256, SHA-384, SHA-512
- SHA-3 Familie
- Sicherheit von Hash-Algorithmen
- Passwort-Hashing
- Salting und Peppering
- bcrypt, Argon2, PBKDF2
- Rainbow Tables und deren Abwehr
- Symmetrische Verschlüsselung
- Grundprinzip: Ein Schlüssel für Ver- und Entschlüsselung
- AES (Advanced Encryption Standard)
- AES Modi: CBC, GCM, CTR
- Key Management
- Asymmetrische Verschlüsselung
- Grundprinzip: Public/Private Key Paare
- RSA Algorithmus
- Elliptic Curve Cryptography (ECC)
- Anwendungen: Key Exchange, Digitale Signaturen
- Digitale Signaturen
- Wie funktionieren digitale Signaturen?
- Unterschied zu Verschlüsselung
- Einsatz in APIs
- Hash-Funktionen und Digitaler Fingerabdruck
Tag 3: JWT, OAuth und API Security Best Practices
-
JWT (JSON Web Token) im Detail
- JWT Grundlagen
- Was ist JWT und wofür wird es verwendet?
- JWT vs. Session-based Authentication
- Stateless Authentication
- JWT Aufbau
- Header: Algorithmus und Token-Typ
- Payload: Claims (Standard, Public, Private)
- Signature: Integritätssicherung
- Base64URL Encoding
- JOSE Standards (JSON Object Signing and Encryption)
- JWS (JSON Web Signature): Signierte Tokens
- JWE (JSON Web Encryption): Verschlüsselte Tokens
- JWK (JSON Web Key): Schlüsselrepräsentation
- JWA (JSON Web Algorithms): Algorithmen-Spezifikation
- JWT Signing und Verification
- HMAC (Symmetric: HS256, HS384, HS512)
- RSA (Asymmetric: RS256, RS384, RS512)
- ECDSA (Asymmetric: ES256, ES384, ES512)
- Key Rotation Best Practices
- JWT Workflow und Lifecycle
- Token Issuance
- Token Validation
- Token Refresh
- Token Revocation Strategien
- JWT Security Best Practices
- Kritische Claims: exp, iat, nbf
- Token-Lebensdauer festlegen
- Sensitive Daten in JWT vermeiden
- Algorithm Confusion Attacks verhindern
- JWT Grundlagen
-
OAuth 2.0 und JWT
- OAuth 2.0 Framework Überblick
- Authorization Flows:
- Authorization Code Flow
- Client Credentials Flow
- Implicit Flow (deprecated)
- PKCE (Proof Key for Code Exchange)
- OAuth 2.0 mit JWT Access Tokens
- OpenID Connect (OIDC) Grundlagen
- Refresh Tokens vs. Access Tokens
-
OWASP API Security Top 10
- API1: Broken Object Level Authorization
- Was ist IDOR (Insecure Direct Object Reference)?
- Praktisches Beispiel und Exploitation
- Gegenmaßnahmen und Prävention
- API2: Broken Authentication
- Schwache Authentifizierungsmechanismen
- Beispiel: Credential Stuffing
- Sichere Authentication implementieren
- API3: Broken Object Property Level Authorization
- Mass Assignment Schwachstellen
- Beispiel: Unerwünschte Datenmanipulation
- Input Filtering und Whitelisting
- API4: Unrestricted Resource Consumption
- DoS durch fehlende Rate Limits
- Beispiel: API Resource Exhaustion
- Rate Limiting und Quotas implementieren
- API5: Broken Function Level Authorization
- Fehlende Zugriffskontrolle auf Funktionsebene
- Beispiel: Admin-Funktionen für normale User
- Proper Authorization Checks
- API6: Unrestricted Access to Sensitive Business Flows
- Business Logic Flaws
- Beispiel: Automatisierte Angriffe auf kritische Flows
- Bot Detection und Flow-Schutz
- API7: Server Side Request Forgery (SSRF)
- Wie funktioniert SSRF?
- Beispiel: Zugriff auf interne Ressourcen
- URL Validation und Whitelisting
- API8: Security Misconfiguration
- Default Credentials, unnötige Features
- Beispiel: Exponierte Debug-Endpoints
- Security Hardening Checklisten
- API9: Improper Inventory Management
- Unversionierte oder vergessene APIs
- Beispiel: Shadow APIs
- API Inventory und Lifecycle Management
- API10: Unsafe Consumption of APIs
- Vertrauen in externe APIs
- Beispiel: API Chain Attacks
- Validierung von Drittanbieter-Daten
- API1: Broken Object Level Authorization
-
Input Validation und Output Encoding
- Input Validation Best Practices
- Whitelisting vs. Blacklisting
- SQL Injection Prevention
- XSS Prevention in APIs
- XML External Entity (XXE) Prevention
- Command Injection Prevention
- Output Encoding Strategien
-
Angriffsvektoren bei APIs aus der Praxis
- Injection Attacks: SQL, NoSQL, Command Injection
- Broken Access Control: Praktische Beispiele
- API Enumeration und Information Disclosure
- Man-in-the-Middle (MitM) Angriffe
- Replay Attacks und Gegenmaßnahmen
- API Scraping und Bot Detection
- DDoS und Rate Limit Bypass
- Real-World Case Studies
-
API Security Testing und Tools
- Security Testing Methodologien
- OWASP ZAP für API Testing
- Burp Suite Professional
- Postman Security Testing
- Automated Security Scanning
- Penetration Testing Basics
Voraussetzungen
- Grundlegende Programmierkenntnisse
- Verständnis von HTTP und Web-Technologien
- Erfahrung mit REST APIs von Vorteil
- Keine tiefgehenden Security-Kenntnisse erforderlich
Kursformat
- Dauer: 3 ganze Tage (je 8 Stunden)
- Format: Instruktor-geleitetes Training mit umfangreichen Hands-on Labs
- Klassengröße: Maximal 12 Teilnehmer für intensive Betreuung
- Materialien: Umfassende Kursunterlagen, Code-Beispiele und Checklisten inklusive
Hands-on Labs und Übungen
Während des Kurses arbeiten Sie an praxisnahen Projekten:
- Design und Implementierung einer RESTful API mit OpenAPI
- Vergleich: Gleiche API in REST, GraphQL und gRPC implementieren
- API Gateway Setup mit Kong oder Nginx
- Implementierung verschiedener Authentication-Mechanismen
- JWT-basierte Authentifizierung von Grund auf entwickeln
- OAuth 2.0 Flow praktisch umsetzen
- Kryptographie-Übungen: Hashing, Signing, Encryption
- OWASP Top 10 Exploits nachstellen und absichern
- Security Testing mit OWASP ZAP
- API Documentation mit SwaggerHub erstellen
Verwendete Tools und Technologien
Im Kurs arbeiten wir mit:
- OpenAPI/Swagger, SwaggerHub
- Postman für API Testing
- Node.js/Express oder Python/Flask für API-Entwicklung
- Kong oder Nginx als API Gateway
- OWASP ZAP und Burp Suite
- JWT Libraries und OAuth Providers
- Git und Docker
Wer sollte teilnehmen
- Backend-Entwickler und API-Entwickler
- Software-Architekten
- DevOps und Platform Engineers
- Security Engineers und Consultants
- Full-Stack Entwickler
- Technical Leads und Team Leads
- Alle, die sichere APIs entwickeln oder bewerten müssen
Lernziele
Am Ende dieses Kurses werden Sie in der Lage sein:
- ✅ Professionelle, gut strukturierte APIs zu designen
- ✅ Verschiedene API-Stile (REST, GraphQL, gRPC) situationsgerecht einzusetzen
- ✅ API Gateways und Management-Tools zu konfigurieren
- ✅ Sichere Authentication und Authorization zu implementieren
- ✅ JWT und OAuth 2.0 korrekt einzusetzen
- ✅ Kryptographische Grundlagen praktisch anzuwenden
- ✅ OWASP API Security Top 10 Risiken zu erkennen und zu vermeiden
- ✅ Input Validation und Security Best Practices umzusetzen
- ✅ APIs auf Sicherheitslücken zu testen
- ✅ OpenAPI-Spezifikationen zu erstellen und zu nutzen