Configurer des analyses personnalisées à l'aide de Web Security Scanner

>

Planifiez et exécutez des analyses personnalisées sur une application déployée à l'aide de Web Security Scanner dans Google Cloud Console. Web Security Scanner accepte les analyses pour les URL publiques et les adresses IP qui ne sont pas protégées par un pare-feu.

La vidéo suivante explique les étapes à suivre pour configurer Web Security Scanner et fournit des informations sur l'utilisation du tableau de bord. Les étapes de configuration sont décrites plus loin sur cette page.

Avant de commencer

Pour configurer des analyses personnalisées à l'aide de Web Security Scanner :

  • Vous devez disposer d'une application déployée sur une adresse IP ou une URL publique.
  • Security Command Center doit être activé pour votre organisation.

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.

Étant donné que Web Security Scanner remplit des champs, appuie sur des boutons, clique sur des liens et autres interactions, vous devez l'utiliser avec prudence. Web Security Scanner peut 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.

Pour obtenir des conseils sur la manière de minimiser les risques, consultez les bonnes pratiques de façon à éviter les conséquences inattendues.

Activer Web Security Scanner

Activez Web Security Scanner pour créer et exécuter des analyses personnalisées. Security Command Center doit être activé pour votre organisation.

Étape 1 : Déployer un projet de test

Pour terminer la configuration de Web Security Scanner pour les analyses personnalisées, vous avez besoin de l'URL d'une application Compute Engine, Google Kubernetes Engine ou App Engine déjà déployée. Si vous n'avez pas d'application déployée ou si vous souhaitez essayer Web Security Scanner avec une application de test, déployez l'application de test App Engine dans le langage de votre choix :

Étape 2 : Attribuer des rôles IAM

Pour exécuter une analyse Web Security Scanner, vous devez disposer de l'un des rôles de gestion de l'authentification et des accès (IAM) suivants pour le projet que vous souhaitez analyser :

  • Éditeur
  • Propriétaire

Pour ajouter l'un de ces rôles, procédez comme suit :

  1. Accédez à la page IAM et administration de Cloud Console.
    Accéder à la page "IAM et administration"
  2. Cliquez sur la liste déroulante Sélecteur de projet.
  3. Dans la boîte de dialogue Sélectionner qui s'affiche, sélectionnez le projet que vous souhaitez analyser à l'aide de Web Security Scanner.
  4. Sur la page IAM, à côté de votre nom d'utilisateur, cliquez sur Modifier.
  5. Dans le panneau Modifier les autorisations qui s'affiche, cliquez sur Ajouter un autre rôle, puis sélectionnez l'un des rôles suivants :
    • Projet > Propriétaire
    • Projet > Éditeur
  6. Une fois les rôles ajoutés, cliquez sur Enregistrer.

En savoir plus sur les rôles Web Security Scanner

Étape 3 : Exécuter une analyse

Lorsque vous configurez une analyse, elle est mise en file d'attente pour s'exécuter ultérieurement. En fonction de la charge actuelle, plusieurs heures peuvent s'écouler avant l'exécution de l'analyse. Pour créer, enregistrer et exécuter une analyse, procédez comme suit :

  1. Accédez à la page Web Security Scanner dans Cloud Console.
    Accéder à la page "Web Security Scanner"
  2. Sélectionnez le projet contenant l'application déployée que vous souhaitez analyser.
  3. Pour configurer une nouvelle analyse, cliquez sur Nouvelle analyse.
  4. Sur la page Créer une analyse qui se charge, définissez les valeurs suivantes :

    1. Sous URL de démarrage, saisissez l'URL de l'application à analyser.
    2. Sous Programmation, sélectionnez Toutes les semaines.
    3. Sous Date d'exécution suivante, sélectionnez une date.

    La case Exporter vers Security Command Center est automatiquement cochée. Si vous avez activé Web Security Scanner en tant que source de sécurité de Web Security Scanner, cela permet d'afficher les résultats d'analyse dans le tableau de bord Web Security Scanner.

    Pour cette première analyse, utilisez l'analyse par défaut sans aucune autre valeur sur la page Créer une analyse. Pour en savoir plus sur les paramètres d'analyse, consultez la section Analyser une application.

  5. Pour créer l'analyse, cliquez sur Enregistrer.

  6. Sur la page Web Security Scanner, cliquez sur le nom de l'analyse pour charger la page de présentation de l'analyse, puis cliquez sur Exécuter l'analyse.

    L'analyse est mise en file d'attente, puis exécutée ultérieurement. Plusieurs heures peuvent s'écouler avant l'exécution de l'analyse.

  7. La page de présentation de l'analyse affiche une section de résultats à la fin de l'analyse. L'image suivante montre des exemples de résultats d'analyse lorsqu'aucune faille n'est détectée :

    Si vous avez activé Web Security Scanner en tant que source de sécurité Web Security Scanner, les résultats de l'analyse sont également affichés dans le tableau de bord de Web Security Scanner.

    Pour afficher des informations détaillées sur un résultat spécifique, cliquez sur son nom dans les résultats de l'analyse.

