Le 2ème jour est dédié à la mise en pratique des concepts vus pendant le jour précédent.
Un cahier des charges d'une application prévue pour exploiter l'ensemble des éléments traités par la formation sera proposé aux apprenants.
Le formateur les accompagnera durant l'ensemble des travaux.
### Introduction aux frameworks javascript pour le développement web
####Jour 1: Frontend
- Angular 2 (3 heures)
- Présentation générale et historique
- Structuration d'un projet et générateurs
- Concepts principaux
- Travaux pratiques
- React/Redux (3 heures)
- Présentation générale et historique
- Concepts généraux de React
- L'architecture "Flux" et Redux
- Travaux pratiques
#### Jour 2: Backend
- ExpressJS (3 heures)
- Présentation générale et historique
- Routage
- Intégration de moteurs de templates
- Gestion des formulaires
- Travaux pratiques
- Sails (3 heures)
- Présentation générale et historique
- Structuration d'un projet et générateurs
- Concepts principaux
- Travaux pratiques
### Formation framework web (plan généraliste)
### Jour 1: Concepts principaux et prise en main
- Présentation du framework et historique
- Structure d'un projet et générateurs
- Gestion du routage applicatif
- Modèle de données
- "Templating" et modèle de données
### Jour 2: Fonctionnalités avancées et communauté
- Création et gestion des "composants" et mutualisation
- Tests unitaires et fonctionnels
- Gestion de l'authentification
- Gestion de l'autorisation
- Mise en production
### Jour 3: Mise en application
Le 3ème jour est dédié à la mise en pratique des concepts vus pendant les deux jours précédents.
Un cahier des charges d'une application prévue pour exploiter l'ensemble des éléments traités par la formation sera proposé aux apprenants. Le formateur les accompagnera durant l'ensemble des travaux.
La réalisation nécessitera l'implémentation de fonctionnalités récurrentes dans le domaine applicatif web, notamment:
- Routage applicatif
- Authentification
- Gestion des autorisations
- Opérations CRUD sur des entités métier
- Téléversement de fichiers
- Communication AJAX/Websockets
### Sécurité des applications web
#### Jour 1: Sécurité de l'applicatif
- Présentation du collectif OWASP (15 minutes)
- Le "top 10" des failles des applicatifs Web (4 heures)
- Injections
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Authentification faillible et mauvaise gestion de la session
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Cross Site Scripting (XSS)
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Mauvaise contrôle des accès
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Problèmes de configuration
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Fuite d'informations sensibles
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Cross Site Request Forgery (CSRF)
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Mauvaise politique de maintenance des composants techniques
- Contexte et scénarios d'exploitation
- Techniques de mitigation
- Supervision applicative (2 heures 30)
- Installation et configuration de Prometheus
- Métrologie de l'applicatif et des processus métiers
- Création d'alertes
#### Jour 2: Sécurité de l'infrastructure
- Configuration des serveurs HTTP - Apache2 et Nginx (3 heures)
- Prévention de la fuite d'informations
- Configuration des connexion SSL/TLS
- Supervision et détection d'intrusion (3 heures)
- Supervision du systèmes avec Monit
- Installation
- Configuration et usage
- Détection et prévention des intrusions
- Apache2 - mod_security
- fail2ban - NIDS simplifié
### Démarche audit de sécurité des applications web
#### Jour 1: Principes et concepts de l'audit de sécurité
- Les différents types d'audit (30m)
- "Black Box"
- "Grey Box"
- "White Box"
- La démarche en mode "white box" avec le référentiel OWASP (5 heures 30)
- Identification du périmètre
- Récupération des informations d'amorçage de l'action
- Verrouillage de l'environnement
- Audit
- Création du rapport
- Accompagnement post-audit
#### Jour 2: Étude de cas
Mise en application des éléments vu le jour précédent sur une application Web sélectionnée pour illustrer les différentes problématiques de la procédure d'audit (6 heures)