Sichere reaktive Webanwendungen mit Spring Security 5.1 (Hands-On Workshop)

 
Tutorial Day - 05. Juni
 
09:15
15:00
 
Tutorial
 
Fidelitas (EG)

Mit dem Project Reactor und Spring 5 hat die reaktive Programmierung nun auch den Weg in die Spring-Welt gefunden.

Doch wie sieht es mit der Sicherheit von reaktiven Webanwendungen aus? Im Kontext der Cloud und Microservice-Architekturen wird man hier unweigerlich mit Protokollen wie OAuth2 und OpenID Connect konfrontiert. Wie funktionieren diese Standards und wie baue ich das sicher mit in meine Anwendungen ein? Wie stelle ich mit der Autorisierung sicher, dass Benutzer meiner Anwendung nur auf berechtigte Funktionen zugreifen dürfen? Wie lege ich ein Benutzerkennwort sicher verschlüsselt in der Datenbank ab?

Mit derartigen Fragestellungen wollen wir uns in diesem Hands-On-Workshop beschäftigen.

Wir starten zunächst mit einer kurzen Einführung in die Grundlagen der reaktiven Programmierung mit Spring Webflux und dem Project Reactor.

Daran anschließend beginnen wir zusammen, eine initial völlig ungesicherte reaktive Webanwendung mit Spring Security 5.1 und Spring Boot 2.1 schrittweise immer sicherer zu machen.

Im Verlauf des Workshops werden wir unter anderem die folgenden Punkte behandeln:
- Initiale Basis-Sicherheit durch die automatische Konfiguration mit Spring Boot
- Benutzerdefinierte Sicherheit (User/Passwort Authentifizierung mit persistenter Benutzerdatenbank und sicherer Passwortverschlüsselung)
- Automatisierte Passwortverschlüsselungs-Upgrades
- Reaktive Unterstützung für Security und was sich im Vergleich zur Sicherung blockierender servletbasierter Anwendungen geändert hat.
- Sicherheit von Actuator Monitoring Endpunkten
- Autorisierung auf verschiedenen Ebenen (Rest-API, Methoden) einschließlich automatisierter Sicherheitstests
- Authentifizierung mit OAuth2/OpenID Connect

Voraussetzungen:

Notebook, Git, JDK in Version 8 oder 11 und eine Java-IDE (mit Unterstützung für Gradle).

Andreas Falk

NovaTec Consulting GmbH, Deutschland

Andreas Falk (@andifalk) arbeitet seit mehr als zwanzig Jahren im Enterprise-Java-Umfeld und ist seit fünf Jahren bei der NovaTec Consulting GmbH als Managing Consultant tätig. In verschiedenen Projekten ist er seither als Berater, Architekt, Coach, Entwickler und Tester unterwegs. Seine Schwerpunkte liegen auf der agilen Entwicklung mit Java EE und der Spring Cloud Plattform. Darüber hinaus beschäftigt er sich als OWASP Mitglied auch mit der Anwendungssicherheit.