Vous avez à présent terminé une analyse basique de Web Security Scanner. Si vous avez analysé votre propre application, découvrez comment personnaliser l'analyse dans la section Analyser une application de cette page.

Si vous avez déployé une application de test pour exécuter l'analyse, effectuez l'étape de nettoyage suivante sur cette page pour éviter des frais App Engine pour l'application.

Étape 4 : Nettoyer

  1. Dans Cloud Console, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer .
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Analyser une application

Configurez une analyse personnalisée pour votre application à l'aide d'un compte de test.

Étape 1 : Créer un compte de test

Lorsque vous analysez votre application, il est préférable d'utiliser un compte test qui n'a pas accès à des données sensibles ni à des opérations nuisibles. Créez un compte de test pouvant se connecter à votre application et notez les identifiants de connexion à fournir pour l'authentification lors de la création d'une analyse. Cela vous permet d'analyser les données à l'aide du compte de test.

Étape 2 : Créez une analyse

  1. Accédez à la page Web Security Scanner dans Cloud Console.
    Accéder à la page Web Security Scanner
  2. Cliquez sur Sélectionner, puis sélectionnez un projet sur lequel une application App Engine, Compute Engine ou GKE est déjà déployée.
  3. Pour afficher le nouveau formulaire d'analyse, cliquez sur Créer une analyse ou sur Nouvelle analyse.
  4. Pour ajouter des valeurs au nouveau formulaire d'analyse, utilisez le tableau suivant comme guide :
    Champ Description
    URL de démarrage

    Un site simple ne nécessite généralement qu'une seule URL de démarrage, telle que la page d'accueil, la page principale ou la page de destination du site, à partir de laquelle Web Security Scanner peut rechercher toutes les autres pages du site. Toutefois, Web Security Scanner peut ne pas trouver toutes les pages d'un site si celui-ci comprend :

    • beaucoup de pages ;
    • des îlots de pages non connectées ;
    • une navigation nécessitant un code JavaScript complexe, comme un menu à plusieurs niveaux piloté par survol avec la souris.

    Dans ces cas, spécifiez des URL de démarrage supplémentaires afin d'augmenter la couverture d'analyse.

    URL exclues Pour réduire la complexité, les exclusions sont définies à l'aide d'un proto-langage simplifié composé d'un ou de plusieurs caractères génériques *, au lieu de nécessiter une expression régulière valide. Pour obtenir plus d'informations et des exemples de formats valides, consultez la section Exclure des URL plus loin sur cette page.
    Authentification > Compte Google

    Vous pouvez créer un compte de test dans Gmail, puis utiliser ce compte pour analyser votre produit. Si vous êtes client G Suite, vous pouvez créer des comptes de test au sein de votre domaine, par exemple test-account@yourdomain.com. Dans Web Security Scanner, ces comptes fonctionnent comme des comptes Gmail. L'authentification à deux facteurs n'est pas disponible.

    Google applique une stratégie de noms réels sur les comptes Google. Si le nom de votre compte de test ne semble pas réel, le compte peut être bloqué.

    Authentification > Identity-Aware Proxy alpha

    Pour protéger les ressources avec Identity-Aware Proxy, consultez le guide IAP.

    Pour utiliser Web Security Scanner avec une ressource protégée par IAP, commencez par ajouter le compte de service Web Security Scanner en tant que membre IAP :

    1. Accédez à la page IAP dans Cloud Console.
    2. Sélectionnez le projet que vous souhaitez utiliser avec Web Security Scanner.
    3. Sélectionnez la ressource d'application à analyser, puis cliquez sur Ajouter un membre dans le panneau d'informations.
    4. Dans la zone Nouveaux membres du panneau Ajouter des membres, saisissez le compte de service Web Security Scanner au format

      service-project-number@gcp-sa-websecurityscanner.iam.gserviceaccount.com.

    5. Dans la liste déroulante Sélectionner un rôle, sélectionnez Cloud IAP > Utilisateur de l'application Web sécurisée par IAP.
    6. Une fois les rôles ajoutés, cliquez sur Enregistrer.

    Ajoutez ensuite l'ID client OAuth à l'analyse. Web Security Scanner ne peut analyser que les applications protégées par un seul ID client OAuth. Pour ajouter l'ID client OAuth, procédez comme suit :

    1. Accédez à la page IAP dans Cloud Console.
    2. Sélectionnez le projet que vous souhaitez utiliser avec Web Security Scanner.
    3. Dans le menu à développer, sélectionnez Modifier le client OAuth.
    4. Dans la fenêtre ID client de l'application Web qui s'affiche, copiez l'ID client.
    5. Accédez à la page Web Security Scanner dans Cloud Console.
    6. Sous Authentification, sélectionnez Identity-Aware Proxy alpha.
    7. Dans la zone ID client OAuth2, collez l'ID client OAuth que vous avez copié, puis cliquez sur Enregistrer.
    Authentification > Compte autre que Google

    Sélectionnez cette option si vous avez créé votre propre système d'authentification et que vous n'utilisez pas les services du compte Google. Spécifiez l'URL du formulaire de connexion, le nom d'utilisateur et le mot de passe. Ces identifiants vous permettent de vous connecter à votre application et de l'analyser.

    Web Security Scanner tente d'effectuer une analyse heuristique pour se connecter à votre application et l'analyser. Plus précisément, cette méthode recherche un formulaire de connexion à deux champs qui inclut un champ username et un champ password. L'action de connexion doit générer un cookie d'authentification pour que l'outil d'analyse poursuive son analyse.

    Les problèmes courants pouvant entraîner l'échec de la connexion personnalisée incluent les suivants :

    • Utiliser des champs de formulaire HTML non standards ; par exemple, ne pas utiliser de type password
    • Utiliser un formulaire de connexion complexe ; par exemple, un formulaire comportant plus qu'un champ username et password simples.
    • Ne pas enregistrer un cookie d'authentification lors de la connexion réussie.
    • Dans certains cas, l'outil d'analyse peut être refusé par des contre-mesures destinées à protéger contre les robots, les attaques DDOS et autres attaques.

    Nous vous recommandons d'utiliser l'intégration d'Identity-Aware Proxy pour une expérience plus cohérente avec l'analyse authentifiée des applications.

    Horaires Vous pouvez configurer l'analyse pour qu'elle s'exécute de manière quotidienne, hebdomadaire, toutes les deux semaines ou toutes les quatre semaines. Il est préférable de créer une analyse planifiée afin de garantir le test des versions futures de votre application. De plus, comme nous publions parfois de nouveaux outils d'analyse qui identifient de nouveaux types de bugs, l'exécution d'une analyse planifiée offre une plus grande couverture sans intervention manuelle.
  5. Lorsque vous avez terminé d'ajouter des valeurs, cliquez sur Créer. Vous pouvez maintenant exécuter la nouvelle analyse.

