Formation La sécurité des applications Java / JavaEE


  • DÉVELOPPEMENT D'APPLICATION JAVA SÉCURISÉE
REFERENCE
 
 
JSJA
DUREE
 
 
3 jours
TARIFS
 
 
1690 € HT
Niveau : Expert
Cours à distance: Possible
Eligible CPF: oui
OBJECTIFS :
 

Le langage Java contient intrinsèquement de nombreux mécanismes permettant l'élaboration de programmes sûrs. Ces mécanismes couvrent différentes facettes de la sécurité comme l'intégrité, la confidentialité, l'identification sûre ou la protection contre les malveillances.

Cette formation sur la sécurité des applications Java permet de passer en revue ces différents sujets et propose à chaque fois des ateliers pédagogiques permettant de comprendre en profondeur les mécanismes d'exécution de la JVM. Le dernier chapitre se concentre sur les spécificités des applications web Java EE en détaillant SSL, le modèle de sécurité des différents tiers ainsi que les spécificités des architectures SOA.

PRÉ-REQUIS :
 

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

PUBLIC :
 

Cette formation Sécurité Java s'adresse à des Développeurs ou Chefs de projet.

PROGRAMME :
 

Introduction aux 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.
Le modèle de sécurité de la JVM

Chargement et vérification des classes

Un des premiers mécanismes implémentés par la JVM est de s'assurer que le code chargé en mémoire ne peut contourner les mécanismes de protection du langage.
Rôle du compilateur Java
Rôle des classloader
Les différentes zones mémoires de la JVM et leur gestion par le garbage collector
Hiérarchie des différents classloader
Vérification du byte-code
Chargement dynamique ce classe
Implémenter un class loader
AtelierModification d'un fichier .class et exécution avec l'option -noverify, Implémentation d'un classloader chargeant des classes cryptées.

Cross-site scripting et sécurité

Le principe du XSS (injection de contenu)
Liens avec les programmes Java
Déclinaisons (Stored XSS, Reflected XSS, DOM-based XSS)
Nouvelles "possibilités" avec le HTML 5

AtelierExemples d'hameçonngae et de récupération de cookies.

Gestionnaire de sécurité et permissions

Les permissions et le gestionnaire de sécurité permettent de contrôler finement les autorisations d'un programme et ses interactions avec son environnement.
Opérations contrôlables
Activation du gestionnaire de sécurité
Domaine de protection, provenance du code et permissions
Parcours de l'API
Fichier .policy
Les classes Permission
Implémentation d'une classe Permission
AtelierMise au point d'un fichier .policy, implémentation d'une classe Permission.

JAAS, Authentification et Autorisations

JAAS offre les services d'authentification et d'autorisations des utilisateurs ou systèmes externes interagissant avec l'application tout en restant du indépendant de la technologie d'authentification.
Présentation de JAAS
LoginContext / LoginModule, Configuration et empilement des login modules
LoginModule communément disponibles
Implémentation d'un login module spécifique, les CallbackHandler
Autorisations, Objet Subject et Principals, Configuration des permissions
AtelierImplémentation d'un LoginModule, Configuration des autorisations à partir de rôles utilisateurs.

Signatures numériques et chiffrement

Les techniques de cryptographie permettent de garantir la provenance d'un code et sa non altération.
Empreinte de messsage, SHA1 et MD5
Signature numérique, clé publiques et clés privées
L'outil keytool et les keystore
L'outil jarsigner
Les autorités de certification
Déploiement de code signé dans un intranet ou sur internet
Permissions basées sur des keystore
Chiffrement de données, les algorithmes AES et RSA
AtelierVérification d'une empreinte, Déploiement d'un applet dans un intranet, Chiffrement symétrique et asymétrique.

SSL et Java

Fonctions de Java Secure Socket Extension (JSSE). Comparaison avec Java GSS-API
Authentification via certificats X.509. TLS et SSL.
Encryption à base de clés publiques, Java Cryptography Extension (JCE).
Utilisation de SSL avec HTTP.
Atelier - 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/JPA, JNDI, JTA, JMS, JCA.
AtelierSé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.
AtelierMise 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.
AtelierMise en pratique avec une implémentation Apache CXF de JAX-RS.

TRAVAUX PRATIQUES :
 

Les travaux pratiques utilisent l'IDE Eclipse.

Les avis figurant ci-dessous sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions. Avis des participants à la formation La sécurité des applications Java / JavaEE : Note moyenne : 4/5
4/5
Avis certifié A suivi un cours chez PLB
BSH
S'INSCRIRE À CETTE
FORMATION SÉCURITÉ JAVA
Cliquez sur une date pour vous inscrire
Information pratiques sur
LA FORMATION
Lieu de la formation Paris - LA DEFENSE
Nous contacter 01 43 34 90 94
CETTE FORMATION SUR-MESURE Ce cours est réalisable en intra-entreprise, dans vos locaux ou nos salles de cours CONTACTER NOTRE SERVICE INTRA
D'autres formations
SUR LE MÊME THÈME

4 j

 

Sécurité

PHP Sécurité
De par sa nature même, le service dynamique de pages web ouvre de nombreuses portes sur le monde extérieur. Pour le développeur, il est primordial de prendre conscience des...

1 j

 
La sécurité informatique est devenue un enjeu technique et économique primordial. Cette formation Secure Coding C C++ a pour objectif de sensibiliser les développeurs...

3 j

 
Le Framework .NET intègre des fonctionnalités de sécurité très évoluées, qui s'appliquent aussi bien aux applications distribuées,...

3 j

 
« Une chaîne est aussi solide que son maillon le plus faible ! ». Ce vieil adage est particulièrement vrai en informatique où la plupart des responsables sécurité l’intègre au niveau de leur...
Plus de formations sur le même thème

Des questions ?

ON VOUS RAPPELLE

 

Votre formation Java prise en charge à 100% ! *

Depuis le mois de mars  2011, le Fafiec a sélectionné PLB Consultant pour vous proposer les meilleures formations autour du développement objet avec Java.

Sessions inter-entreprise sur  Paris, Lyon et Lille. 

Sessions intra-entreprise sur  toute la France.

*100% des coûts pédagogiques, offre valable dans la limite des fonds mutualisés dédiés aux actions collectives, en application des critères de prise en charge en vigueur (voir conditions détaillées sur le site du FAFIEC)

 

0

Formations
Informatique
et Management
en ligne à ce jour

+ 0

Stagiaires dans nos
salles de cours sur
l'année

0%

De participants
satisfaits ou très
satisfaits de nos
formations

0

Formateurs experts
validés PLB