Formations JAVA/JEE

Java/JEE, sécurité des applications

Objectifs de la formation

  • Principes fondamentaux de la sécurité des applications Java
  • Gestion de l'authentification
  • Contrôle d'accès et autorisations
  • Utilisation de SSL/TLS
  • Sécurisation des données
  • Infrastructures sécurisées modernes
  • Les différents types d'attaques


Programme de la formation

Principes fondamentaux de la sécurité des applications Java

- Introduction à la JVM

- Utilisation de versions récentes de Java (Java 17+).

- Bytecode & obfuscation.

- Gestion des dépendances avec Maven + détection des vulnérabilités dans les librairies.

- Mise en place d'un système de logging sécurisé (ex: SLF4J, Logback ou Log4J)

Gestion de l'authentification

- Les diverses méthodes d'authentification (mot de passes, biométrique, Clé numérique

etc ...)

- Utilisation du standard OAuth 2.0 pour une gestion moderne des accès.

- JWT (JSON Web Tokens) pour la gestion des sessions sécurisées.

- L'authentification multi-facteurs (MFA).

- Intégration d’un fournisseur d’identité

TP : Mise en place d'un processus d'identification par Mot de passe, d'une clé d'API et d'un

token JWT avec Keycloak

Contrôle d'accès et autorisations

- Principe du moindre privilège dans les applications.

- Utilisation de RBAC (Role-Based Access Control).

- Implémentation de contrôles d'accès dans les applications. (Spring Security)

TP : Mise en place d'une section sécurisée basée sur le principe du moindre privilège avec

Spring Security.

Utilisation de SSL/TLS

- Utilisation de SSL/TLS pour sécuriser les communications.

- Configuration sécurisée des connexions bases de données (Utilisation de SSL/TLS pour la

connexion à MySQL/PostgreSQL).

- Génération d'un certificat auto signé avec java keystore.

TP : Génération d'un certificat auto signé avec keystore & Hebergement d'une app avec SSL

Sécurisation des données

- SQL Injection : comment les éviter (utilisation des Prepared Statements, ORMs comme

Hibernate).

- Chiffrement des données sensibles dans la base de données.

- Gestion des accès à la base de données (séparation des rôles et privilèges).

- Gestion sécurisée des mots de passe (stockage avec des algorithmes comme md5, sha256

ou bcrypt).

TP: Création d'une BDD stockant des mots de passes chiffrés et connexion utilisateur &

utilisation de requêtes préparées.

Infrastructures sécurisées modernes

- Les différents certificats HTTPS

- Principe de Zero-trust models

- Sécurité Java au sein des conteneurs

- Les SIEMS

- Le Protocole CORS

- Les architectures sécurisées par design

Les différents types d'attaques

- Validation des entrées utilisateur (Never Trust User Input).

- Sécurisation des API RESTful avec des headers comme Authorization et X-XSS-Protection.

- Injections SQL

- XSS & Sanitisation des entrées utilisateurs

- CSRF (Cross-Site Request Forgery) : mise en place de tokens anti-CSRF.

TP: Sanitization des données utilisateurs avec OWASP.

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