Web Security Scanner utilise des adresses IP attribuées de manière aléatoire à chaque exécution. Il n'y a pas d'adresse IP prévisible à ajouter aux pare-feu pour laisser l'outil d'analyse s'exécuter.

Par défaut, Web Security Scanner utilise des adresses IP attribuées de manière aléatoire à chaque exécution, et n'a donc pas d'adresse IP prévisible à utiliser dans la configuration de votre pare-feu. Pour rendre les adresses IP Web Security Scanner prévisibles, suivez les étapes permettant d'activer les analyses à partir d'adresses IP statiques plus loin sur cette page.

Étape 3 : Exécuter une analyse

Pour exécuter une analyse, procédez comme suit :

  1. Connectez-vous au compte de test que vous avez utilisé pour créer l'analyse.
  2. Accédez à la page Web Security Scanner dans Cloud Console.
    Accéder à la page Web Security Scanner
  3. Cliquez sur Sélectionner, puis sélectionnez le projet dans lequel vous avez créé l'analyse.
  4. Sous Analyser les configurations, cliquez sur le nom de l'analyse que vous souhaitez exécuter.
  5. Sur la page des détails de l'analyse, cliquez sur Exécuter.

L'analyse étant placée en file d'attente, il peut s'écouler un certain délai avant son exécution. Son exécution peut prendre plusieurs minutes, voire plusieurs heures, en fonction de la charge du système et d'autres fonctionnalités telles que les suivantes :

  • Complexité du site
  • Nombre d'éléments exploitables par page
  • Nombre de liens
  • Quantité de code JavaScript sur le site, navigation comprise

