Java

Composants Java avancés

Sécurité des applications Java / JEE

Avis d'expert

Les moyens de sécurisation d'une application Java vont du contrôle du bytecode par la machine virtuelle jusqu'à la mise en œuvre de procédés d'authentification pour les applications JEE. Ce stage permet d'analyser les risques selon l'architecture applicative retenue, et de savoir choisir et mettre en œuvre les solutions adaptées : sécurisation de la JVM, chiffrement, certificats, sécurité JEE avec JAAS.

Objectifs pédagogiques

  • Connaître les risques potentiels dans l'utilisation de Java, et les parades à mettre en Å“uvre
  • Identifier les moyens de sécurisation disponibles et en particulier les PKI
  • Savoir sécuriser une application Java/JEE de manière efficace

Public

Tout développeur souhaitant maîtriser la sécurité des applications Java / JEE.

Pré-requis

Il est demandé aux participants de connaître les notions de base du langage Java.

Méthode pédagogique

Les travaux pratiques accompagnant ce cours sont très nombreux et la gamme d'exercices corrigés proposés permettra à chacun de progresser à son rythme en fonction de ses connaissances préliminaires.

Programme pédagogique détaillé par journée

Jour 1
Jour 2
Jour 3


Besoins
Les risques.
Politique de sécurité.
Evaluation des risques en fonction des différents modes d'utilisation de Java (applets, applications, servlets).

Sécurisation de la JVM
Limites naturelles imposées par Java : gestion de la mémoire.
Contrôle du bytecode par la machine virtuelle.
Mise en œuvre du SecurityClassLoader.

Protection de l'exécution
Exécution protégée : SecurityManager, ClassLoader.
Surcharge des méthodes d'accès : lecture, écriture, exécution, ouverture de socket, autorisation de connexions...
Travaux pratiques : protection des accès sur le disque local d'une application.

Chiffrement
Les mécanismes de signature.
Création de clés publiques et privées.
Les clés RSA, DSA.
Signature d'un document.
Les algorithmes SHA1withDSA, MD5withRSA.
Les MessageDigest.
Les algorithmes MD2, MD5, SHA-1, SHA-512.
Travaux pratiques : vérification de l'authenticité d'un document.

Certificats
Cycle de vie d'un certificat. La fabrique de certificats Java.
Les certificats de modification X509.

Contrôle
Rappel sur les ACL.
Le paquetage java.security.acl.
Ajout d'entrée, vérification d'accès.

Obfuscation
Principe.
Techniques d'obfuscation.
Solutions commerciales.

JAAS
Présentation.
Fonctionnement et mise en œuvre.

Sécurité JEE
Exemples avec WebSphere et JBoss.
Le service de sécurité.
Sécurité Web et EJB.
Autorisations EJB 3.
Accès applicatifs et lien avec un annuaire LDAP.
Mise en œuvre des certificats avec JEE.