Accueil > Développement informatique et DevOps > Sécurité des applications Web Java EE
Formation #DEV141

Formation Sécurité des applications Web Java EE

Durée : 5 jours

Code : DEV141


Prochaines dates programmées :

Du 15 au 19 Avril 2024

Du 05 au 09 Août 2024

Du 09 au 13 Déc. 2024

Fin d'Inscription :
Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.
Si vous avez un besoin URGENT et que vous souhaitez une date de formation plus proche que les sessions programmées (minimum 15 à 20 jours ouvrés à date de votre demande)

Objectifs

  • Acquérir les techniques et bonnes pratiques pour assurer la sécurité des applications développées
Programme
1/ Concepts liés à la sécurité
  • Principes d’identification et d’authentification
  • Gestion des autorisations et permissions
  • Problématiques de confidentialité et de non-répudiation
  • Techniques de chiffrement symétrique et asymétrique
  • Attribution de clés publiques et de clés privées, autorités de confiance
  • Protection par pare-feu et zone démilitarisée (DMZ)
  • Les types d'attaques
2/ Sécurisation de la JVM
  • Les limites naturelles imposées par Java
  • Chargement des classes. Concept de "bac à sable"
  • SecurityManager, AccessController
  • Définir les permissions (fichiers .policy)
  • Création de ses permissions avec Java Security Permission
  • Contrôle du bytecode par la machine virtuelle
  • Spécificités des Applets en matière de sécurité
  • Gestion mémoire
3/ JAAS, Authentification et Autorisations
  • Principe de JAAS (Java Authentication and Authorization Service)
  • Authentification via le PAM
  • Notion de Sujet et de Principal
  • Architecture évolutive avec les notions de Contexte et de Module
  • Modules JAAS classiques : base de données, LDAP, NTLM, Kerberos,...
  • Mise en oeuvre du single sign on
4/ Authentification et autorisations programmatiques
  • Prises de sécurité en architecture MVC
  • Principe des filtres et application à la sécurité
  • Framework Spring Security
  • Techniques propriétaires : exemple des valves de Tomcat
5/ Protection de l’exécution
  • Exécution protégée
  • Security Manager, ClassLoader
  • Surcharge des méthodes d'accès
  • Lecture, écriture, exécution, ouverture de socket
6/ SSL avec Java
  • Fonctionnalités de Java SSE (Secure Socket Extension)
  • Certificats X.509
  • Protocoles TLS et SSL
  • Utilisation de SSL avec HTTP
7/ Encryption
  • 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
8/ Sécurisation des services Web
  • Problématique de sécurité dans l’échange de données applicatives
  • Application des techniques de sécurité Web aux services Web
  • Signatures digitales XML, cryptage XML des informations
  • Authentification personnalisée : utilisation des en-têtes SOAP
  • Extension de sécurité SOAP (Digital Credentials & Digital Signature Extensions)
  • Web Services Security Specifications (WS-Security)
9/ Certificats
  • Cycle de vie d'un certificat
  • La fabrique de certificats Java
  • Les certificats de modification X509
10/ Contrôle
  • Rappel sur les ACL
  • Le paquetage java.security.acl
  • Ajout d'entrée, vérification d'accès
11/ Obfuscation
  • Principe
  • Techniques d'obfuscation
  • Solutions commerciales
Approche Pédagogique

Approche Pédagogique

  • Pédagogie très opérationnelle fondée sur l'alternance entre théorie et pratique
  • Cas pratiques
  • Remise d’outils
  • Echanges d’expériences
Public Cible

Personnes Visées

  • Développeurs
  • Analystes programmeurs
  • Chefs de projets
Dates

Dates

  • Du 15 au 19 Avril 2024
  • Du 05 au 09 Août 2024
  • Du 09 au 13 Déc. 2024
  • Fin d'Inscription :
    Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.