Formation Développeur Java sécurisé (incluant OWASP)
Ce cours aborde les concepts et principes de codage sécurisé avec Java, selon la méthodologie de test du projet Open Web Application Security Project (OWASP). Le Open Web Application Security Project est une communauté en ligne qui crée des articles, méthodologies, documentation, outils et technologies disponibles gratuitement dans le domaine de la sécurité des applications web.
Plan du cours
- Comprendre les menaces web et les vecteurs d'attaque.
- Connaître les principes de conception sécurisée.
- Comprendre les attaques OWASP Top 10.
- Comprendre les problèmes liés à l'authentification et à l'autorisation.
- Savoir comment prévenir les attaques par script inter-sites (XSS).
- Savoir comment prévenir les attaques par falsification de requête inter-sites (CSRF).
- Comprendre le cycle de développement sécurisé.
- Savoir comment prévenir les attaques par injection.
- Comprendre les protections offertes par JDBC et JPA.
- Comprendre les méthodologies de test d'intrusion.
- Savoir sécuriser les applications Java.
Pré requis
- Expérience en Java.
- Expérience dans la création d'applications web.
Cours à partir de 4 + personnes. Pour un entraînement individuel ou en petit groupe, veuillez demander un devis.
Formation Développeur Java sécurisé (incluant OWASP) - Réservation
Formation Développeur Java sécurisé (incluant OWASP) - Demande de renseignements
Développeur Java sécurisé (incluant OWASP) - Demande d'informations consulting
Nos clients témoignent (3)
Le sujet est d'actualité et j'avais besoin de me mettre à jour
Damilano Marco - SIAP s.r.l.
Formation - Secure Developer Java (Inc OWASP)
Traduction automatique
C'était assez complet, l'information était claire et concise.
Sebastian-Daniel - BRD
Formation - Secure Developer Java (Inc OWASP)
Traduction automatique
Plusieurs exemples pour chaque module et une grande connaissance de la part du formateur.
Sebastian - BRD
Formation - Secure Developer Java (Inc OWASP)
Traduction automatique
Cours à venir
Cours Similaires
Sécurité du réseau et communications sécurisées
21 HeuresRéaliser une application réseau sécurisée peut s’avérer difficile, même pour les développeurs qui ont déjà eu recours à divers blocs de construction cryptographiques (comme le chiffrement et les signatures numériques). Afin que les participants comprennent le rôle et l’utilisation de ces primitives cryptographiques, nous commençons par poser les bases solides des exigences principales de la communication sécurisée – accusé de réception sécurisé, intégrité, confidentialité, identification distante et anonymat – tout en présentant les problèmes typiques qui peuvent compromettre ces exigences ainsi que les solutions concrètes qui y sont appliquées.
La cryptographie étant un aspect critique de la sécurité des réseaux, nous abordons les algorithmes cryptographiques les plus importants en cryptographie symétrique, en hachage, en cryptographie asymétrique et en accord de clés. Plutôt que de développer un fondement mathématique approfondi, ces éléments sont analysés du point de vue des développeurs, avec des exemples de cas d’usage typiques et des considérations pratiques liées à l’usage du chiffrement, telles que les infrastructures à clés publiques (PKI). Les protocoles de sécurité dans divers domaines de la communication sécurisée sont présentés, avec un examen approfondi des familles de protocoles les plus répandues, telles qu’IPSEC et SSL/TLS.
Les vulnérabilités cryptographiques courantes sont traitées, tant pour certains algorithmes cryptographiques que pour des protocoles cryptographiques spécifiques, notamment BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE et similaires, ainsi que pour l’attaque par chronométrage sur RSA. Pour chaque problème, les considérations pratiques et les conséquences potentielles sont décrites, sans entrer dans des détails mathématiques complexes.
Finalement, la technologie XML étant centrale pour l’échange de données entre applications réseau, nous décrivons les aspects liés à la sécurité du XML. Cela inclut l’usage du XML dans les services Web et les messages SOAP, ainsi que les mesures de protection telles que la signature XML et le chiffrement XML, et aborde également les faiblesses de ces mécanismes de protection et les problèmes de sécurité spécifiques au XML, comme les injections XML, les attaques par entité externe XML (XXE), les bombes XML et les injections XPath.
Les participants qui assisteront à ce cours sauront
- Comprendre les concepts de base de la sécurité, de la sécurité informatique et du codage sécurisé
- Comprendre les exigences de la communication sécurisée
- Se familiariser avec les attaques et défenses réseau aux différentes couches OSI
- Avoir une compréhension pratique de la cryptographie
- Comprendre les protocoles de sécurité essentiels
- Comprendre certaines attaques récentes contre les systèmes cryptographiques
- Obtenir des informations sur certaines vulnérabilités récentes apparentées
- Comprendre les concepts de sécurité des services Web
- Accéder à des ressources et à des lectures complémentaires sur les pratiques de codage sécurisé
Public cible
Développeurs, Professionnels
Programmation sécurisée en C/C++
21 HeuresÉcrire du code C et C++ sécurisé exige une défense rigoureuse contre les exploitations malveillantes, la corruption de la mémoire et les contournements de validation des entrées. Ce programme examine les vulnérabilités courantes, notamment les dépassements de tampon, les utilisations après libération, les dépassements entiers et les confusions de type. Les participants appliquent les directives de programmation sécurisée, des outils d'analyse statique et des techniques de programmation défensive pour éliminer les faiblesses, imposer la sanitisation des entrées et livrer des logiciels durcis, résilients face aux cyberattaques.
Sécurité Java avancée
21 HeuresMême les programmeurs Java expérimentés ne maîtrisent pas nécessairement tous les services de sécurité proposés par Java, et ne sont pas non plus conscients des différentes vulnérabilités pertinentes pour les applications web écrites en Java.
Le cours – outre l’introduction des composants de sécurité de l’Édition Standard de Java – aborde les questions de sécurité de l’Édition Entreprise de Java (JEE) et des services web. La discussion des services spécifiques est précédée par les fondements de la cryptographie et de la communication sécurisée. Divers exercices traitent des techniques de sécurité déclaratives et programmables dans JEE, tandis que la sécurité au niveau du transport et de bout en bout des services web est discutée. L’utilisation de tous ces composants est présentée à travers plusieurs exercices pratiques, où les participants peuvent essayer par eux-mêmes les API et outils discutés.
Le cours examine également et explique les défauts de programmation les plus fréquents et graves du langage et de la plateforme Java, ainsi que les vulnérabilités liées au web. Outre les bogues typiques commis par les programmeurs Java, les vulnérabilités de sécurité introduites couvrent à la fois les problèmes spécifiques au langage et les problèmes découlant de l’environnement d’exécution. Toutes les vulnérabilités et les attaques pertinentes sont démontrées à travers des exercices faciles à comprendre, suivis des directives de codage recommandées et des techniques d’atténuation possibles.
Les participants suivant ce cours
- Comprendront les concepts de base de la sécurité, de la sécurité informatique et du codage sécurisé
- Apprendront les vulnérabilités web au-delà des OWASP Top Ten et sauront comment les éviter
- Comprendront les concepts de sécurité des services web
- Apprendront à utiliser diverses fonctionnalités de sécurité de l’environnement de développement Java
- Auront une compréhension pratique de la cryptographie
- Comprendront les solutions de sécurité de Java EE
- Apprendront les erreurs de codage typiques et comment les éviter
- Obtiendront des informations sur certaines vulnérabilités récentes du framework Java
- Obtiendront des connaissances pratiques sur l’utilisation des outils de test de sécurité
- Obtiendront des ressources et des lectures supplémentaires sur les pratiques de codage sécurisé
Audience
Développeurs
Programmation Groovy
21 HeuresApache Groovy est un langage de programmation dynamique JVM (Machine Virtuelle Java). Parmi ses fonctionnalités, on retrouve la capacité de script, la création de langages spécifiques à un domaine (DSL), la métaprogrammation à l'exécution et à la compilation, ainsi que la programmation fonctionnelle. Groovy est souvent utilisé en complément de Java.
Dans le cadre de cette formation pratique encadrée par un formateur, les participants apprendront à programmer en Groovy tout en créant pas à pas une application exemple.
Audience cible
- Développeurs
Format du cours
- Cours théorique, discussions, exercices et exercices pratiques intensifs
Programmation Groovy pour les débutants
14 HeuresCette formation en direct, animée par un instructeur, est dispensée en Canada (en ligne ou sur site) et s’adresse aux développeurs débutants souhaitant apprendre les fondamentaux de la programmation Groovy.
À l’issue de cette formation, les participants seront capables de :
- Comprendre les concepts de base de la programmation.
- Rédiger des scripts Groovy simples et exploiter les fonctionnalités principales de Groovy.
- Comprendre et appliquer les principes fondamentaux de la programmation orientée objet avec Groovy.
- Maîtriser les techniques de base de gestion des erreurs pour traiter les erreurs courantes et les exceptions dans Groovy.
Microservices Java
21 HeuresCette formation animée par un instructeur en Canada (en ligne ou en présentiel) s'adresse aux développeurs Java de niveau intermédiaire qui souhaitent concevoir, développer, déployer et maintenir des applications basées sur des microservices à l'aide de frameworks Java tels que Spring Boot et Spring Cloud.
À l'issue de cette formation, les participants seront capables de :
- Comprendre les principes et les avantages de l'architecture en microservices.
- Construire et déployer des microservices en utilisant Java et Spring Boot.
- Mettre en œuvre la découverte de services, la gestion de la configuration et les passerelles API.
- Sécuriser, surveiller et mettre à l'échelle efficacement les microservices.
- Déployer des microservices à l'aide de Docker et de Kubernetes.
Création de microservices avec Spring Boot, Docker et Kubernetes
21 HeuresCette formation en présentiel à Canada (disponible en ligne ou sur site) est adaptée aux développeurs de niveau intermédiaire à avancé qui souhaitent maîtriser le développement de microservices à l'aide de Spring Boot, Docker et Kubernetes.
À l'issue de cette formation, les participants seront en mesure de :
- Comprendre les principes de l'architecture des microservices.
- Créer des microservices prêts pour la production à l'aide de Spring Boot.
- Saisir le rôle essentiel de Docker dans la conteneurisation des microservices.
- Configurer des clusters Kubernetes pour déployer et orchestrer les microservices.
Quarkus pour les développeurs
14 HeuresCette formation en direct, encadrée par un formateur, est dispensée en <lieu> (en ligne ou sur site) et s'adresse aux développeurs souhaitant utiliser Quarkus pour créer, tester et déployer des applications, pleinement alimentées par Java, mais avec une utilisation réduite des ressources.
À l'issue de cette formation, les participants seront en mesure de :
- Configurer l'environnement de développement nécessaire pour commencer à créer des applications avec Quarkus.
- Construire, compiler et exécuter des applications en mode natif à l'aide de GraalVM.
- Utiliser les outils et extensions Quarkus pour construire des applications natives à l'aide de Maven.
- Conteneuriser, exécuter et déployer des applications avec Docker.
Quarkus pour le développement d'applications natives Java et de microservices
40 HeuresCette formation en direct, animée par un formateur en Canada (en ligne ou sur site), s'adresse aux développeurs et architectes de niveau intermédiaire à avancé souhaitant développer des applications natives Java et des microservices avec Quarkus, en optimisant l'utilisation de la mémoire et le temps de démarrage.
À l'issue de cette formation, les participants seront capables de :
- Développer des applications natives Java performantes et légères avec Quarkus.
- Construire et déployer des services RESTful et des architectures de microservices.
- Utiliser GraalVM pour la compilation native et optimiser l'efficacité du démarrage et de la mémoire.
- Emballer et conteneuriser des applications pour les environnements Kubernetes et OpenShift.
RabbitMQ avec Java et Spring
14 HeuresCette formation en direct dirigée par un instructeur à Canada (en ligne ou sur site) s'adresse aux architectes logiciels et aux développeurs web qui souhaitent utiliser RabbitMQ comme middleware de messagerie et programmer en Java avec Spring pour construire des applications.
À la fin de cette formation, les participants seront capables de :
- Utiliser Java et Spring avec RabbitMQ pour construire des applications.
- Concevoir des systèmes asynchrones pilotés par des messages en utilisant RabbitMQ.
- Créer et appliquer des files d'attente, des sujets, des échanges et des liaisons dans RabbitMQ
Spring Boot, React et Redux
14 HeuresCette formation en présentiel ou en ligne, encadrée par un formateur, est destinée aux développeurs web qui souhaitent créer des applications web frontend et backend fonctionnelles avec Spring Boot, React et Redux.
À la fin de cette formation, les participants seront en mesure de :
- Développer une application frontend avec React et Redux.
- Créer des API RESTful avec Spring Boot.
- Sécuriser les services web avec Spring Security et les jetons web JWT.
Printemps 5
21 HeuresCette formation en présentiel ou à distance, dirigée par un formateur expert, à Canada s'adresse aux développeurs Java qui souhaitent utiliser le framework Spring 5 pour concevoir et déployer des applications web d'entreprise.
À l'issue de cette formation, les participants seront capables de :
- Installer et configurer Spring 5.
- Comprendre et implémenter les dernières fonctionnalités de Spring 5.
- Accéder aux bases de données avec une application Spring.
- Utiliser le nouveau framework web réactif, WebFlow, pour rendre une application réactive.
- Intégrer une application Spring avec des applications Java EE héritées.
- Tester et déployer une application Spring de qualité entreprise.
Les fondamentaux de Spring avec Spring Boot 3.5.5 et Java 21
14 HeuresSpring est un framework Java complet qui simplifie le développement d'applications d'entreprise en offrant une injection de dépendances puissante, une architecture modulaire et des options de configuration simplifiées.
Cette formation en direct, animée par un formateur (en ligne ou en présentiel), s'adresse aux développeurs Java de niveau débutant souhaitant concevoir des applications web modernes, prêtes pour la production, en utilisant les dernières versions du Spring Framework et de Spring Boot 3.5.5 avec Java 21.
À l'issue de cette formation, les participants seront capables de :
- Comprendre les principes fondamentaux de Spring, notamment l'IoC (Inversion de Contrôle), l'injection de dépendances (DI) et la POA (Programmation orientée aspect).
- Configurer des applications Spring à l'aide de XML, d'annotations et de JavaConfig.
- Développer des services RESTful avec Spring Boot et JPA.
- Implémenter des opérations CRUD, gérer les transactions et assurer la persistance des données.
- Utiliser des fonctionnalités avancées de Spring, telles que les profils, la gestion des exceptions et la sérialisation des données.
Format du cours
- Brève introduction théorique suivie d'exercices pratiques approfondis.
- Mise en œuvre concrète à partir d'exemples concrets.
- Débat interactif et dépannage guidé.
Options de personnalisation du cours
- Pour demander une formation personnalisée pour ce cours, veuillez nous contacter afin d'en convenir.
Spring WebFlux : Programmation réactive pour des applications Web évolutives
35 HeuresSpring WebFlux est un module de programmation réactive au sein du Framework Spring, conçu pour construire des applications Web non bloquantes et pilotées par des événements.
Cette formation dirigée par un instructeur (en ligne ou sur site) s'adresse aux développeurs Java débutants ou intermédiaires qui souhaitent créer des applications évolutives et réactives à l'aide de Spring WebFlux.
À l'issue de cette formation, les participants seront en mesure de :
- Comprendre les fondements de la programmation réactive avec Project Reactor.
- Construire et tester des API REST non bloquantes avec Spring WebFlux.
- Intégrer WebFlux avec des bases de données et des services externes.
- Appliquer des modèles réactifs à des scénarios d'applications réels.
Format du cours
- Conférence interactive et discussions.
- Nombreux exercices et mises en pratique.
- Implémentation pratique dans un environnement de laboratoire en direct.
Options de personnalisation du cours
- Pour demander une formation personnalisée pour ce cours, veuillez nous contacter afin de convenir des détails.
Spring Webflux
14 HeuresCette formation en direct, animée par un formateur, à Canada (en ligne ou en présentiel), s'adresse aux développeurs qui souhaitent utiliser WebFlux pour développer et déployer des applications réactives.
À l'issue de cette formation, les participants seront capables de :
- Installer et configurer Spring 5 et le framework WebFlux.
- Développer des applications et des services réactifs.