Sécurité et développements Web

Formation à la sécurité Web : assurer les procédures de sécurité dans les développements Web Développer des applications web en assurant les procédures de sécurité

La formation initiation à la sécurité Web est une prise de conscience au contrôle des accès web, de leurs principales erreurs et de leurs bonnes pratiques. Vous apprenez les procédures de mise en application de la cryptographie, vous sécurisez votre base de données et prévenez celle-ci des injonctions de code. De la phase de conception, de ses configurations de composants, vous pratiquez un durcissement des configurations de sécurité en réduisant la surface d’attaque. Gestion des dépendances, authentification et cycle de vie des utilisateurs, intégrité des sources, vérification des signatures, vous élaborez une stratégie de journalisation, de consolidation et vous testerez les comportements factice faillible.

Résumé

Durée : 17,5 heures (14h+3,5h)
Objectifs :
- prendre conscience de la sécurité dans le développement web
- surveiller les contrôles d’accès
- appliquer les mécanisme de cryptographie
- identifier les failles de l’injection de code
- gérer les problèmes d’authentification
- gérer les droits et les signatures
- implanter une stratégie de journalisation et de supervision
Public : développeurs
Prérequis : connaissance du web et de l’intégration web
Méthodes mobilisées : une très large part est accordée à la pratique. Des apports théoriques viennent consolider la pratique. Des exercices sont proposés aux stagiaires, qui peuvent les adapter en fonction de leurs objectifs. Les échanges entre les participants enrichissent les enseignements et leur mise en pratique.
Modalités et délais d’accès : sur inscription préalable au minimum 1 semaine avant le début de la formation selon les disponibilités du formateur.
Modalités d’évaluations : une évaluation du niveau des stagiaires est réalisée avant l’entrée en formation par téléphone ou au moyen d’un questionnaire. Évaluation des acquis et de la satisfaction en fin de formation.
Accessibilité aux personnes en situation de handicap ou présentant des difficultés d’apprentissage : toutes nos formations sont accessibles aux personnes en situation de handicap, qu’il soit moteur, visuel, auditif ou cognitif ; quelles qu’en soient les particularités.
Nous pouvons proposer des solutions de compensation de nos prestations en adaptant les moyens pédagogiques, techniques et d’encadrement. Nos locaux sont en rez-de-chaussée avec des places de parkings extérieures juste devant l’entrée du bâtiment. Aussi, merci de nous informer de vos besoins d’adaptation ; les échanges peuvent se faire et rester en toute confidentialité.
Taux de satisfaction 2i2l : 100 % des stagiaires sont "très satisfaits" ou "satisfaits" à l’issue de leur formation.
Tarif : pour une demande de formation interne, nous consulter.

Présentation

Dans le domaine de la sécurité informatique, une vulnérabilité ou faille est une faiblesse dans un système informatique permettant à un attaquant de porter atteinte à l’intégrité de ce système, c’est-à-dire à son fonctionnement normal, à la confidentialité ou à l’intégrité des données qu’il contient.

On parle de faille distante lorsque la vulnérabilité se situe dans un logiciel constituant un service réseau (par exemple un serveur Web) et qu’elle peut être exploitée par un attaquant distant, qui ne dispose pas d’un compte local. Les vulnérabilités locales peuvent être utilisées par un utilisateur malintentionné, qui possède un compte, pour effectuer une élévation des privilèges, ou bien par un attaquant distant pour augmenter ses privilèges, après l’exploitation d’une vulnérabilité distante. Vulnérabilité informatique source Wikipedia

- recommandation à la sécurité d’un site web par l’ANSSI
- les bonnes pratiques de la sécurité web par la CNIL
- la cyber sécurité web de cybermalveillance.gouv.fr
- documentation Mozilla.org sur la sécurité web

Programme

L’introduction à la sécurité dans le développement web (jour 1 - matin)
- les objectifs de la formation
- les risques de sécurité dans le développement web
- la présentation du top 10 OWASP

