Présentation de Web Security Scanner

>

Cette page présente Web Security Scanner.

Présentation

Web Security Scanner identifie les failles de sécurité dans vos applications Web App Engine, Google Kubernetes Engine (GKE) et Compute Engine. Ce système d'analyse explore votre application, tous les liens associés à vos URL de démarrage, puis essaie de tester un maximum d'entrées utilisateur et de gestionnaires d'événements. Actuellement, Web Security Scanner n'accepte que les URL publiques et les adresses IP qui ne sont pas protégées par un pare-feu.

Web Security Scanner prend actuellement en charge l'environnement standard et les environnements flexibles App Engine, les instances Compute Engine et les ressources GKE.

Web Security Scanner est conçu pour compléter vos processus de conception et de développement sécurisés existants. Pour éviter toute distraction par de faux positifs, Web Security Scanner fait appel à des rapports et n'affiche aucune alerte de confiance faible. Cloud Security Scanner ne remplace pas un contrôle de sécurité manuel, et ne garantit pas l'absence de failles de sécurité dans votre application. Pour en savoir plus sur la sécurité Web, consultez la page sur le projet Top 10 de l'OWASP.

En savoir plus sur la sécurité de Google Cloud

Types d'analyses

Web Security Scanner fournit une analyse des failles Web gérée et personnalisée pour les applications Web publiques App Engine, GKE et Compute Engine.

Analyses gérées

Les analyses gérées de Web Security Scanner sont configurées et gérées par Security Command Center. Elles s'exécutent automatiquement une fois par semaine pour détecter et analyser les points de terminaison Web publics. Ces analyses n'utilisent pas l'authentification et n'envoient que des requêtes GET. Elles n'envoient donc pas de formulaires sur des sites Web en ligne.

Les analyses gérées s'exécutent indépendamment des analyses personnalisées que vous définissez au niveau du projet. Vous pouvez utiliser des analyses gérées pour gérer de manière centralisée la détection de failles des applications Web de base pour les projets de votre organisation, sans avoir à impliquer des équipes de projets individuelles. Lorsque des résultats sont détectés, vous pouvez collaborer avec ces équipes pour configurer des analyses personnalisées plus complètes.

Lorsque vous activez Web Security Scanner en tant que service, les résultats d'analyse gérée sont automatiquement disponibles dans l'onglet des failles de Security Command Center et dans les rapports associés. Pour savoir comment activer les analyses gérées de Web Security Scanner, consultez la page Configurer Security Command Center.

Analyses personnalisées

Les analyses personnalisées de Web Security Scanner fournissent des informations précises sur les résultats des failles des applications, telles que les bibliothèques obsolètes, les scripts intersites ou l'utilisation de contenus mixtes. Les résultats de l'analyse personnalisée sont disponibles dans Security Command Center une fois que vous avez suivi le guide de configuration des analyses personnalisées de Web Security Scanner.

Analyser les résultats

Ces tableaux incluent une description de la mise en correspondance entre les détecteurs compatibles et la meilleure mise en correspondance avec les régimes de conformité pertinents.

Les mises en correspondance de Google Cloud Foundation 1.0 de la CI ont été examinées et certifiées par le Centre de sécurité Internet pour l'alignement de la version 1.0.0 du benchmark Google Cloud Computing Foundations CI. Des mises en correspondance de conformité supplémentaires sont incluses pour référence. Elles ne sont pas fournies ni examinées par la norme de sécurité des données de l'industrie des cartes de paiement ou la OWASP Foundation. Consultez la version 1.0.0 du benchmark Google Cloud Computing Foundations du CIS (CIS Google Cloud Foundation 1.0), la version 3.2.1 de la norme de sécurité des données de l'industrie des cartes de paiement (PCI-DSS v3.2.1), le projet Top 10 de l'OWASP, la norme 800-53 du National Institute of Standards and Technology (NIST 800-53) et la norme 27001 de l'Organisation internationale de la normalisation (ISO 27001) pour savoir comment vérifier manuellement ces violations.

Cette fonctionnalité est uniquement destinée à vous permettre de surveiller les cas de non-respect des contrôles de conformité. Les mises en correspondance ne sont pas fournies pour être utilisées comme base ou substitut de l'audit, du certificat ou du rapport de conformité de vos produits ou services par rapport à des benchmarks ou des normes industriels ou du secteur.

