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.

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é.

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 dans Security Command Center pour créer et exécuter des analyses personnalisées.

Si Security Command Center est actif, vous pouvez activer Web Security Scanner dans la console Google Cloud, sur la page Settings (Paramètres) de Security Command Center.

Étape 1: Déployer une application 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 (GKE) ou App Engine déjà déployée. Si vous n'avez pas déployé d'application ou si vous souhaitez tester Web Security Scanner avec une application de test, déployez l'application de test App Engine. Utilisez le langage de votre choix :

Étape 2: Attribuez 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 la console Google Cloud.

    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écutez une analyse

Lorsque vous configurez une analyse, elle est placée 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 la console Google Cloud.

    Accéder à 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 Security Command Center, les résultats d'analyse peuvent s'afficher dans la console Google Cloud.

    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 une fois l'analyse terminée. 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 la console Google Cloud.

    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. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

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 qui peut se connecter à votre application. Notez les identifiants de connexion à fournir lors de la création d'une analyse. Les identifiants vous permettent d'utiliser le compte de test pour analyser des données.

Étape 2 : Créez une analyse

  1. Accédez à la page Web Security Scanner dans la console Google Cloud.

    Accéder à 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 de base 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:

    • Plusieurs pages
    • î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 ce 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 en savoir plus et obtenir 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 l'utiliser pour analyser votre produit. Si vous êtes un client Google Workspace, vous pouvez créer des comptes de test dans 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 accorder l'accès au compte de service Web Security Scanner:

    1. Accédez à la page IAP dans la console Google Cloud.
    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 compte principal dans le panneau d'informations.
    4. Dans la zone Nouveaux comptes principaux du panneau Ajouter des comptes principaux, 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 la console Google Cloud.
    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 la console Google Cloud.
    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 des heuristiques 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 est 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.

    Planification 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.
    Exécuter des analyses à partir d'un ensemble prédéfini d'adresses IP sources (Aperçu) Sélectionnez cette option pour limiter le trafic d'analyse à un ensemble prédéfini d'adresses IP. Cela vous permet d'autoriser l'outil d'analyse à accéder aux applications derrière un pare-feu, mais peut également limiter le champ d'application de l'analyse. Pour modifier vos règles de pare-feu afin d'autoriser le trafic Web Security Scanner, consultez la section Configurer le pare-feu plus loin sur cette page.
    Options d'exportation Sélectionnez cette option pour exporter automatiquement les configurations d'analyse et analyser les résultats vers Security Command Center.
    Ignorer les erreurs d'état HTTP Cette option détermine si un nombre élevé d'erreurs d'état HTTP, par exemple **400 Bad Request** (404 Requête incorrecte) lors d'une analyse, entraîne l'échec de l'analyse. Si vous sélectionnez cette option, les erreurs d'état sont ignorées. Si l'option n'est pas sélectionnée et que le pourcentage d'erreurs d'état dépasse un seuil prédéterminé, l'analyse est signalée comme un échec.
  5. Lorsque vous avez terminé d'ajouter des valeurs, cliquez sur Enregistrer. Vous pouvez maintenant exécuter la nouvelle analyse.

Par défaut, Web Security Scanner utilise des adresses IP attribuées de manière aléatoire à chaque exécution. 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 la console Google Cloud.

    Accéder à 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 Google 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 la console Google Cloud.

    Accéder à 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 la console Google Cloud.

    Accéder à 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 la console Google Cloud.

    Accéder à 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 publiques. Cette fonctionnalité est actuellement en version Preview. 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 pas compatible avec les applications App Engine.
  • Une analyse créée sans authentification ou avec l'authentification de compte Google. Cette fonctionnalité n'est pas compatible avec les analyses utilisant une authentification autre que Google.

Étape 1 : Configurer le pare-feu

  1. Accédez à la page "Règles de pare-feu" de Google Cloud Console.

    Accéder aux 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. Vous pouvez généralement sélectionner la case tcp, puis saisir 80 et 443 pour les 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 la console Google Cloud.

    Accéder à 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 jusqu'à 100 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 comportant cinq segments :

  • scheme : par exemple, http ou *
  • host : par exemple, www.google.com, *.google.com ou *
  • path : par exemple, /*, /foo* ou /foo/bar. *
  • query : par exemple, ?*, ?*foo=bar*
  • fragment : par exemple, #*, #access

Voici la syntaxe de base :

<exclude-pattern> := <scheme>://<host><path><query><fragment>
<scheme> := '*' | 'http' | 'https'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars except '?' or '#'>
<query> := '?' <any chars except '#'>
<fragment> := '#' <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.

Tous les segments ne sont pas obligatoires dans un format exclu.

  • Si le segment scheme n'est pas spécifié, la valeur par défaut est *://.
  • Le segment host doit toujours être spécifié.
  • Si le segment path n'est pas spécifié, la valeur par défaut est:

    • /*, si les segments query et fragment ne sont pas spécifiés. Cette valeur correspond à n'importe quel élément path ou à aucun élément path.
    • /, ou un élément path vide, si le segment query ou fragment est spécifié.
  • Si le segment query n'est pas spécifié, la valeur par défaut est:

    • ?*, si le segment fragment n'est pas spécifié. Cette valeur correspond à un élément query ou à aucun élément query.
    • ?, ou un élément query vide, si la valeur fragment est spécifiée.
  • Si le segment fragment n'est pas spécifié, la valeur par défaut est #*, ce qui correspond à un fragment ou à aucun fragment.

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

*://*/foo*?*bar=baz* Correspond à n'importe quelle URL dont le chemin d'accès commence par /foo et comporte le paramètre de requête bar=baz. https://www.google.com/foo/example?bar=baz
google.com/app#*open* Correspond à n'importe quelle URL avec un hôte google.com dont le chemin commence par /app et comporte le fragment open. https://www.google.com/app/example#open

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 doit être suivi d'un élément . 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