Description
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 oeuvre progressive, au sein d'applications autonomes, de serveurs d'applications JEE ainsi que de services Web SOAP et REST.
À qui s'adresse cette formation ?
Pour qui ?Développeurs et chefs de projets amenés à sécuriser des applications Java et JEE.
Prérequis
Les objectifs de la formation
Programme de la formation
- Présentation des concepts liés à la sécurité
- - 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 oeuvre 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 oeuvre 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.