Les analyses personnalisées et gérées de Web Security Scanner identifient les types de résultats suivants. Au niveau Standard, Web Security Scanner accepte les analyses personnalisées des applications déployées avec des URL et des adresses IP publiques qui ne sont pas protégées par un pare-feu.

Tableau 18.Résultats de Web Security Scanner
Category Description du résultat CIS GCP Foundation 1.0 PCI-DSS v3.2.1 OWASP Top 10 NIST 800-53 ISO-27001
ACCESSIBLE_GIT_REPOSITORY Un dépôt Git est exposé publiquement. Pour résoudre ce résultat, supprimez l'accès public involontaire au dépôt GIT. A3
ACCESSIBLE_SVN_REPOSITORY Un dépôt SVN est exposé publiquement. Pour résoudre ce problème, supprimez l'accès public involontaire au dépôt SVN. A3
CLEAR_TEXT_PASSWORD Les mots de passe sont transmis en texte clair et peuvent être interceptés. Pour résoudre ce résultat, chiffrez le mot de passe transmis sur le réseau. A3
INVALID_CONTENT_TYPE Une des ressources chargées ne correspond pas à l'en-tête HTTP "Content-Type" de la réponse. Pour résoudre ce résultat, définissez l'en-tête HTTP "X-Content-Type-Options" sur la valeur correcte. A6
INVALID_HEADER Un en-tête de sécurité contient une erreur de syntaxe et est ignoré par les navigateurs. Pour résoudre ce problème, définissez les en-têtes de sécurité HTTP correctement. A6
MISMATCHING_SECURITY_HEADER_VALUES Un en-tête de sécurité contient des valeurs en double incompatibles et non concordantes, ce qui entraîne un comportement indéfini. Pour résoudre ce problème, définissez les en-têtes de sécurité HTTP correctement. A6
MISSPELLED_SECURITY_HEADER_NAME Un en-tête de sécurité est mal orthographié et est ignoré. Pour résoudre ce problème, définissez les en-têtes de sécurité HTTP correctement. A6
MIXED_CONTENT Les ressources sont diffusées via HTTP sur une page HTTPS. Pour résoudre ce résultat, assurez-vous que toutes les ressources sont diffusées via HTTPS. A6
OUTDATED_LIBRARY Une bibliothèque contenant des failles connues a été détectée. Pour résoudre ce problème, mettez à niveau les bibliothèques vers une version plus récente. A9
XSS Un champ dans cette application Web est vulnérable aux attaques de script intersites (XSS). Pour résoudre ce problème, validez et échappez les données non fiables fournies par l'utilisateur. A7
XSS_ANGULAR_CALLBACK Une chaîne fournie par l'utilisateur n'est pas échappée et AngularJS peut l'interpoler. Pour résoudre ce problème, validez et échappez les données non fiables fournies par l'utilisateur et gérées par le framework Angular. A7
XSS_ERROR Un champ dans cette application Web est vulnérable aux attaques de script intersites. Pour résoudre ce problème, validez et échappez les données non fiables fournies par l'utilisateur. A7

Mises en garde sur l'utilisation

Voici quelques points importants à considérer lorsque vous utilisez Web Security Scanner :

  • Étant donné que Web Security Scanner fait l'objet d'améliorations continues, une analyse ultérieure peut identifier des problèmes que l'analyse actuelle n'a pas signalés.
  • Certaines fonctionnalités ou sections de votre application peuvent ne pas être testées.
  • Web Security Scanner tente d'activer chaque commande et chaque entrée qu'il détecte.
  • Si vous exposez des actions de changement d'état pour lesquelles votre compte de test dispose d'une autorisation, il est probable que Web Security Scanner les active. Cela peut entraîner des résultats indésirables.

Qui peut exécuter une analyse de sécurité ?

Pour en savoir plus sur les rôles de gestion de l'authentification et des accès (IAM) disponibles pour Web Security Scanner, consultez la page Contrôle des accès.

Combien de temps faut-il pour exécuter une analyse de sécurité ?

L'analyse de sécurité ne s'exécute pas immédiatement. Elle est d'abord placée en file d'attente puis exécutée ultérieurement, éventuellement après plusieurs heures, en fonction de la charge du système. Une fois l'analyse commencée, le temps d'exécution dépend de la taille de votre application. L'analyse d'applications volumineuses comportant de nombreuses URL peut prendre plusieurs heures.

Restrictions applicables aux cibles