Vous pouvez configurer et exécuter jusqu'à 10 analyses différentes avant de devoir supprimer ou nettoyer les résultats précédemment enregistrés.

Afficher les résultats d'analyse personnalisée

L'état et les résultats d'une analyse personnalisée s'affichent sur la page des détails d'analyse dans Cloud Console. Pour afficher les résultats d'analyse :

  1. Connectez-vous au compte de test que vous avez utilisé pour créer l'analyse.
  2. Accédez à la page Web Security Scanner dans Cloud Console.
    Accéder à la page Web Security Scanner
  3. Cliquez sur Sélectionner, puis sélectionnez le projet contenant l'analyse que vous souhaitez examiner.
  4. Sous Configurations d'analyse, cliquez sur le nom de l'analyse que vous souhaitez examiner.

La page des détails de l'analyse se charge et affiche les résultats de l'analyse la plus récente. Si une analyse est en cours, l'onglet Résultats affiche le pourcentage de progression actuel. Pour afficher les résultats des analyses précédentes, sélectionnez la date et l'heure de ces analyses dans la liste déroulante.

Les détails des analyses personnalisées terminées sont les suivants :

  • L'onglet Résultats affiche la liste des failles détectées dans l'analyse, le cas échéant.
  • L'onglet URL explorées affiche la liste des URL analysées.
  • L'onglet Détails contient les éléments suivants :
    • URL de démarrage
    • Authentification
    • User-agent
    • Vitesse d'analyse maximale sous forme de requêtes par seconde (RPS)

Pour en savoir plus sur l'analyse, consultez la page des journaux du projet.

Modifier une analyse personnalisée

