Formation Java/JEE, sécurité des applications
La formation Java/JEE sécurité des applications permet d'appréhender les mécanismes de gestion de la sécurité de Java grâce à une maîtrise des outils de sécurité proposés par Java.
Le participant saura 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 ses applications, et sécuriser ses services Web avec les API WS-Security et oAuth.
Cette formation est essentielle pour protéger au mieux ses projets de programmation.
À l’issue de la formation, le participant sera en mesure de :
- 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
Evaluation de la formation et de votre progression vers vos objectifs
Avant le début de la formation, un questionnaire vous permettra d’exprimer vos objectifs personnels et d’évaluer votre degré de maîtrise des principales thématiques abordées dans la formation.
Pendant la formation, le formateur observera vos pratiques afin de pouvoir vous donner des conseils personnalisés quant aux points forts sur lesquels vous pourrez vous appuyer et aux points de vigilance sur lesquels il doit axer ses efforts.
À la fin de la formation, vous aurez à remplir un questionnaire (QCM et/ou des ateliers et des exercices pratiques) pour évaluer vos nouvelles compétences et votre progression vers vos objectifs. Un questionnaire supplémentaire vous permettra d'indiquer votre niveau de satisfaction à l'égard de la formation.
Un questionnaire d’auto-évaluation à froid vous sera proposé 6 à 9 mois après la fin de formation. Celui-ci vous permettra de prendre du recul sur
les bénéfices acquis, les efforts restant à déployer et votre degré de satisfaction vis à vis de la formation.
Cette formation s'adresse aux développeurs et chefs de projets amenés à sécuriser des applications Java et JEE.
3 JOURS
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 œ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 et moyens
Cette formation repose sur une combinaison de constructions participatives, de mises en perspectives par des apports théoriques et méthodologiques, et de mises en situation (simulation et jeux de rôle) permettant de mettre en évidence les difficultés et de découvrir progressivement les méthodes et techniques appropriées.
Très bonnes connaissances du langage Java. Bonnes connaissances des concepts JEE. Expérience requise en programmation Java.
- Rugosité
- Consciencieux