Grille des critères de sécurisation des sites web de l'ANSSI v1

Grille des critères de sécurisation des sites web de l'ANSSI - version H.C. 1.0 du 28/04/2017
niv. critère ou test v.
Prévention - INFRASTRUCTURE [ haut ]
1.1   ARCHITECTURE
1.1.1   L’architecture matérielle et logicielle du site web et de son infrastructure d’hébergement doit respecter le principe de défense en profondeur
1.1.2   Les composants applicatifs employés doivent être limités au strict nécessaire
1.1.3   Les composants applicatifs employés doivent être recensés et maintenus à jour
1.1.4   L’administration d’un site web doit se faire via des protocoles sécurisés
1.1.5   L’accès aux mécanismes d’administration doit être restreint aux seuls postes d’administration autorisés
1.1.6   Les administrateurs doivent être authentifiés de manière sûre
1.2   CONFIGURATION
1.2.1   Le principe de moindre privilège doit être appliqué à l’ensemble des éléments du système
1.2.2   Les fichiers pouvant être servis aux clients doivent être limités au strict nécessaire
1.2.3   Les droits sur la base de données doivent être gérés finement pour mettre en oeuvre le principe de moindre privilège
1.2.4   Limiter les renseignements fournis sur le fonctionnement technique du site web
1.2.5   Une matrice des flux précise doit être établie, tant en entrée qu’en sortie, et son respect doit être imposé par un filtrage réseau
Prévention - CODE APPLICATIF DU SITE [ haut ]
2.1.1   Les traitements doivent tous être faits du côté du serveur. Les entrées en provenance des clients ne doivent pas être considérées comme fiables et par conséquent, aucune vérification ne doit être déléguée aux clients
2.2   GESTION DES ENTREES
2.2.1   Les requêtes adressées à la base de données doivent être faites au moyen de requêtes préparées fortement typées ou par l’intermédiaire d’une couche d’abstraction assurant le contrôle des paramètres. Dans les (rares) cas où cette approche serait impossible, il convient d’apporter un soin particulier à s’assurer que les données manipulées ne comportent pas de caractères spéciaux (au sens du SGBD) sans échappement et ont bien la forme attendue
2.2.2   Les données externes employées dans quelque partie que ce soit de la réponse envoyée au client doivent avoir fait l’objet d’un « échappement » adapté au contexte d’interprétation. Il convient en outre de vérifier qu’elles ont effectivement la forme attendue lorsque celle-ci est connue
2.2.3   Favoriser les redirections statiques plutôt que d’employer des redirections controlées par des données externes
2.2.4   Pour les redirections dynamiques, adopter un fonctionnement en liste blanche en vérifiant que les URL visées soient légitimes
2.2.5   L’inclusion de fichiers dont le nom ou le chemin d’accès dépend d’une donnée externe ne doit pas être employée
2.2.6   Il faut recourir au fonctionnement par liste blanche ou à un traitement rigoureux des données externes à chaque fois qu’elles sont employées
2.3   LOGIQUE APPLICATIVE
2.3.1   Les identifiants de session doivent être aléatoires et d’une entropie d’au moins 128 bits
2.3.2   Il faut recourir à chaque fois que c’est possible au protocole HTTPS dès lors que l’on associe une session à des privilèges particuliers
2.3.3   Les attributs HTTPOnly et, dans le cas d’un site en HTTPS, Secure doivent être associés à l’identifiant de session
2.3.4   Les mots de passe ne doivent pas être stockés en clair mais dans une forme transformée par une fonction cryptographique non réversible conforme au Référentiel Général de Sécurité
2.3.5   La transformation des mots de passe doit faire intervenir un sel aléatoire
2.3.6   Pour les actions sensibles, mettre en place des mécanismes permettant de s’assurer de la légitimité de la requête
2.3.7   Limiter au strict nécessaire les inclusions de contenus tiers après les avoir contrôlés un minimum
2.3.8   Privilégier un paradigme statique chaque fois que c’est possible
Réaction - META-INFORMATIONS [ haut ]
3.1.1   Un point de contact associé au site doit être facilement identifiable
Réaction - DETECTION DES INCIDENTS [ haut ]
4.1   SURVEILLANCE
4.1.1   Le site web doit être régulièrement parcouru pour déceler toute anomalie
4.2   JOURNALISATION
4.2.1   Il est nécessaire de définir une politique de journalisation précisant notamment les modalités et les durées de conservation des différents journaux ainsi que les méthodes d’analyse et de corrélation des données produites