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, vérifiez attentivement que votre application ne comporte pas de fonctionnalités susceptibles affecter les données, les utilisateurs ou les systèmes en dehors du champ d'application choisi pour votre 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'application déployée ou si vous si vous souhaitez essayer Web Security Scanner avec une application test, déployez l'application application 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 :
Accédez à la page IAM et administration de la console Google 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 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 :
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 Toutes les semaines.
- 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 service Security Command Center source de sécurité, résultats de l'analyse peuvent être affichées 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.
Pour créer l'analyse, cliquez sur Enregistrer.
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.
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 détecté:
Si vous avez activé Web Security Scanner en tant que Web Security Scanner source de sécurité, les résultats d'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 scanné votre votre propre application, découvrez comment personnaliser l'analyse dans le analyse d'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
- 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 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
Accédez à la page Web Security Scanner dans la console Google Cloud.
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.
Pour afficher le nouveau formulaire d'analyse, cliquez sur Créer une analyse ou sur Nouvelle analyse.
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 si un site présente:
- Nombreuses pages
- Îles 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 davantage d'URL de démarrage pour augmenter la couverture de l'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 modèles valides, consultez 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 client Google Workspace, vous pouvez créer des comptes de test dans votre domaine,
test-account@yourdomain.com
Dans Web Security Scanner, les comptes fonctionnent comme les comptes Gmail. L'authentification à deux facteurs n'est pas disponible.Google applique une règle concernant les 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 la 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 que vous souhaitez analyser, puis cliquez sur Ajoutez un compte principal dans le panneau d'informations.
-
Dans la zone Nouveaux comptes principaux de l'onglet Ajouter des comptes principaux,
saisissez le compte de service Web Security Scanner
forme de
service-project-number@gcp-sa-websecurityscanner.iam.gserviceaccount.com
- Dans la liste déroulante Sélectionnez 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, procédez comme suit :
- Accédez au la page IAP de 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 pour 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 le champ ID client OAuth2, collez l'ID client OAuth que que vous avez copié, puis cliquez sur Enregistrer.
Authentification > Compte autre que Google Sélectionnez cette option si vous avez créé votre propre authentification et que vous n'utilisez pas les services de compte Google. Spécifiez le paramètre l'URL du formulaire de connexion, le nom d'utilisateur et le mot de passe. Ces identifiants sont utilisés pour se connecter à votre application et 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 champpassword
. 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
-
L'utilisation d'un formulaire de connexion compliqué, par exemple, un formulaire qui contient plus
qu'un seul élément
username
etpassword
. - 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 votre règles de pare-feu pour autoriser le trafic Web Security Scanner, consultez Configurer le pare-feu ultérieurement sur cette page. Options d'exportation Sélectionnez cette option pour exporter automatiquement les configurations d'analyse les résultats de l'analyse à 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 cette option est sélectionnée, 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. 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 :
- 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 sélectionnez le projet dans lequel vous avez créé l'analyse.
Sous Analyser les configurations, 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 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 :
- 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 sélectionnez le projet contenant l'analyse que que vous souhaitez examiner.
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 un d'analyse est en cours, l'onglet Results (Résultats) affiche l'avancement actuel pour cent. 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)
Vous trouverez plus d'informations sur l'analyse dans le projet page des journaux.
Modifier une analyse personnalisée
Pour modifier une analyse personnalisée, procédez comme suit :
- 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 sélectionnez le projet contenant l'analyse que à modifier.
Sous Configurations d'analyse, cliquez sur le nom de l'analyse que vous souhaitez modifier.
Sur la page des détails d'analyse qui s'affiche, cliquez sur Modifier.
Sur la page Modification de [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 :
- 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 sélectionnez le projet contenant l'analyse que à modifier.
Sous Configurations d'analyse, cochez la case correspondant à l'analyse ou aux analyses à 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 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 en version preview, et l'adresse IP de Web Security Scanner adresses peuvent changer dans une prochaine version.
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
Accédez à la page "Règles de pare-feu" de Google Cloud Console.
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-scanner
ou 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 : saisissez
34.66.18.0/26
et34.66.114.64/26
. - Protocoles et ports : sélectionnez Tout autoriser, ou spécifiez les protocoles et les ports de votre application. En général, vous pouvez sélectionner le tcp
puis saisissez
80
et443
pour 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 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é, les valeurs par défaut sont les suivantes:/*
, si les segmentsquery
etfragment
ne sont pas spécifiés. Cette valeur correspond à n'importe quel élémentpath
ou à aucun élémentpath
./
, ou un élémentpath
vide, si le segmentquery
oufragment
est spécifié.
Si le segment
query
n'est pas spécifié, les valeurs par défaut sont les suivantes:?*
, si le segmentfragment
n'est pas spécifié. Cette valeur correspond à un élémentquery
ou à aucun élémentquery
.?
, ou un élémentquery
vide, si la valeurfragment
est spécifiée.
Si le segment
fragment
n'est pas spécifié, la valeur par défaut est#*
, ce qui correspond à unfragment
ou à aucunfragment
.
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 d'accès commence
avec /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
- Découvrez comment corriger les résultats de Web Security Scanner.