Planifiez et exécutez des analyses personnalisées sur une application déployée, à l'aide de Web Security Scanner dans la console Google Cloud . Web Security Scanner permet 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. Web Security Scanner n'est compatible qu'avec les sites Web utilisant IPv4. Les sites Web utilisant IPv6 ne sont pas analysés.
- Vous devez avoir activé Security Command Center.
Avant de procéder à l'analyse, effectuez un audit minutieux de votre application afin de détecter toute caractéristique ou fonctionnalité 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 et clique sur des liens, entre 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, en produisant 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 pour une page d'inscription par e-mail.
Pour obtenir des conseils sur la manière de minimiser les risques, consultez les bonnes pratiques. Cela vous aidera à é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 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 : Accorder des rôles IAM
Pour exécuter une analyse Web Security Scanner, vous devez disposer de l'un des rôles Identity and Access Management (IAM) suivants pour le projet que vous souhaitez analyser :
- Éditeur
- Propriétaire
Pour ajouter l'un de ces rôles :
Accédez à la page IAM et administration de la consoleGoogle Cloud .
Cliquez sur la liste déroulante Sélecteur de projet.
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.
Sur la page IAM, à côté de votre nom d'utilisateur, cliquez sur Modifier.
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
Une fois les rôles ajoutés, cliquez sur Enregistrer.
En savoir plus sur Web Security Scanner
Étape 3 : Exécuter 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 :
Accédez à la page Web Security Scanner dans la console Google Cloud .
Sélectionnez le projet contenant l'application déployée que vous souhaitez analyser.
Pour configurer une nouvelle analyse, cliquez sur Nouvelle analyse.
Sur la page Créer une analyse qui se charge, définissez les valeurs suivantes :
- Sous URL de démarrage, saisissez l'URL de l'application à analyser.
- Sous Programmation, sélectionnez Chaque semaine.
- Sous Prochaine analyse le, 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é Security Command Center, les résultats de l'analyse s'affichent sur la page Résultats de la console Google Cloud .
Pour cette première analyse, utilisez l'analyse par défaut sans changer aucune valeur sur la page Créer une analyse. Pour en savoir plus sur les paramètres d'analyse, consultez Analyser une application.
Pour créer l'analyse, cliquez sur Enregistrer.
Sur la page Web Security Scanner, cliquez sur le nom de l'analyse pour charger sa page de présentation, puis cliquez sur Exécuter l'analyse.
L'analyse est mise en file d'attente. Elle sera exécutée ultérieurement. Plusieurs heures peuvent s'écouler avant l'exécution de l'analyse.
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é Security Command Center, 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 mené à bien une analyse basique à l'aide de Web Security Scanner. Si vous avez analysé votre propre application, découvrez comment vous pouvez 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 d'encourir des frais App Engine pour l'application.
Étape 4 : Effectuer un nettoyage
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- 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 de test qui n'a pas accès à des données sensibles ni à des opérations potentiellement destructrices. Créez un compte de test qui peut se connecter à votre application. Notez les identifiants de connexion que vous devrez fournir pour l'authentification 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éer une analyse
Accédez à la page Web Security Scanner dans la console Google Cloud .
Cliquez sur Sélectionner, puis choisissez un projet sur lequel une application App Engine, Compute Engine ou GKE est déjà déployée.
Pour afficher le formulaire de la nouvelle analyse, cliquez sur Créer une analyse ou sur Nouvelle analyse.
Pour ajouter des valeurs au formulaire de la nouvelle 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 présente :
- 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.
En de tels cas, spécifiez des URL de démarrage supplémentaires afin d'augmenter la couverture de l'analyse.
URL exclues Dans une optique de réduction de la complexité, les exclusions sont définies à l'aide d'un proto-langage simplifié utilisant un ou plusieurs caractères génériques *. Elles ne nécessitent pas l'utilisation d'expressions régulières valides. 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 Gmail et 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 :
- Accédez à la page IAP dans la console Google Cloud .
- Sélectionnez le projet que vous souhaitez utiliser avec Web Security Scanner.
- Sélectionnez la ressource d'application à analyser, puis cliquez sur Ajouter un compte principal dans le panneau d'informations.
- Dans la zone Nouveaux comptes principaux du panneau Ajouter des comptes principaux, indiquez le compte de service Web Security Scanner au format
service-project-number@gcp-sa-websecurityscanner.iam.gserviceaccount.com. - Dans la liste déroulante Sélectionner un rôle, sélectionnez Cloud IAP > Utilisateur de l'application Web sécurisée par IAP.
- 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 :
- Accédez à la page IAP dans la console Google Cloud .
- Sélectionnez le projet que vous souhaitez utiliser avec Web Security Scanner.
- Dans le menu à développer, sélectionnez Modifier le client OAuth.
- Dans la fenêtre ID client de l'application Web qui s'affiche, copiez l'ID client.
- Accédez à la page Web Security Scanner dans la console Google Cloud .
- Sous Authentification, sélectionnez Identity-Aware Proxy alpha.
- 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 de compte Google. Spécifiez l'URL du formulaire de connexion, le nom d'utilisateur et le mot de passe. Ces identifiants permettent de se connecter à votre application et de l'analyser.
Web Security Scanner tente une approche heuristique pour se connecter à votre application et l'analyser. Plus précisément, cette méthode consiste à rechercher un formulaire de connexion à deux champs (un champ
usernameet un champpassword). L'action de connexion doit générer un cookie d'authentification pour que l'outil d'analyse puisse poursuivre son analyse.Problèmes courants pouvant entraîner l'échec d'une connexion personnalisée :
- 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 d'un champ
usernameet d'un champpasswordsimples). - Ne pas enregistrer un cookie d'authentification en cas de réussite de la connexion.
- Dans certains cas, l'outil d'analyse est refusé par des contre-mesures destinées à la protection contre les robots, les attaques DDOS et d'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 vous assurer que les versions futures de votre application seront bien testées. De plus, nous publions parfois de nouveaux outils d'analyse qui identifient de nouveaux types de bugs. Ainsi, en exécutant des analyses de façon planifiée, vous bénéficiez d'une plus grande couverture sans effort manuel supplémentaire. Exécuter les analyses à partir d'un ensemble prédéfini d'adresses IP sources (Preview) 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 cela 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 Configurer le pare-feu plus loin sur cette page. Options d'exportation Sélectionnez cette option pour exporter automatiquement les configurations et résultats d'analyse vers Security Command Center. Ignorer les erreurs d'état HTTP Cette option permet de contrôler si un nombre élevé d'erreurs d'état HTTP (par exemple, 400 Bad Request) 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 étant en échec. 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 pour chaque exécution. Pour rendre les adresses IP Web Security Scanner prévisibles, suivez la procédure Activer les analyses à partir d'adresses IP statiques plus loin sur cette page.
Étape 3 : Exécuter une analyse
Pour exécuter une analyse :
- Connectez-vous au compte de test que vous avez utilisé pour créer l'analyse.
Accédez à la page Web Security Scanner dans la console Google Cloud .
Cliquez sur Sélectionner, puis choisissez le projet dans lequel vous avez créé l'analyse.
Sous Configurations d'analyse, cliquez sur le nom de l'analyse que vous souhaitez exécuter.
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 caractéristiques, telles que les suivantes :
- Complexité du site
- Nombre d'éléments pouvant être actionnés 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 "Détails de l'analyse" dans la console Google Cloud . Pour afficher les résultats d'analyse :
- Connectez-vous au compte de test que vous avez utilisé pour créer l'analyse.
Accédez à la page Web Security Scanner dans la console Google Cloud .
Cliquez sur Sélectionner, puis choisissez le projet contenant l'analyse que vous souhaitez examiner.
Sous Configurations d'analyse, cliquez sur le nom de l'analyse que vous souhaitez examiner.
La page "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 incluent les éléments suivants :
- L'onglet Résultats présente la liste des failles détectées lors de 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, en 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 :
- Connectez-vous au compte de test que vous avez utilisé pour créer l'analyse.
Accédez à la page Web Security Scanner dans la console Google Cloud .
Cliquez sur Sélectionner, puis choisissez le projet contenant l'analyse que vous souhaitez modifier.
Sous Configurations d'analyse, cliquez sur le nom de l'analyse que vous souhaitez modifier.
Sur la page "Détails de l'analyse" qui s'affiche, cliquez sur Modifier.
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écutera lors de la prochaine session programmée. Vous pouvez également l'exécuter manuellement pour obtenir des résultats mis à jour.
Supprimer une analyse personnalisée
Pour supprimer une ou plusieurs analyses personnalisées :
- Connectez-vous au compte de test que vous avez utilisé pour créer l'analyse.
Accédez à la page Web Security Scanner dans la console Google Cloud .
Cliquez sur Sélectionner, puis choisissez le projet contenant l'analyse que vous souhaitez modifier.
Sous Configurations d'analyse, cochez la case correspondant à chaque analyse à supprimer.
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 Web Security Scanner effectuées à 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 depuis les adresses 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 disponible actuellement pour les applications App Engine.
- Une analyse créée sans authentification ou avec l'authentification de compte Google. Cette fonctionnalité n'est pas disponible actuellement pour les analyses utilisant une authentification autre que Google.
Étape 1 : Configurer le pare-feu
Accédez à la page des règles de pare-feu dans la console Google Cloud .
Cliquez sur Sélectionner, puis sélectionnez votre projet.
Sur la page Règles de pare-feu qui s'affiche, cliquez sur Créer une règle de pare-feu.
Sur la page Créer une règle de pare-feu, définissez les valeurs suivantes :
- Nom : saisissez
web-security-scannerou un nom similaire. - Priorité : sélectionnez une priorité plus élevée (valeur plus faible) que toutes les règles qui refusent le trafic sortant vers votre application.
- Plages d'adresses IP sources : indiquez
34.66.18.0/26et34.66.114.64/26. - Protocoles et ports : sélectionnez Tout autoriser, ou spécifiez les protocoles et les ports appropriés pour votre application. Vous pouvez généralement sélectionner la case tcp, puis saisir
80et443pour les ports.
- Nom : saisissez
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 :
Accédez à la page Web Security Scanner dans la console Google Cloud .
Cliquez sur Sélectionner, puis sélectionnez votre projet.
Créez une analyse ou modifiez une analyse existante.
Cochez la case Exécuter les analyses à partir d'un ensemble prédéfini d'adresses IP sources.
Enregistrez l'analyse.
La prochaine fois que l'analyse sera exécutée, elle portera sur 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,httpou*host: par exemple,www.google.comou*.google.comou*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.*.hostnamecorrespond à 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
schemen'est pas spécifié, la valeur par défaut est*://. - Le segment
hostdoit toujours être spécifié. Si le segment
pathn'est pas spécifié, la valeur par défaut est :/*, si les segmentsqueryetfragmentne sont pas spécifiés. Cette valeur correspond à n'importe quel élémentpathou à aucun élémentpath./, ou un élémentpathvide, si le segmentqueryoufragmentest spécifié.
Si le segment
queryn'est pas spécifié, la valeur par défaut est :?*, si le segmentfragmentn'est pas spécifié. Cette valeur correspond à n'importe quel élémentqueryou à aucun élémentquery.?, ou un élémentqueryvide, si le segmentfragmentest spécifié.
Si le segment
fragmentn'est pas spécifié, la valeur par défaut est#*, ce qui correspond à n'importe quel élémentfragmentou à aucun élémentfragment.
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://*/foo* |
Correspond à n'importe quelle URL utilisant le schéma HTTP, sur n'importe quel hôte, si le chemin commence par /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://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. |
|
*://mail.google.com/* |
Correspond à n'importe quelle URL commençant par http://mail.google.com ou https://mail.google.com. |
|
*://*/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 |
Le séparateur de schéma de l'URL n'est pas au bon format. "/" doit être remplacée par "//".
|
foo://* |
Le schéma d'URL n'est pas valide. |
Étape suivante
- Découvrez comment Corriger les problèmes identifiés par Web Security Scanner.