Formations JAVA/JEE

Java/JEE, sécurité des applications

Objectifs de la formation

  • 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


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 œ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.

Please login to get access to the quiz
(Next Lesson) Développer avec les frameworks Java/Java EE
Back to Formations JAVA/JEE
Public

Développeurs et chefs de projets amenés à sécuriser des applications Java et JEE.

Pré-requis

Très bonnes connaissances du langage Java. Bonnes connaissances des concepts JEE. Expérience requise en programmation Java.

Sur le même thème