Sichere Java-Entwicklung (inkl. OWASP) Schulung
Dieser Kurs behandelt die Prinzipien des sicheren Programmierens in Java anhand der Testmethodik des Open Web Application Security Project (OWASP). Das Open Web Application Security Project ist eine Online-Community, die frei verfügbare Artikel, Methoden, Dokumentation, Tools und Technologien im Bereich der Webanwendungssicherheit bereitstellt.
Schulungsübersicht
- Verständnis von Web-Bedrohungen und Angriffspfaden
- Kennenlernen der Prinzipien des sicheren Designs
- Verständnis der OWASP Top 10 Angriffe
- Verständnis der Probleme bei Authentifizierung und Autorisierung
- Wissen über die Verhinderung von Cross-Site Scripting (XSS)
- Wissen über die Verhinderung von Cross-Site Request Forgery (CSRF)
- Verständnis des sicheren Entwicklungszyklus
- Wissen über die Verhinderung von Injection-Angriffen
- Verständnis der Schutzmaßnahmen in JDBC und JPA
- Verständnis der Methoden der Penetrationstests
- Wissen über die Sicherung von Java-Anwendungen
Voraussetzungen
- Erfahrung mit Java.
- Erfahrung in der Erstellung von Webanwendungen.
Offene Schulungskurse erfordern mindestens 5 Teilnehmer.
Sichere Java-Entwicklung (inkl. OWASP) Schulung - Buchung
Sichere Java-Entwicklung (inkl. OWASP) Schulung - Anfrage
Sichere Java-Entwicklung (inkl. OWASP) - Beratungsanfrage
Erfahrungsberichte (3)
Das Thema ist aktuell und ich musste mich aktualisieren
Damilano Marco - SIAP s.r.l.
Kurs - Secure Developer Java (Inc OWASP)
Maschinelle Übersetzung
Es war sehr umfassend, die Informationen waren klar und prägnant.
Sebastian-Daniel - BRD
Kurs - Secure Developer Java (Inc OWASP)
Maschinelle Übersetzung
Mehrere Beispiele für jedes Modul und großartiges Wissen des Trainers.
Sebastian - BRD
Kurs - Secure Developer Java (Inc OWASP)
Maschinelle Übersetzung
Kommende Kurse
Kombinierte Kurse
Netzwerksicherheit und sichere Kommunikation
21 StundenDie Implementierung einer sicheren Netzwerk-Anwendung kann herausfordernd sein, selbst für Entwickler, die bereits verschiedene kryptografische Bausteine (wie Verschlüsselung und digitale Signaturen) verwendet haben. Um den Teilnehmern die Rolle und Anwendung dieser kryptografischen Grundelemente verständlich zu machen, wird zunächst eine fundierte Basis zu den Hauptanforderungen einer sicheren Kommunikation gelegt – dazu gehören sichere Bestätigung, Integrität, Vertraulichkeit, remote Identifikation und Anonymität. Dabei werden auch typische Probleme vorgestellt, die diese Anforderungen beeinträchtigen können, sowie praxisnahe Lösungen.
Da Kryptografie ein entscheidender Aspekt der Netzwerksicherheit ist, werden die wichtigsten Algorithmen in der symmetrischen Kryptografie, Hashing, asymmetrischer Kryptografie und Schlüsselvereinbarung behandelt. Statt tiefergehende mathematische Hintergründe zu erläutern, werden diese Elemente aus der Perspektive von Entwicklern diskutiert, wobei typische Anwendungsbeispiele und praktische Aspekte im Umgang mit Kryptografie – wie Public-Key-Infrastrukturen (PKI) – aufgezeigt werden. Zudem werden Sicherheitsprotokolle in verschiedenen Bereichen sicherer Kommunikation vorgestellt, mit einem vertieften Fokus auf den am weitesten verbreiteten Protokollfamilien IPsec und SSL/TLS.
Typische Schwachstellen in der Kryptografie werden sowohl für bestimmte kryptografische Algorithmen als auch für kryptografische Protokolle diskutiert, darunter BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding-Oracle-Attacken, Lucky Thirteen, POODLE und ähnliche Angriffe sowie die RSA-Zeitangriffe (Timing Attacks). In jedem Fall werden die praktischen Implikationen und möglichen Folgen dieser Probleme beschrieben, wiederum ohne tiefe mathematische Details.
Da XML-Technologie für den Datenaustausch vernetzter Anwendungen zentral ist, werden abschließend die Sicherheitsaspekte von XML behandelt. Dies umfasst die Nutzung von XML innerhalb von Webdiensten und SOAP-Nachrichten sowie Schutzmaßnahmen wie XML-Signatur und XML-Verschlüsselung – ebenso wie Schwachstellen dieser Schutzmechanismen und XML-spezifische Sicherheitsprobleme wie XML-Injection, XML External Entity (XXE)-Angriffe, XML-Bombs und XPath-Injection.
Die Teilnehmer dieses Kurses werden
- Grundkonzepte der Sicherheit, IT-Sicherheit und sicheren Programmierung verstehen
- Die Anforderungen an sichere Kommunikation nachvollziehen können
- Netzwerkangriffe und Abwehrmaßnahmen in verschiedenen OSI-Schichten kennenlernen
- Ein praktisches Verständnis von Kryptografie erwerben
- Wesentliche Sicherheitsprotokolle verstehen
- Neuere Angriffe auf Kryptosysteme nachvollziehen können
- Informationen zu einigen aktuellen, damit verbundenen Schwachstellen erhalten
- Sicherheitskonzepte von Webdiensten verstehen
- Quellen und weiterführende Literatur zu bewährten Praktiken der sicheren Programmierung kennenlernen
Zielgruppe
Entwickler, Fachkräfte
Sicheres Coden in C/C++
21 StundenDas Schreiben von sicherem C- und C++-Code erfordert eine strenge Abwehr gegen böswillige Ausnutzung, Speicherbeschädigung und das Umgehen der Eingabevalidierung. Dieses Programm untersucht Schwachstellenmuster wie Pufferüberläufe, Use-after-Free, Integer-Überläufe und Typverwechslungen. Die Teilnehmenden wenden Richtlinien für sicheres Coden, statische Analysewerkzeuge und Techniken der defensiven Programmierung an, um Schwachstellen zu beseitigen, die Eingabebereinigung durchzusetzen und eine gehärtete Software zu entwickeln, die gegen Cyberangriffe widerstandsfähig ist.
Erweiterte Java-Sicherheit
21 StundenAuch erfahrene Java-Entwickler beherrschen nicht unbedingt die verschiedenen von Java angebotenen Sicherheitsdienste und sind sich auch der für in Java geschriebene Webanwendungen relevanten Schwachstellen oft nicht bewusst.
Der Kurs – neben der Einführung in die Sicherheitsspezifika der Standard Java Edition – befasst sich mit Sicherheitsfragen der Java Enterprise Edition (JEE) und von Webservices. Der Diskussion spezifischer Dienste gehen Grundlagen der Kryptografie und sicherer Kommunikation voraus. Verschiedene Übungen behandeln deklarative und programmatische Sicherheits-Techniken in JEE, während sowohl die Sicherheitsmaßnahmen auf Transportschicht als auch End-to-End-Sicherheit von Webservices diskutiert werden. Die Nutzung aller Komponenten wird durch mehrere praktische Übungen veranschaulicht, bei denen Teilnehmer die besprochenen APIs und Tools selbst austesten können.
Der Kurs geht zudem durch und erklärt die häufigsten und schwerwiegendsten Programmierfehler der Java-Sprache und -Plattform sowie webbezogene Schwachstellen. Neben den typischen Fehlern, die von Java-Entwicklern begangen werden, umfassen die vorgestellten Sicherheitslücken sowohl languagespezifische Probleme als auch Probleme, die aus der Laufzeitumgebung resultieren. Alle Schwachstellen und relevanten Angriffe werden durch leicht verständliche Übungen demonstriert, denen empfohlene Coding-Richtlinien und mögliche Gegenmaßnahmen folgen.
Teilnehmer dieses Kurses werden
- Grundkonzepte der Sicherheit, IT-Sicherheit und sicheren Programmierens verstehen
- Webschwachstellen jenseits der OWASP Top Ten kennenlernen und wissen, wie man sie vermeidet
- Sicherheitskonzepte von Webservices verstehen
- Lernen, verschiedene Sicherheitsfunktionen der Java-Entwicklungsumgebung zu nutzen
- Ein praktisches Verständnis für Kryptografie entwickeln
- Sicherheitslösungen von Java EE verstehen
- Typische Programmierfehler und ihre Vermeidung kennenlernen
- Informationen über einige aktuelle Schwachstellen im Java-Framework erhalten
- Praktisches Wissen im Umgang mit Sicherheitstest-Tools erwerben
- Quellen und weiterführende Literatur zu sicheren Coding-Praktiken erhalten
Zielgruppe
Entwickler
Groovy-Programmierung
21 StundenApache Groovy ist eine dynamische Programmiersprache für die JVM (Java Virtual Machine). Zu ihren Merkmalen gehören Scripting-Fähigkeiten, die Erstellung domänenspezifischer Sprachen sowie Meta-Programmierung zur Laufzeit und Kompilierzeit, außerdem funktionale Programmierung. Groovy wird häufig als Ergänzung zu Java verwendet.
In diesem instructor-led-Live-Training lernen die Teilnehmenden Schritt für Schritt am Beispiel einer Anwendung, wie man mit Groovy programmiert.
Zielgruppe
- Entwickler
Kursformat
- Theorie und Diskussion, Übungen sowie intensive praktische Arbeitsphasen
Groovy-Programmierung für Anfänger
14 StundenDieses instructor-led-live-Training in Österreich (online oder vor Ort) richtet sich an Entwickler auf Anfängerniveau, die die Grundlagen der Groovy-Programmierung erlernen möchten.
Nach Abschluss dieser Schulung können Teilnehmer:
- Grundlegende Programmierkonzepte verstehen.
- Einfache Groovy-Skripte schreiben und Kernfunktionen von Groovy nutzen.
- Die grundlegenden Prinzipien der objektorientierten Programmierung mit Groovy verstehen und anwenden.
- Grundlegende Fehlerbehandlungstechniken erlernen, um häufige Programmfehler und Ausnahmen in Groovy zu verwalten.
Java Microservices
21 StundenDiese unter der Leitung eines Dozenten stattfindende Live-Schulung in Österreich (online oder vor Ort) richtet sich an Java-Entwickler mit mittlerem Know-how, die Microservices-basierte Anwendungen entwerfen, entwickeln, bereitstellen und warten möchten, wobei Frameworks wie Spring Boot und Spring Cloud zum Einsatz kommen.
Nach Abschluss dieser Schulung werden die Teilnehmer in der Lage sein:
- Die Prinzipien und Vorteile der Microservices-Architektur zu verstehen.
- Microservices mit Java und Spring Boot zu erstellen und bereitzustellen.
- Dienstentdeckung, Konfigurationsverwaltung und API-Gateways zu implementieren.
- Microservices effektiv abzusichern, zu überwachen und zu skalieren.
- Microservices mit Docker und Kubernetes bereitzustellen.
Mikrodienste mit Spring Boot, Docker und Kubernetes aufbauen
21 StundenDieses unter der Leitung eines Dozenten durchgeführte Live-Training in Österreich (online oder vor Ort verfügbar) richtet sich an fortgeschrittene Entwickler, die die Entwicklung von Mikrodiensten mit Spring Boot, Docker und Kubernetes beherrschen möchten.
Nach Abschluss dieses Trainings können die Teilnehmer:
- Die Prinzipien der Mikrodienstarchitektur verstehen.
- Betriebsbereite Mikrodienste mit Spring Boot erstellen.
- Die entscheidende Rolle von Docker bei der Containerisierung von Mikrodiensten nachvollziehen.
- Kubernetes-Cluster konfigurieren, um Mikrodienste bereitzustellen und zu orchestrieren.
Quarkus für Entwickler
14 StundenDiese von Instruktoren geleitete Live-Schulung in Österreich (online oder vor Ort) richtet sich an Entwickler, die Quarkus nutzen möchten, um Anwendungen zu erstellen, zu testen und bereitzustellen – mit voller Java-Leistungsfähigkeit, jedoch bei geringerem Ressourcenverbrauch.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Die erforderliche Entwicklungsumgebung einzurichten, um mit der Anwendungsentwicklung in Quarkus zu beginnen.
- Anwendungen im Native-Modus mit GraalVM zu erstellen, zu kompilieren und auszuführen.
- Quarkus-Tools und Erweiterungen für die Erstellung nativer Anwendungen mit Maven zu nutzen.
- Anwendungen mit Docker zu containerisieren, auszuführen und bereitzustellen.
Quarkus für Java Native und Microservice-Entwicklung
40 StundenDiese dozentengestützte Live-Schulung in Österreich (online oder vor Ort) richtet sich an Entwickler und Architekten mit fortgeschrittenen bis mittleren Kenntnissen, die Java-Native-Anwendungen und Microservices mit Quarkus unter Optimierung des Speicherverbrauchs und der Startzeit entwickeln möchten.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Hochleistungs-, leichtgewichtige Java-Native-Anwendungen mit Quarkus zu entwickeln.
- RESTful-Services und Microservice-Architekturen zu erstellen und bereitzustellen.
- GraalVM für Native-Compilierung zu nutzen und die Startzeit sowie Speichereffizienz zu optimieren.
- Anwendungen für Kubernetes- und OpenShift-Umgebungen zu paketieren und zu containerisieren.
RabbitMQ mit Java und Spring
14 StundenDiese dozentengeleitete Live-Schulung in Österreich (online oder vor Ort) richtet sich an Softwarearchitekten und Webentwickler, die RabbitMQ als Messaging-Middleware nutzen und Anwendungen mit Java unter Verwendung von Spring programmieren möchten.
Nach Abschluss dieser Schulung sind die Teilnehmer in der Lage:
- Java und Spring mit RabbitMQ zur Anwendungsentwicklung einzusetzen.
- Asynchrone, nachrichtengetriebene Systeme mit RabbitMQ zu designen.
- Warteschlangen, Topics, Exchanges und Bindings in RabbitMQ zu erstellen und anzuwenden.
Spring Boot, React und Redux
14 StundenDiese instructor-led-Trainingsveranstaltung in Österreich (online oder vor Ort) richtet sich an Webentwickler, die funktionale Frontend- und Backend-Webanwendungen mit Spring Boot, React und Redux aufbauen möchten.
Am Ende dieser Schulung können die Teilnehmer Folgendes:
- Eine Frontend-Anwendung mit React und Redux erstellen.
- RESTful-APIs mit Spring Boot entwickeln.
- Webservices mit Spring Security und JWT-Web-Tokens absichern.
Spring 5
21 StundenDieser instruktionsgeleitete, live stattfindende Kurs in Österreich (online oder vor Ort) richtet sich an Java-Entwickler, die das Spring-5-Framework nutzen möchten, um unternehmenskritische Webanwendungen zu entwickeln und bereitzustellen.
Nach Abschluss dieses Kurses sind die Teilnehmer in der Lage:
- Spring 5 zu installieren und zu konfigurieren.
- Die neuesten Features von Spring 5 zu verstehen und umzusetzen.
- Datenbanken mit der Spring-Anwendung anzusprechen.
- Das neue reaktive Webframework WebFlow einzusetzen, um eine Anwendung reaktiv zu gestalten.
- Eine Spring-Anwendung in bestehende Java-EE-Anwendungen zu integrieren.
- Eine unternehmensgerechte Spring-Anwendung zu testen und bereitzustellen.
Spring-Grundlagen mit Spring Boot 3.5.5 und Java 21
14 StundenSpring ist ein umfassendes Java-Framework, das die Entwicklung von Unternehmensanwendungen vereinfacht, indem es leistungsstarke Dependency Injection, eine modulare Architektur und optimierte Konfigurationsoptionen bietet.
Diese vom Dozenten geleitete Live-Schulung (online oder vor Ort) richtet sich an Java-Entwickler auf Anfängerniveau, die moderne, produktionsreife Webanwendungen mit der neuesten Version des Spring Framework und Spring Boot 3.5.5 in Verbindung mit Java 21 entwickeln möchten.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Die Kernprinzipien von Spring einschließlich IoC, DI und AOP zu verstehen.
- Spring-Anwendungen über XML, Annotationen und JavaConfig zu konfigurieren.
- RESTful-Dienste mit Spring Boot und JPA zu entwickeln.
- CRUD-Operationen zu implementieren, Transaktionen zu handhaben und die Datenpersistenz zu verwalten.
- Fortgeschrittene Spring-Funktionen wie Profile, Exception Handling und DatenSerialisierung zu nutzen.
Kursformat
- Kurze theoretische Einführung gefolgt von umfangreichen praktischen Übungen.
- Praktische Umsetzung anhand praxisnaher Beispiele.
- Interaktive Diskussion und geführte Fehlersuche.
Möglichkeiten zur individuellen Anpassung des Kurses
- Wenn Sie eine maßgeschneiderte Schulung für diesen Kurs wünschen, kontaktieren Sie uns bitte zur Vereinbarung.
Spring WebFlux: Reaktive Programmierung für skalierbare Webanwendungen
35 StundenSpring WebFlux ist ein reaktives Programmiernodul innerhalb des Spring-Frameworks, das zum Aufbau nicht-blockierender, ereignisgesteuerter Webanwendungen konzipiert wurde.
Diese von einem Instructor geleitete Live-Schulung (online oder vor Ort) richtet sich an Java-Entwickler mit Grundlagen- bis mittlerem Wissenstand, die skalierbare und responsive Anwendungen mit Spring WebFlux erstellen möchten.
Am Ende dieser Schulung werden die Teilnehmer:
- Die Grundlagen der reaktiven Programmierung mit Project Reactor verstehen.
- Nicht-blockierende RESTful-APIs mit Spring WebFlux erstellen und testen.
- WebFlux in Datenbanken und externe Dienste integrieren.
- Reaktive Muster auf reale Anwendungsszenarien anwenden.
Format des Kurses
- Interaktiver Vortrag und Diskussion.
- Umfangreiche Übungen und Praxis.
- Praktische Implementierung in einer Live-Lab-Umgebung.
Möglichkeiten zur Kursanpassung
- Für den Wunsch nach einer maßgeschneiderten Schulung zu diesem Kurs kontaktieren Sie uns bitte zur Arrangeierung.
Spring WebFlux
14 StundenDiese live durchgeführte Schulung in Österreich (online oder vor Ort) richtet sich an Entwickler, die WebFlux zur Entwicklung und Bereitstellung reaktiver Anwendungen nutzen möchten.
Nach Abschluss dieser Schulung sind die Teilnehmer in der Lage:
- Spring 5 und das WebFlux-Framework zu installieren und zu konfigurieren.
- Reaktive Anwendungen und Dienste zu entwickeln.