Pour modifier une analyse personnalisée, procédez comme suit :

  1. Connectez-vous au compte de test que vous avez utilisé pour créer l'analyse.
  2. Accédez à la page Web Security Scanner dans Cloud Console.
    Accéder à la page Web Security Scanner
  3. Cliquez sur Sélectionner, puis sélectionnez le projet contenant l'analyse que vous souhaitez modifier.
  4. Sous Configurations d'analyse, cliquez sur le nom de l'analyse que vous souhaitez modifier.
  5. Sur la page des détails d'analyse qui s'affiche, cliquez sur Modifier.
  6. Sur la page Modifier [nom de l'analyse] qui s'affiche, apportez les modifications souhaitées, puis cliquez sur Enregistrer.

L'analyse personnalisée modifiée s'exécute lors de sa prochaine programmation. Vous pouvez également l'exécuter manuellement pour obtenir les résultats mis à jour.

Supprimer une analyse personnalisée

Pour supprimer une ou plusieurs analyses personnalisées, procédez comme suit :

  1. Connectez-vous au compte de test que vous avez utilisé pour créer l'analyse.
  2. Accédez à la page Web Security Scanner dans Cloud Console.
    Accéder à la page Web Security Scanner
  3. Cliquez sur Sélectionner, puis sélectionnez le projet contenant l'analyse que vous souhaitez modifier.
  4. Sous Configurations d'analyse, cochez la case correspondant à l'analyse ou aux analyses à supprimer.
  5. Cliquez sur Supprimer, puis sur OK.

Toutes les analyses que vous avez sélectionnées sont supprimées.

Configurer une analyse à partir d'adresses IP statiques

Cette section explique comment activer les analyses personnalisées de Web Security Scanner à partir d'adresses IP statiques. Lorsque vous activez cette fonctionnalité, Web Security Scanner utilise des adresses IP prévisibles pour analyser vos applications Compute Engine et Google Kubernetes Engine (GKE) publiques. Cette fonctionnalité est actuellement en version alpha. Les adresses IP de Web Security Scanner peuvent changer dans une version ultérieure.

Avant de commencer

Pour utiliser la fonctionnalité d'analyses personnalisées à partir d'dresses IP statiques de Web Security Scanner, vous devez disposer des éléments suivants :

  • Une application Compute Engine ou GKE publique. Cette fonctionnalité n'est actuellement pas compatible avec les applications App Engine.
  • Une analyse créée sans authentification ou avec l'authentification de compte Google. Cette fonctionnalité n'est actuellement pas compatible avec les analyses utilisant une authentification autre que Google.

Étape 1 : Configurer le pare-feu

Après vous être inscrit pour les analyses à partir des adresses IP statiques alpha, configurez votre pare-feu pour autoriser les adresses IP de Web Security Scanner :

  1. Accédez à la page Règles de pare-feu dans Cloud Console.
    Accéder à la page "Règles de pare-feu"
  2. Cliquez sur Sélectionner, puis sélectionnez votre projet.
  3. Sur la page Règles de pare-feu qui s'affiche, cliquez sur Créer une règle de pare-feu.
  4. Sur la page Créer une règle de pare-feu, définissez les valeurs suivantes :
    1. Nom : saisissez web-security-scanner ou un nom similaire.
    2. Priorité : sélectionnez une priorité plus élevée (valeur plus faible) que toutes les règles qui refusent le trafic sortant vers votre application.
    3. Plages d'adresses IP sources : saisissez 34.66.18.0/26 et 34.66.114.64/26.
    4. Protocoles et ports : sélectionnez Tout autoriser, ou spécifiez les protocoles et les ports de votre application. Dans la plupart des cas, vous pouvez cocher la case tcp, puis définir 80 et 443 comme ports.
  5. Une fois les valeurs définies, cliquez sur Créer.

Étape 2 : Configurer l'analyse

Après avoir configuré votre pare-feu pour autoriser les adresses IP prévisibles de Web Security Scanner, configurez l'analyse pour utiliser des adresses IP prédéfinies :

  1. Accédez à la page Web Security Scanner dans Cloud Console.
    Accéder à la page Web Security Scanner
  2. Cliquez sur Sélectionner, puis sélectionnez votre projet.
  3. Créez une analyse ou modifiez une analyse existante.
  4. Cochez la case Exécuter les analyses à partir d'un ensemble prédéfini d'adresses IP sources.
  5. Enregistrez l'analyse.

La prochaine fois que l'analyse sera exécutée, elle analysera les applications Compute Engine et GKE publiques situées derrière le pare-feu.

Exclure des URL

Vous pouvez spécifier un ou plusieurs formats d'URL exclus afin d'éviter de tester des sections d'un site lors d'une analyse personnalisée. Web Security Scanner ne nécessite pas de ressources correspondant à l'une des exclusions. Les sections suivantes décrivent le format correspondant à celui utilisé par Web Security Scanner.

Mise en correspondance de formats d'URL

La mise en correspondance des URL exclues repose sur un ensemble d'URL définies par des formats de correspondance. Un format de correspondance est une URL composée de trois parties :

  • scheme : par exemple, http ou *
  • host : par exemple, www.google.com, *.google.com ou *
  • path : par exemple, /*, /foo* ou /foo/bar. *

Voici la syntaxe de base :

<exclude-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>

L'élément * de chaque partie a la fonction suivante :

  • scheme : * correspond à HTTP ou HTTPS.
  • host :
    • * correspond à n'importe quel hôte.
    • *.hostname correspond à l'hôte spécifié et à n'importe lequel de ses sous-domaines.
  • path : * correspond à 0 ou plusieurs caractères.

Correspondances de formats valides

Le tableau suivant fournit des exemples de formats valides :

Format Comportement Exemples d'URL correspondantes
http://*/* Correspond à n'importe quelle URL utilisant le schéma HTTP.

http://www.google.com/

http://example.org/foo/bar.html

http://*/foo* Correspond à n'importe quelle URL utilisant le schéma HTTP, sur n'importe quel hôte, si le chemin commence par /foo.

http://example.com/foo/bar.html

http://www.google.com/foo

https://*.google.com/foo*bar Correspond à n'importe quelle URL utilisant le schéma HTTPS et se trouvant sur un hôte google.com (par exemple, www.google.com, docs.google.com ou google.com), si le chemin commence par /foo et se termine par bar.

http://www.google.com/foo/baz/bar

http://docs.google.com/foobar

http://example.org/foo/bar.html Correspond à l'URL spécifiée. http://example.org/foo/bar.html
http://127.0.0.1/* Correspond à n'importe quelle URL utilisant le schéma HTTP et se trouvant sur l'hôte 127.0.0.1.

http://127.0.0.1/

http://127.0.0.1/foo/bar.html

*://mail.google.com/* Correspond à n'importe quelle URL commençant par http://mail.google.com ou https://mail.google.com.

http://mail.google.com/foo/baz/bar

https://mail.google.com/foobar

Correspondances de formats non valides

Le tableau suivant fournit des exemples de formats non valides :

Format Motif
http://www.google.com L'URL n'inclut pas de chemin.
http://*foo/bar * dans l'hôte ne peut être suivi que par . ou /.
http://foo.*.bar/baz Si * se trouve dans l'hôte, il doit s'agir du premier caractère.
http:/bar L'URL du séparateur de schéma est incorrecte. La valeur "/" doit être "//".
foo://* Le schéma d'URL n'est pas valide.

Étape suivante