Web Security Scanner applique des filtres qui limitent les cibles d'analyse à l'instance App Engine spécifique pour laquelle l'analyse est créée. La saisie d'URL pour un autre projet App Engine ou un domaine externe entraînera un message d'erreur.

Les analyses pour Compute Engine et GKE sont limitées aux domaines qui correspondent à des adresses IP réservées pour vos projets. Pour savoir comment réserver des adresses IP de projets, consultez les liens suivants :

App Engine ne permet pas de mapper des adresses IP statiques à une application. Vous pouvez toutefois utiliser Cloud Load Balancing et les NEGS sans serveur pour réserver une adresse IP statique pour votre équilibreur de charge, qui dirige ensuite le trafic vers votre application. Pour en savoir plus sur les tarifs, consultez la section Tarifs des adresses IP externes.

Dans votre projet, Web Security Scanner tente automatiquement d'éviter les URL de déconnexion et d'autres emplacements génériques susceptibles de nuire à une analyse. Toutefois, pour plus de sécurité, vous pouvez exclure des URL manuellement à l'aide des paramètres d'analyse.

Validation

Les configurations d'analyse sont validées lors de leur création et avant chaque analyse. Web Security Scanner vérifie les paramètres de Security Command Center et les identifiants d'authentification de votre application pour s'assurer que les analyses sont correctement configurées et pour se connecter à votre application. Les paramètres de configuration, y compris la vitesse d'analyse maximale, sont également vérifiés pour s'assurer qu'ils se trouvent dans les plages compatibles.

Vous devez corriger les erreurs avant de créer ou de mettre à jour une analyse. Les applications modifiées après la configuration initiale peuvent produire des erreurs lors des analyses. Par exemple, si un domaine ne pointe plus vers une adresse IP détenue par le projet, la ressource n'est pas analysée et une erreur est signalée sur la page de configuration d'analyse.

Bonnes pratiques

Étant donné que Web Security Scanner remplit les champs, transfère les boutons, clique sur les liens et effectue d'autres actions utilisateur, vous devez l'utiliser avec précaution. Web Security Scanner peut potentiellement activer des fonctionnalités qui modifient l'état de vos données ou de votre système, avec des résultats indésirables.

Exemple :

  • Dans une application de blog qui autorise les commentaires publics, Web Security Scanner peut publier des chaînes de test sous forme de commentaires sur tous les articles de votre blog.
  • Web Security Scanner peut générer un grand nombre d'e-mails de test sur une page d'inscription par e-mail.

Voici quelques techniques que vous pouvez utiliser, séparément ou de manière combinée, pour éviter des résultats indésirables :

  1. Exécuter les analyses dans un environnement de test. Configurez un environnement de test en créant un projet App Engine distinct et en y chargeant votre application et vos données. Si vous utilisez l'outil de ligne de commande gcloud, vous pouvez spécifier le projet cible en tant qu'option de ligne de commande lors de l'importation de votre application.
  2. Utiliser un compte de test. Créez un compte utilisateur n'ayant pas accès à des données sensibles ou à des opérations dangereuses et utilisez-le lors de l'analyse de votre application. De nombreuses applications présentent un workflow spécial lors de la première connexion d'un utilisateur, par exemple, accepter des conditions ou créer un profil. En raison des différences de workflow, il est possible qu'un compte de test pour un premier utilisateur génère des résultats d'analyse différents de ceux d'un compte utilisateur établi. Il est préférable de procéder à l'analyse avec un compte dont l'état de l'utilisateur est normal une fois le workflow initial terminé.
  3. Bloquez les éléments d'interface utilisateur individuels que vous ne souhaitez pas activer en appliquant la classe CSS inq-no-click. Les gestionnaires d'événements associés à cet élément ne sont pas activés lors de l'exploration et des tests, qu'ils soient intégrés à JavaScript, rattachés à l'aide de addEventListener ou en définissant le gestionnaire d'événements approprié.
  4. Sauvegardez vos données. Pensez à sauvegarder vos données avant de procéder à l'analyse.
  5. Exclure des URL. Vous pouvez spécifier des formats d'URL qui ne sont ni explorés, ni testés. Pour en savoir plus sur la syntaxe à utiliser, consultez la page Exclure des URL.

Avant de procéder à l'analyse, effectuez un audit minutieux de votre application afin de détecter tout élément susceptible d'affecter les données, les utilisateurs ou les systèmes ne faisant pas partie du champ d'application de l'analyse.

Étape suivante