APIs, Microservices und der Betrieb in der Cloud stellen neue Herausforderungen an die
Security:
Authentifizierung und Autorisierung von API Benutzern und Clients
API Single Sign On
Ausstellen und Verwalten von API Keys
Begrenzung der Zugriffe
Bereitstellen von öffentlichen APIs
Absicherung der Kommunikation zwischen Microservices
APIs basieren auf Web Technologien, unterscheiden sich aber von Web Anwendungen
und haben andere Bedrohungspotentiale und
Risiken. Die Besonderheiten bei der Absicherung von APIs und Microservices bilden den
Schwerpunkt dieser Schulung.
Grundlagen und Konzepte werden im Seminar mit anschaulichen Beispielen, Übungen und
Demonstrationen behandelt.
Angriffsvektoren bei APIs
OWASP Top 10 Risken
SQL-, XML- und Skript- Injection
Cross Site Request Forgery CSRF, XSRF
Denial of Service
Man in the Middle Attacken
Grundlagen Sicherheit
Verfügbarkeit, Vertraulichkeit und Datenintegrität
Authentifizierung, Authorisierung und Nichtabstreitbarkeit
Die wichtigsten Grundbegriffe: Identität, Claim, Token, Hashalgorithmus, ...
Grundlagen der Kryptographie
Digitaler Fingerabdruck, Hashfunktion und Digest
Anwendungen: Prüfsumme, Passwörter
Hashalgorithmen: SHA-1, SHA-256
Sicherheit von Hash Algorithmen
Symmetrische Verschlüsselung mit dem AES Algorithmus
Die Betriebsmodi: ECB, CBC und GCM
Asymmetrische Verschlüsselung
Public Key Kryptographie
X.509 Zertifikate
Digitale Signaturen
Das Root-Zertifikat
Signieren von URLs und Nachrichten
HTTP Security
Basic Authentication
Die Status Codes 401 und 403
SSL/TLS
Verschlüsselung und Authentifizierung
Basic Authentication mit SSL
Server- und Client Zertifikate
Welche TLS Version ist sicher?
API Gateways & Proxies
API Gateway als API Firewall
Granularität der Berechtigungen
Single Sign On für APIs
Die Verfahren im Überblick: OAuth, JWT oder SAML?
Integration mit LDAP oder eigenen Login-Diensten
OAuth1 oder OAuth2 verwenden?
Weiterreichen der Identität des Aufrufers an Downstream Services
API Keys
Vorteile von API Keys gegenüber Passwörtern
Ausgabe von API Schlüsseln über API Portale
Sichern eines "Public API" mit API Keys
Hash basierte Nachrichten Codes HMAC
OAuth2
Ablauf einer OAuth2 Autorisierung
OAuth2 (JWT) Bearer Token
Anwendungsfälle: Server basierte Webapp, HTML5 Javascript Seite, Mobile App
Implementierungen: Apache Oltu, Spring Security OAuth
Use Case: OAuth2 im Social Web
Einsatz von OAuth2 im Unternehmen
Unterschiede von OAuth 1 und OAuth 2
OpenID Connect
Ablauf einer Authentifizierung
ID Tokens
Produkte
JOSE und Web Token JWT
JSON Web Signature (JWS), Encryption (JWE) und Key (JWK)
Single Sign On SSO mit JWT
"one Click" Action eMails
Aufbau eines Token
Signieren mit JWS Tokens
Statuslose Sicherheit und REST
Erzeugen und konsumieren von JWS, JWE, JWK mit Java oder JavaScript
JSON Web Encryption
Erzeugen von JWE Dokumenten
Bibliotheken für JWE
Eingabe-Validierung
Wie man SQL-, XML- und Code-Injection verhindern kann
Überprüfung von JSON & XML Inhalten
Check von Query- und Path-Parametern
HTTP Header
White- und Blacklists
HTML Sanitizer, Input Sanitization, Escaping
API Gateways und API Management
Funktionsweise eines Reverse Proxy
Rate Limiting und Quotas
Cross-Origin Resource Sharing CORS erleichtern
URI Rewriting
Konfiguration über Swagger
Secure REST Design
Wie ist eine sichere URI aufgebaut?
XML Security (Optional)
XML Encryption & XML Signature
Aufbau einer XML Signatur
SAML 2 (Optional)
Zusammenspiel von Identity- und Service Provider
Aufbau einer SAML Assertion
Ablauf einer Anmeldung
Kombinieren von Web SSO mit API SSO
Auswahl eines IdP
Deine Vorteile
Erfahre wie Du REST APIs sichern kannst
Zielgruppe
Software Entwickler, Programmierer, Sicherheitsbeauftragte und Projektmanager
Vorkenntnisse
Grundlagen der IT Sicherheit
Dauer
2 Tage
Kursunterlage
Handouts aller in der Schulung präsentierten Folien.