Aller au contenu principal
  • Cours pratique
  • FSE
  • Informatique
  • Oracle

Formation La sécurité des applications Java / Jakarta EE

Développement d'application Java Sécurisée

Demander un devis
Une formatrice accompagne deux participants penchés sur leurs notes, en salle de formation
Durée
3 jours
Niveau
Avancé
Modalités
Présentiel / Distanciel

Description de la formation Securite Java

Le langage Java contient intrinsèquement de nombreux mécanismes permettant l'élaboration de programmes sûrs. Ces mécanismes couvrent différentes facettes de la sécurité comme l'intégrité, la confidentialité, l'identification sûre ou la protection contre les malveillances.

Cette formation Sécurité des applications Java permet de passer en revue ces différents sujets et propose à chaque fois des ateliers pédagogiques permettant de comprendre en profondeur les mécanismes d'exécution de la JVM. Le dernier chapitre se concentre sur les spécificités des applications web Java EE en détaillant SSL, le modèle de sécurité des différents tiers ainsi que les spécificités des architectures SOA.

Atelier en salle : une participante présente des notes au tableau

Objectifs pédagogiques

A l'issue de cette formation Sécurité des applications Java vous aurez acquis les connaissances et compétences nécessaires pour  :

  • Connaitre les concepts liés à la sécurité
  • Savoir charger et vérifier des classes
  • Connaitre le cross-site scripting et la sécurité liée
  • Maitriser le gestionnaire de sécurité et permissions
  • Maitriser SSL et Java

Objectifs opérationnels

Savoir sécuriser des applications Java.

Programme

Contenu du cours

Fondamentaux de la sécurité informatique

Identification et méthodes d’authentification
Autorisations et permissions
Confidentialité, intégrité, disponibilité, non-répudiation
Cryptographie Hachage sécurisé, Chiffrement symétrique, asymétrique 
Certificats et autorités de certification (X.509, PKI modernes)
Pare-feu, DMZ, Zero Trust et WAF
Panorama des attaques courantes : XSS, injections, phishing, attaques par désérialisation

Sécurité dans la JVM

Chargement et vérification des classes
Rôle des compilateurs et des classloaders
Hiérarchie des classloaders et vérification du bytecode
Gestion mémoire et évolutions des garbage collectors modernes (G1GC, ZGC, Shenandoah)
Sécurissation des applications Java du SecurityManager au sandboxing via OS ou conteneur

Atelier

Modification d'un fichier .class et exécution avec l'option -noverify, Implémentation d'un classloader chargeant des classes cryptées.

Sécurité applicative

XSS : Stored, Reflected, DOM-based → protections modernes (CSP, SameSite cookies)
Phishing et variantes modernes (spear phishing, smishing)
CSRF et Clickjacking
Sécurité côté navigateur avec HTML5 et restrictions CORS

AtelierDétection d’une faille XSS et mise en place de contre-mesures (CSP, validation des entrées

Authentification et Autorisations

Présentation historique : JAAS (LoginContext, LoginModule, CallbackHandler)
Évolutions modernes : Spring Security, OAuth 2.0, OpenID Connect, JWT
Intégration avec Keycloak ou fournisseurs d’identité externes
Gestion des rôles et permissions

AtelierMise en œuvre d’une API REST sécurisée avec OAuth 2.0 / OpenID Connect via Keycloak

Cryptographie et signatures numériques

Empreintes de messages (SHA-256+)
Signatures numériques et certificats
Outils : keytool, jarsigner, gestion de keystores
Évolution vers les certificats Let’s Encrypt et protocoles ACME
Chiffrement symétrique et asymétrique (AES, RSA, ECC)
Déploiement sécurisé dans un environnement cloud ou conteneurisé

AtelierGénération et utilisation de certificats TLS avec Let’s Encrypt.

Sécurité des communications

TLS 
Utilisation de JSSE et JCE
Authentification par certificats X.509
Sécurisation des communications HTTP et WebSocket

AtelierMise en place de sockets TLS en Java, configuration avec Let’s Encrypt.

Sécurité des services web

Sécurisation avec TLS 1.3, OAuth 2.0, OpenID Connect, JWT
mTLS (mutual TLS) pour les échanges interservices
API gateways et rate limiting (Kong, Apigee, Spring Cloud Gateway)
Sécurité dans les microservices : MicroProfile JWT, propagation des identités

AtelierMise en pratique avec une implémentation de WS-Security (XWSS).

Gestion des secrets et sécurité cloud-native

Stockage et rotation sécurisés des secrets (Vault, Kubernetes Secrets)
Intégration avec Cloud KMS (AWS KMS, GCP KMS, Azure Key Vault)
Stratégies de Zero Trust et microsegmentation

AtelierGestion des secrets avec HashiCorp Vault et intégration dans une application Java.

Travaux pratiques

Les travaux pratiques utilisent l'IDE Eclipse.

Programme mis à jour le 29/08/2025

Formations liées