Le mauvais contrôle des accès (A01:2021-Broken Access Control) (jour 1 - matin)
- l’introduction au contrôle des accès
- les principales erreurs et les bonnes pratiques (le principe de moindre privilège ; la liste blanche versus liste noire ; la traçabilité des actions)
- un atelier pratique avec une étude de cas : l’identification des failles sur une application factice etimplémentation de correctifs

La mauvaise implémentation des principes cryptographiques (A02:2021-Cryptographic Failures) (jour 1 - matin)
- l’introduction à la cryptographie et le web
- les principales erreurs et les bonnes pratiques
- un atelier pratique avec une étude de cas : la vérification des bonnes procédures de mise en application des mécanismes cryptographiques sur une application factice

L’injection de code (A03:2021–Injection) (jour 1 - après-midi)
- la présentation de l’injection de code
- les principales erreurs et les bonnes pratiques (la validation des entrées utilisateurs, les principes généraux ; SQL ; NoSQL ; LDAP)
- un atelier pratique avec une étude de cas : l’identification de failles SQL et implémentations de correctifs sur une application factice

L’oubli des principes de sécurité dans la phase de conception (A04:2021-Insecure Design) (jour 1 - après-midi)
- l’introduction à la sécurité en phase de conception
- les principales erreurs et les bonnes pratiques
- un atelier pratique avec une étude de cas : l’analyse d’un cahier des charges factice et identification des problématiques de sécurité

Les problèmes de configuration (A05:2021-Security Misconfiguration) (jour 2 - matin)
- l’introduction à la configuration des composants techniques
- les principales erreurs et les bonnes pratiques (le "durcissement" des configurations de sécurité ; la réduction de la surface d’attaque ; la stratégie de mise à jour)
- un atelier pratique avec une étude de cas : l’analyse d’état d’un serveur avec un service Apache2

Les dépendances obsolètes et/ou vulnérables (A06:2021-Vulnerable and Outdated Components) (jour 2 - matin)
- l’introduction à la gestion des dépendances
- les principales erreurs et les bonnes pratiques (la stratégie de gestion des dépendances ; l’automatisation des analyses et les rapports d’état)
- un atelier pratique avec une étude de cas : l’analyse des dépendances d’une application NodeJS sur une application factice

Les problèmes d’authentification (A07:2021-Identification and Authentication Failures) (jour 2 - après-midi)
- l’introduction à l’authentification des acteurs
- les principales erreurs et les bonnes pratiques (les découvertes de comptes utilisateurs par brute force ; le cycle de vie de la session utilisateur ; l’authentification double facteur)
- un atelier pratique avec une étude de cas : l’identification de failles sur un formulaire d’authentification d’une application factice et la mise en place de correctifs

L’intégrité des sources et des données (A08:2021-Software and Data Integrity Failures) jour 2 - après-midi)
- l’introduction au contrôle d’intégrité des sources et des artefacts
- les principales erreurs et les bonnes pratiques (le cycle de développement d’un projet et gestion des droits ; la signature des sources ; la stratégie de signature des artefacts de déploiement)
- un atelier pratique avec une étude de cas : la signature et la vérification de commit avec Git etla signature/vérifications d’artefacts avec cosign

La politique de journalisation et de supervision (A09:2021-Security Logging and Monitoring Failures) (jour 3 - matin)
- l’introduction à la stratégie de journalisation et de supervision
- les principales erreurs et les bonnes pratiques (la stratégie de traçabilité des actions critiques ; la stratégie de journalisation et la consolidation/centralisation ; "Who watches the watchers ?")
- un atelier pratique avec une étude de cas : l’identification des actions critiques dans une application factice et la mise en place de remontées d’évènements

La falsification de requêtes côté serveur (A10:2021-Server-Side Request Forgery) (jour 3 - matin)
- l’introduction à la falsification de requêtes
- les principales erreurs et les bonnes pratiques (la récupération de contenu distant et entrées utilisateurs)
- un atelier pratique avec une étude de cas : l’analyse du comportement d’une application factice faillible à ce type d’attaques et l’implémentation de correctifs

La conclusion (jour 3 - matin)
- la récapitulation des notions abordées et les principes généraux
- comment consolider sa formation sur la sécurité web ?