⚠️ Cette section est en cours de construction.

Module : Avenirs-ESR / ePortfolio - webbapps check list
Objet : Check list de sécurité pour les applications web

Révision : 1.0.0.
Date : 10/04/2024.
Auteur : A. Deman.
Commentaire : Version initiale - Draft


Sources

Top 10 Web Application Security Risks.

Points de vérification

  • Contrôle d’accès : (A01:2021-Broken Access Control)[https://owasp.org/Top10/A01_2021-Broken_Access_Control/]
    1. Respecter le principe de moindre privilège par défaut (e.g. : pas d’accès admin pour un utilisateur lambda)
    2. Utiliser une clé d’API pour les requête anonymes.
    3. Utiliser l’accès token pour toutes les autres requêtes, à chaque requête.
    4. Utiliser le composant d’access control (AC) [TODO] Déterminer composant (gère également les aspects CORS ?)
    5. Configuration CORS : n’autoriser que ce qui est nécessaire (si non géré par le lAC)
    6. Configurer les Content security Policy CSP
    7. Utilisation de l’APIM => checklist pour APIM (Logging, rate limit, etc.)[TODO] APIM checklist
    8. Invalider les sessions (statefull) [TODO] Déterminer nos cas d’usage, s’il y en a.
    9. Utiliser des sessions stateless avec une fenêtre courte [TODO] déterminer la valeur
  • Chiffrement : (A02:2021-Cryptographic Failures) [https://owasp.org/Top10/A02_2021-Cryptographic_Failures/]
    1. Se référer / Mettre à jour le dictionnaire des données [TODO] Dictionnaire des données avec classification.
    2. Toutes les communications sont chiffrées
    3. Utilisation d’algorithmes de chiffrement performants et récents: [TODO] Liste des algos à déterminer. Plus système que dev.
    4. Ne pas stocker les données sensible sans nécessité.
    5. Ne pas mettre en cache les données sensibles.
    6. [TODO] voir comment les autres points qui concerne la cryptographie peuvent/doivent ou non être intégrés (e.g.: use of authenticated encryption).
  • A03:2021-Injection [TODO]
  • A05:2021-Security Misconfiguration [TODO]
  • Composants : (A06:2021-Vulnerable and Outdated Components)[https://owasp.org/Top10/A06_2021-Vulnerable_and_Outdated_Components/]
    1. Supprimmer les dépendance inutiles [TODO]
      • Déterminer les modes opératoires utilisables
      • Intégrer directement dans le pipeline de CI quand c’est possible [TODO] selectionner les outils (OWASP Dependency Check, retire.js, bot github, etc.)
      • Sourcer les librairies : uniquement des sources officielles, maintenues, etc. Utiliser des packages signés lorsque c’est possible.
      • Effectuer un check de securité dans le pipeline CI [TODO] Déterminer les outils.
  • A07:2021-Identification and Authentication Failures [TODO]
  • A08:2021-Software and Data Integrity Failures[TODO]
  • A09:2021-Security Logging and Monitoring Failures[TODO]
  • A10:2021-Server-Side Request Forgery[TODO]