Java EE, sécurité des applications
Présentation de la formation
Cette formation vous permettra d’appréhender les mécanismes de gestion de la sécurité proposés par Java, grâce à l’étude théorique des concepts et à leur mise en œuvre progressive, au sein d’applications autonomes, de serveurs d’applications JEE ainsi que de services Web SOAP et REST.
Programme de la formation
Objectifs pédagogiques
- Mettre en œuvre la sécurité au niveau de la machine virtuelle Java
- Exploiter des API spécifiques telles que JAAS, JSSE et JCE pour sécuriser vos applications.
- Sécuriser vos services Web avec les API WS-Security et oAuth
Pré-requis
- Très bonnes connaissances du langage Java. Bonnes connaissances des concepts JEE. Expérience requise en programmation Java.
Contenu de la formation
- Identification et méthodes d’authentification.
- Autorisations et permissions.
- Confidentialité, non-répudiation, cryptage, clés publiques/privées, autorités de certification.
- Pare-feu et DMZ, rupture de protocole.
- Les types d’attaques.
Sécurité de la machine virtuelle Java
- Chargement des classes. Concept de “bac à sable”.
- SecurityManager, AccessController et définition des permissions (fichiers .policy).
- Créer ses permissions avec Java Security Permission.
- Mécanismes de protection de l’intégrité du bytecode, la décompilation et l’obfuscation du code.
- Spécificités des Applets en matière de sécurité.
Travaux pratiques
Définition de.policy spécifiques.
Java Authentication and Authorization Service
- Architecture de JAAS.
- Authentification via le PAM, notion de Subject et de Principal.
- Gestion des permissions, les fichiers .policy.
- Utiliser JAAS avec Unix ou Windows, JNDI, Kerberos et Keystore. Le support du SSO.
Travaux pratiques
Configurer la politique de contrôle d’accès, mise en œuvre de l’authentification.
SSL avec Java
- Fonctions de Java Secure Socket Extension (JSSE).
- Authentification via certificats X.509. TLS et SSL.
- Encryption à base de clés publiques, Java Cryptography Extension (JCE).
- Utilisation de SSL avec HTTP.
Travaux pratiques
Configurer SSL et mise en œuvre de sockets SSL. Utiliser des outils du JDK (Keystore).
La sécurité d’une application JEE
- Authentification au niveau des conteneurs Web et EJB.
- Rôles applicatifs, permissions et descripteurs de déploiement XML.
- Contrôles dynamiques via les API Servlets et EJB.
- La sécurité dans les API : JDBC, JNDI, JTA, JMS, JCA.
Travaux pratiques
Sécurité d’une application déployée dans Tomcat.
La sécurité des services Web SOAP
- Sécurité au niveau HTTP.
- Sécurité au niveau SOAP & WSDL avec WS-Security (WSS4J, XWSS…) & WS-Policy.
- Les handlers SOAP WS-Security exploitant JAAS.
Travaux pratiques
Mise en pratique avec une implémentation de WS-Security (XWSS).
La sécurité des services Web REST
- Utilisation de SSL avec JAX-RS.
- Les apports de oAuth (authentification sur Internet).
- oAuth 1.0 et 2.0.
Travaux pratiques
Mise en pratique avec une implémentation Apache CXF de JAX-RS.
Méthodes & moyens
Explications théoriques suivies de pratiques guidées puis mises en autonomie
- 1 vidéoprojecteur par salle
- 1 ordinateur par stagiaire
Profil du formateur
Devis
Infos Pratiques
Contactez Nous
Formations Planifiées Prochainement
Comments are closed.