Suivez ces instructions pour créer des stratégies de sécurité Google Cloud Armor afin de filtrer le trafic entrant vers les destinations suivantes:
- Équilibreur de charge d'application externe mondial
- Équilibreur de charge d'application classique
- Équilibreur de charge d'application externe régional
- Équilibreur de charge d'application interne régional
- Équilibreur de charge réseau proxy externe
- Équilibreur de charge réseau proxy classique
- Équilibreur de charge réseau passthrough externe
- Transfert de protocole
- VM dotées d'adresses IP publiques
Pour obtenir des informations conceptuelles sur les règles de sécurité, consultez la présentation des stratégies de sécurité Google Cloud Armor.
Avant de commencer
Avant de configurer des règles de sécurité, procédez comme suit :
Assurez-vous de bien connaître les concepts d'équilibreur de charge d'application externe.
Examinez vos services de backend existants pour déterminer ceux qui ne sont pas déjà associés à une stratégie de sécurité. Ces services de backend et leurs backends associés ne sont pas protégés par Google Cloud Armor. Pour ajouter la protection fournie par Google Cloud Armor, suivez les instructions du présent document afin d'associer une stratégie de sécurité nouvellement créée ou existante au service de backend.
Configurer les autorisations IAM pour les stratégies de sécurité Google Cloud Armor
Les opérations suivantes nécessitent le rôle IAM Administrateur de sécurité Identity and Access Management (roles/compute.securityAdmin
):
- Configurer, modifier, mettre à jour et supprimer une stratégie de sécurité Google Cloud Armor
- À l'aide des méthodes d'API suivantes :
SecurityPolicies insert
SecurityPolicies delete
SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
Un utilisateur disposant du rôle Administrateur de réseau Compute (roles/compute.networkAdmin
) peut effectuer les opérations suivantes:
- Définir une stratégie de sécurité Google Cloud Armor pour un service de backend
- À l'aide des méthodes d'API suivantes :
BackendServices setSecurityPolicy
BackendServices list
(gcloud
uniquement)
Les utilisateurs disposant du rôle Administrateur de sécurité (roles/iam.securityAdmin
) et du rôle Administrateur de réseau Compute peuvent afficher les stratégies de sécurité Google Cloud Armor à l'aide des méthodes d'API SecurityPolicies
get
, list
et getRule
.
Configurer les autorisations IAM pour les rôles personnalisés
Le tableau suivant répertorie les autorisations standards des rôles IAM, ainsi que les méthodes d'API associées.
Autorisation IAM | Méthodes d'API |
---|---|
compute.securityPolicies.create |
SecurityPolicies insert |
compute.securityPolicies.delete |
SecurityPolicies delete |
compute.securityPolicies.get |
SecurityPolicies get SecurityPolicies getRule |
compute.securityPolicies.list |
SecurityPolicies list |
compute.securityPolicies.use |
BackendServices setSecurityPolicy |
compute.securityPolicies.update |
SecurityPolicies patch SecurityPolicies addRule SecurityPolicies patchRule SecurityPolicies removeRule |
compute.backendServices.setSecurityPolicy |
BackendServices setSecurityPolicy |
Créer des règles de sécurité
Vous pouvez configurer des stratégies, des règles et des expressions de sécurité Google Cloud Armor en utilisant Google Cloud Console, Google Cloud CLI ou l'API REST. Lorsque vous utilisez gcloud CLI pour créer des stratégies de sécurité, utilisez l'option --type
pour spécifier si la stratégie de sécurité est une stratégie de sécurité backend ou une stratégie de sécurité Edge.
Si vous ne connaissez pas la configuration des règles de sécurité, nous vous recommandons de consulter des exemples de règles de sécurité.
Exemples d'expressions
Vous trouverez ci-dessous des exemples d'expressions. Pour en savoir plus sur les expressions, consultez la documentation de référence sur le langage des règles personnalisées Google Cloud Armor.
Si vous configurez une règle ou une expression qui utilise des codes de pays ou de région ISO 3166-1 alpha-2, Google Cloud Armor traite chaque code indépendamment. Les règles et expressions Google Cloud Armor utilisent explicitement ces codes de région pour autoriser ou refuser les requêtes.
L'expression suivante met en correspondance les requêtes provenant de l'adresse IP
1.2.3.4
et contient la chaîneexample
dans l'en-tête user-agent :inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
Vous pouvez également faire correspondre la plage d'adresses IP d'un en-tête d'adresse IP client personnalisé à l'aide de l'attribut
origin.user_ip
:inIpRange(origin.user_ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
L'expression suivante met en correspondance les requêtes qui comportent un cookie ayant une valeur spécifique :
has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
L'expression suivante met en correspondance les requêtes provenant de la région
AU
:origin.region_code == 'AU'
L'expression suivante met en correspondance les requêtes provenant de la région
AU
qui ne sont pas comprises dans la plage d'adresses IP spécifiée :origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
L'expression suivante met en correspondance les requêtes qui ont un chemin d'accès de variable numéroté vers un fichier spécifique si l'URI correspond à une expression régulière :
request.path.matches('/path/[0-9]+/target_file.html')
L'expression suivante met en correspondance les requêtes si la valeur décodée en base64 de l'en-tête
user-id
contient une valeur spécifique :has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
L'expression suivante utilise un ensemble d'expressions préconfiguré pour mettre en correspondance les attaques SQLi :
evaluatePreconfiguredExpr('sqli-stable')
Gérer les règles de sécurité
Utilisez les sections suivantes pour lister les stratégies de sécurité de votre projet, les mettre à jour, les supprimer ou les tester.
Obtenir la liste des règles de sécurité
Suivez ces instructions pour répertorier toutes les stratégies de sécurité Google Cloud Armor dans le projet actuel ou dans un projet que vous spécifiez.
Console
Dans la console Google Cloud, accédez à la page Règles Google Cloud Armor.
Pour afficher une règle particulière, cliquez sur son nom dans la liste des règles à la page Règles de sécurité.
gcloud
gcloud compute security-policies list
Exemple :
gcloud compute security-policies list
NAME my-policy
Pour en savoir plus, consultez les sections sur gcloud compute security-policies list
Mettre à jour les stratégies de sécurité
Utilisez ces instructions pour mettre à jour une stratégie de sécurité Google Cloud Armor. Par exemple, vous pouvez modifier la description de la stratégie, le comportement de la règle par défaut, le service de backend cible ou ajouter de nouvelles règles.
Console
Dans la console Google Cloud, accédez à la page Règles Google Cloud Armor.
Pour mettre à jour une règle particulière dans la liste des règles à la page Règles de sécurité, cliquez sur
Menu pour afficher la règle que vous souhaitez mettre à jour.- Pour mettre à jour la description de la stratégie de l'action de règle par défaut, sélectionnez Modifier, apportez les modifications souhaitées, puis cliquez sur Mettre à jour.
- Pour ajouter une règle, sélectionnez Ajouter une règle, puis suivez les instructions de la section Ajouter des règles à une stratégie de sécurité.
- Pour modifier le service de backend cible de la stratégie, sélectionnez Appliquer la règle à la cible, cliquez sur Ajouter une cible, sélectionnez une cible, puis cliquez sur Ajouter.
gcloud
Pour mettre à jour une stratégie de sécurité, suivez les instructions Google Cloud CLI suivantes :
- Pour mettre à jour une règle dans une stratégie de sécurité, consultez la section Mettre à jour une seule règle dans une stratégie de sécurité.
- Pour ajouter une règle à une stratégie de sécurité, consultez la section Ajouter des règles à une stratégie de sécurité.
- Pour supprimer une règle d'une stratégie de sécurité, consultez la section Supprimer des règles d'une stratégie de sécurité.
- Pour mettre à jour plusieurs règles lors d'une seule mise à jour (mise à jour atomique), consultez la section Mettre à jour de façon atomique plusieurs règles dans une stratégie de sécurité.
- Pour mettre à jour les champs non liés aux règles dans une stratégie de sécurité (tels que le champ de description), consultez les sections Exporter des règles de sécurité et Importer des règles de sécurité.
Supprimer des règles de sécurité
Suivez ces instructions pour supprimer une stratégie de sécurité Google Cloud Armor. Vous devez supprimer tous les services de backend de la stratégie avant de pouvoir la supprimer.
Console
Dans la console Google Cloud, accédez à la page Règles Google Cloud Armor.
Sur la page Règles de sécurité, cochez la case située à côté du nom de la règle de sécurité que vous souhaitez supprimer.
Dans l'angle supérieur droit de la page, cliquez sur
Supprimer.
gcloud
Utilisez gcloud compute security-policies delete NAME
.
Remplacez NAME
par le nom de la règle de sécurité :
gcloud compute security-policies delete NAME
Tester les stratégies de sécurité
Nous vous recommandons de déployer toutes les nouvelles règles en mode aperçu, puis d'examiner vos journaux de requêtes pour vérifier que les stratégies et les règles se comportent comme prévu.
Gérer les règles de stratégie de sécurité
Utilisez les sections suivantes pour lister les règles de stratégie de sécurité, en ajouter, en mettre à jour ou en supprimer.
Répertorier des règles dans une stratégie de sécurité
Suivez ces instructions pour répertorier les règles d'une stratégie de sécurité Google Cloud Armor.
Console
Dans la console Google Cloud, accédez à la page Règles Google Cloud Armor.
Sur la page Règles de sécurité, cliquez sur le nom de la règle de sécurité. La page Détails de la stratégie s'affiche, et les règles de la stratégie sont répertoriées dans l'onglet Règles au milieu de la page.
gcloud
Utilisez la commande gcloud
suivante pour répertorier toutes les règles d'une seule stratégie de sécurité ainsi qu'une description de cette stratégie :
gcloud compute security-policies describe NAME \
Utilisez la commande gcloud
suivante pour décrire une règle avec la priorité spécifiée dans la stratégie de sécurité spécifiée :
gcloud compute security-policies rules describe PRIORITY \ --security-policy POLICY_NAME
Par exemple, la commande suivante décrit la règle ayant la priorité 1000 dans la stratégie de sécurité my-policy
:
gcloud compute security-policies rules describe 1000 \ --security-policy my-policy
Sortie :
action: deny(403) description: block traffic from 192.0.2.0/24 and 198.51.100.0/24 kind: compute#securityPolicyRule match: srcIpRanges: - '192.0.2.0/24' - '198.51.100.0/24' preview: false priority: 1000
Ajouter des règles à une stratégie de sécurité
Suivez ces instructions pour ajouter des règles à une stratégie de sécurité Google Cloud Armor.
Console
Dans la console Google Cloud, accédez à la page Règles Google Cloud Armor.
Sur la page Règles de sécurité, cliquez sur le nom de la règle de sécurité. La page Détails des règles s'affiche.
Au milieu de la page, cliquez sur l'onglet Règles.
Cliquez sur Add rule (Ajouter une règle).
Facultatif : saisissez une description de la règle.
Sélectionner le mode :
- Mode de base : autorisez ou refusez le trafic en fonction d'adresses IP ou de plages d'adresses IP.
- Mode avancé : autorisez ou refusez le trafic en fonction d'expressions de règle.
Dans le champ Correspondance, spécifiez les conditions dans lesquelles la règle s'applique :
- Mode de base : saisissez une (1) à cinq (5) plages d'adresses IP à mettre en correspondance dans la règle.
Mode avancé : saisissez une expression ou des sous-expressions avec lesquelles évaluer les requêtes entrantes. Pour savoir comment écrire les expressions et lire les exemples suivants, consultez la documentation de référence sur le langage des règles personnalisées.
L'expression suivante met en correspondance les requêtes provenant de l'adresse IP
1.2.3.4
et contient la chaîneexample
dans l'en-tête user-agent :inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
L'expression suivante met en correspondance les requêtes qui comportent un cookie ayant une valeur spécifique :
has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
L'expression suivante met en correspondance les requêtes provenant de la région
AU
:origin.region_code == 'AU'
L'expression suivante met en correspondance les requêtes provenant de la région
AU
qui ne sont pas comprises dans la plage d'adresses IP spécifiée :origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
L'expression suivante met en correspondance les requêtes si l'URI correspond à une expression régulière :
request.path.matches('/example_path/')
L'expression suivante met en correspondance les requêtes si la valeur décodée en base64 de l'en-tête
user-id
contient une valeur spécifique :has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
L'expression suivante utilise un ensemble d'expressions préconfiguré pour mettre en correspondance les attaques SQLi :
evaluatePreconfiguredExpr('sqli-stable')
Dans la section Action, sélectionnez Autoriser ou Refuser.
Si vous configurez une règle de refus, sélectionnez un message État de refus.
Si vous souhaitez activer le mode Aperçu pour la règle, cochez la case Activer.
Dans le champ Priorité, saisissez un entier positif.
Cliquez sur Ajouter.
gcloud
Exécutez la commande gcloud compute security-policies rules create PRIORITY
.
Remplacez PRIORITY
par la priorité de la règle dans la stratégie :
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --description DESCRIPTION \ --src-ip-ranges IP_RANGES | --expression EXPRESSION \ --action=[ allow | deny-403 | deny-404 | deny-502 ] \ --preview
Par exemple, la commande suivante ajoute une règle pour bloquer le trafic provenant des plages d'adresses IP 192.0.2.0/24 et 198.51.100.0/24. La règle a la priorité 1000, et il s'agit d'une règle d'une stratégie appelée my-policy
:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --description "block traffic from 192.0.2.0/24 and 198.51.100.0/24" \ --src-ip-ranges "192.0.2.0/24","198.51.100.0/24" \ --action "deny-403"
Utilisez l'option --expression
pour spécifier une condition dans la documentation de référence sur le langage de règles personnalisées.
La commande suivante ajoute une règle pour autoriser le trafic provenant de l'adresse IP 1.2.3.4
et contient la chaîne example
dans l'en-tête user-agent :
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')" \ --action allow \ --description "Block User-Agent 'example'"
La commande suivante ajoute une règle pour bloquer les requêtes si leur cookie contient une valeur spécifique :
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "has(request.headers['cookie']) && request.headers['cookie'].contains('80=BLAH')" \ --action deny-403 \ --description "Cookie Block"
La commande suivante ajoute une règle pour bloquer les requêtes provenant de la région AU
:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "origin.region_code == 'AU'" \ --action deny-403 \ --description "AU block"
La commande suivante ajoute une règle pour bloquer les requêtes de la région AU
qui ne se trouvent pas dans la plage d'adresses IP spécifiée :
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')" \ --action deny-403 \ --description "country and IP block"
La commande suivante ajoute une règle pour bloquer les requêtes dont l'URI correspond à une expression régulière :
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "request.path.matches('/example_path/')" \ --action deny-502 \ --description "regex block"
La commande suivante ajoute une règle pour bloquer les requêtes si la valeur décodée en base64 de l'en-tête user-id
contient une valeur spécifique :
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')" \ --action deny-403 \ --description "country and IP block"
La commande suivante ajoute une règle qui utilise un ensemble d'expressions préconfiguré pour atténuer les attaques SQLi :
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "evaluatePreconfiguredExpr('sqli-stable')" \ --action deny-403
Mettre à jour une seule règle dans une stratégie de sécurité
Suivez ces instructions pour mettre à jour une seule règle dans une stratégie de sécurité Google Cloud Armor. Pour mettre à jour de façon atomique plusieurs règles, consultez la section Mettre à jour de façon atomique plusieurs règles dans une stratégie de sécurité.
Console
Dans la console Google Cloud, accédez à la page Règles Google Cloud Armor.
Sur la page Règles de sécurité, cliquez sur le nom de la règle de sécurité. La page Détails des règles s'affiche.
Au milieu de la page, cliquez sur l'onglet Règles.
À côté de la règle que vous souhaitez mettre à jour, cliquez sur
Modifier. La page Modifier la règle s'affiche.Apportez les modifications souhaitées, puis cliquez sur Mettre à jour.
gcloud
Utilisez cette commande pour mettre à jour une règle avec la priorité spécifiée dans une stratégie de sécurité désignée. Vous ne pouvez mettre à jour qu'une seule règle de sécurité à la fois à l'aide de cette commande :
gcloud compute security-policies rules update PRIORITY [ \ --security-policy POLICY_NAME \ --description DESCRIPTION \ --src-ip-ranges IP_RANGES | --expression EXPRESSION \ --action=[ allow | deny-403 | deny-404 | deny-502 ] \ --preview ]
Par exemple, la commande suivante met à jour une règle ayant la priorité 1111 pour autoriser le trafic provenant de la plage d'adresses IP 192.0.2.0/24 :
gcloud compute security-policies rules update 1111 \ --security-policy my-policy \ --description "allow traffic from 192.0.2.0/24" \ --src-ip-ranges "192.0.2.0/24" \ --action "allow"
Pour en savoir plus sur cette commande, consultez la page sur gcloud compute security-policies rules update
.
Pour mettre à jour la priorité d'une règle, vous devez utiliser l'API REST. Pour en savoir plus, consultez les pages suivantes : securityPolicies.patchRule
.
Mettre à jour de façon atomique plusieurs règles dans une stratégie de sécurité
Une mise à jour atomique applique des modifications à plusieurs règles en une seule opération. Si vous mettez à jour les règles une par une, il se peut que vous constatiez un comportement inattendu, car les anciennes et les nouvelles règles peuvent fonctionner ensemble pendant une courte période.
Pour mettre à jour de façon atomique plusieurs règles, exportez la stratégie de sécurité actuelle vers un fichier JSON ou YAML, puis modifiez-la. Utilisez le fichier modifié pour créer une stratégie de sécurité, puis remplacez la stratégie de sécurité dans les services de backend correspondants.
gcloud
Exportez la stratégie à mettre à jour, comme illustré dans l'exemple suivant :
gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yaml
La stratégie exportée doit ressembler à l'exemple suivant :
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: deny(404) description: my-rule-1 match: expr: expression: evaluatePreconfiguredExpr('xss-stable') versionedExpr: SRC_IPS_V1 preview: false priority: 1 - action: allow description: my-rule-2 match: config: srcIpRanges: - '1.2.3.4' versionedExpr: SRC_IPS_V1 preview: false priority: 2 - action: deny description: default rule kind: compute#securityPolicyRule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
Utilisez n'importe quel éditeur de texte pour modifier la stratégie. Par exemple, vous pouvez modifier les priorités des règles existantes et ajouter une règle :
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: deny(404) description: my-rule-1 match: expr: expression: evaluatePreconfiguredExpr('xss-stable') versionedExpr: SRC_IPS_V1 preview: false priority: 1 - action: allow description: my-new-rule match: config: srcIpRanges: - '1.2.3.1' versionedExpr: SRC_IPS_V1 preview: false priority: 10 - action: allow description: my-rule-2 match: config: srcIpRanges: - '1.2.3.4' versionedExpr: SRC_IPS_V1 preview: false priority: 11 - action: deny description: default rule kind: compute#securityPolicyRule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
Créez une stratégie de sécurité Google Cloud Armor, puis spécifiez le nom et le format du fichier modifié, comme indiqué dans l'exemple suivant:
gcloud compute security-policies create new-policy \ --file-name modified-policy \ --file-format yaml
Supprimez l'ancienne stratégie de sécurité du service de backend pertinent, comme indiqué dans l'exemple suivant :
gcloud compute backend-services update my-backend \ --security-policy ""
Ajoutez la nouvelle stratégie de sécurité au service de backend, comme indiqué dans l'exemple suivant :
gcloud compute backend-services update my-backend \ --security-policy new-policy
Si l'ancienne stratégie n'est pas utilisée, supprimez-la :
gcloud compute security-policies delete my-policy
Supprimer des règles d'une stratégie de sécurité
Suivez ces instructions pour supprimer des règles d'une stratégie de sécurité Google Cloud Armor.
Console
Dans la console Google Cloud, accédez à la page Règles Google Cloud Armor.
Cliquez sur le nom de la règle de sécurité. La page Détails des règles s'affiche.
Au milieu de la page, dans l'onglet Règles, cochez la case à côté de la règle que vous souhaitez supprimer.
Cliquez sur
Supprimer.
gcloud
Utilisez cette commande pour supprimer une règle avec la priorité spécifiée d'une stratégie de sécurité désignée. Vous ne pouvez modifier qu'une seule stratégie de sécurité à la fois, mais vous pouvez en supprimer plusieurs en même temps :
gcloud compute security-policies rules delete PRIORITY [...] [ --security-policy POLICY_NAME \ ]
Exemple :
gcloud compute security-policies rules delete 1000 \ --security-policy my-policy
Associer et supprimer des règles de sécurité
Utilisez les sections suivantes pour associer et supprimer des stratégies de sécurité aux services et buckets de backend.
Associer une stratégie de sécurité à un service de backend
Suivez ces instructions pour associer une stratégie de sécurité Google Cloud Armor à un service de backend. Une stratégie de sécurité peut être associée à plusieurs services de backend, mais un service de backend ne peut être associé qu'à un seul type de stratégie de sécurité.
Console
Dans la console Google Cloud, accédez à la page Règles Google Cloud Armor.
Sur la page Règles de sécurité, cliquez sur le nom de la règle de sécurité. La page Détails des règles s'affiche.
Au milieu de la page, cliquez sur l'onglet Cibles.
Cliquez sur Appliquer la règle à la nouvelle cible.
Cliquez sur Add Target (Ajouter une cible).
Dans la liste Cible, sélectionnez une cible, puis cliquez sur Ajouter.
gcloud
Lorsque vous associez une stratégie de sécurité backend à un service de backend, utilisez la commande gcloud compute backend-services
et l'option --security-policy
:
gcloud compute backend-services update my-backend \ --security-policy my-policy
Lorsque vous associez une stratégie de sécurité périphérique à un service de backend, utilisez la commande gcloud compute backend-services
et l'option --edge-security-policy
:
gcloud compute backend-services update my-backend \ --edge-security-policy my-policy
Supprimer une stratégie de sécurité d'un service de backend
Suivez ces instructions pour supprimer une stratégie de sécurité backend ou une stratégie de sécurité périphérique Google Cloud Armor d'un service de backend.
Console
Dans la console Google Cloud, accédez à la page Règles Google Cloud Armor.
Sur la page Règles de sécurité, cliquez sur le nom de la règle de sécurité. La page Détails des règles s'affiche.
Au milieu de la page, cliquez sur l'onglet Cibles.
Sélectionnez le service de backend cible dont vous supprimez la stratégie.
Cliquez sur Supprimer.
Dans le message Supprimer la cible, cliquez sur Supprimer.
gcloud
Lorsque vous supprimez une stratégie de sécurité backend, utilisez la commande gcloud compute
backend-services
et l'option --security-policy
:
gcloud compute backend-services update my-backend \ --security-policy ""
Lorsque vous supprimez une stratégie de sécurité périphérique, utilisez la commande gcloud compute
backend-services
et l'option --edge-security-policy
:
gcloud compute backend-services update my-backend \ --edge-security-policy ""
Associer une stratégie de sécurité à un bucket de backend
Suivez ces instructions pour associer une stratégie de sécurité périphérique Google Cloud Armor à un bucket de backend. Une stratégie de sécurité périphérique peut être associée à plusieurs buckets de backend.
Console
Dans la console Google Cloud, accédez à la page Règles Google Cloud Armor.
Sur la page Règles de sécurité, cliquez sur le nom de la règle de sécurité. La page Détails des règles s'affiche.
Au milieu de la page, cliquez sur l'onglet Cibles.
Cliquez sur Appliquer la règle à la nouvelle cible.
Cliquez sur Add Target (Ajouter une cible).
Dans la liste Cible, sélectionnez une cible, puis cliquez sur Ajouter.
gcloud
Lorsque vous associez une stratégie de sécurité périphérique à un bucket de backend, utilisez la commande cloud compute backend-buckets
et l'option --edge-security-policy
:
gcloud compute backend-services update my-bucket \ --edge-security-policy my-edge-policy
Supprimer une stratégie de sécurité d'un bucket de backend
Suivez ces instructions pour supprimer une stratégie de sécurité périphérique Google Cloud Armor d'un bucket de backend.
Console
Dans la console Google Cloud, accédez à la page Règles Google Cloud Armor.
Sur la page Règles de sécurité, cliquez sur le nom de la règle de sécurité. La page Détails des règles s'affiche.
Au milieu de la page, cliquez sur l'onglet Cibles.
Sélectionnez le service de backend cible dont vous supprimez la stratégie.
Cliquez sur Supprimer.
Dans le message Supprimer la cible, cliquez sur Supprimer.
gcloud
Lorsque vous supprimez une stratégie de sécurité périphérique d'un bucket de backend, utilisez la commande cloud compute backend-buckets
et l'option --edge-security-policy
:
gcloud compute backend-services update my-bucket \ --edge-security-policy ""
Importer et exporter des stratégies de sécurité
Utilisez les sections suivantes pour importer et exporter des stratégies de sécurité en tant que fichiers YAML ou JSON.
Importer des stratégies de sécurité
Vous pouvez importer des stratégies de sécurité Google Cloud Armor à partir d'un fichier YAML ou JSON en utilisant Google Cloud CLI. Vous ne pouvez pas utiliser la commande import
pour mettre à jour les règles d'une stratégie existante. Au lieu de cela, vous devez mettre à jour les règles une par une en suivant la procédure Mettre à jour une seule règle dans une stratégie de sécurité ou en une seule fois en suivant la procédure Mettre à jour de façon atomique plusieurs règles dans une stratégie de sécurité.
gcloud
Pour importer des règles de sécurité, utilisez la commande gcloud compute security-policies import NAME
.
Remplacez NAME
par le nom de la règle de sécurité que vous importez. Si vous ne fournissez pas le format de fichier, le format correct est supposé en fonction de la structure du fichier. Si la structure n'est pas valide, une erreur s'affiche.
gcloud compute security-policies import NAME \ --file-name FILE_NAME \ [--file-format FILE_FORMAT]
Par exemple, la commande suivante met à jour la stratégie my-policy
en important le fichier my-file
.
gcloud compute security-policies import my-policy \ --file-name my-file \ --file-format json
Si l'empreinte de la stratégie est obsolète lorsque vous l'importez, Google Cloud Armor affiche une erreur. Cela signifie que la stratégie a été modifiée depuis votre dernière exportation. Pour résoudre ce problème, utilisez la commande describe
sur la stratégie pour obtenir la dernière empreinte.
Fusionnez toutes les différences entre la stratégie décrite et votre stratégie, puis remplacez l'empreinte obsolète par la plus récente.
Exporter des stratégies de sécurité
Vous pouvez exporter une stratégie de sécurité Google Cloud Armor sous la forme d'un fichier YAML ou JSON en utilisant Google Cloud CLI. L'exportation d'une stratégie vous permet d'en récupérer une copie que vous pouvez modifier ou enregistrer dans le contrôle de code source.
gcloud
Dans la commande suivante,
NAME
est le nom de la règle de sécurité. Les formats de fichiers valides sont YAML et JSON. Si vous ne fournissez pas le format de fichier, Google Cloud Armor utilise le format YAML par défaut.gcloud compute security-policies export NAME \ --file-name FILE_NAME \ --file-format FILE_FORMAT
L'exemple suivant exporte la règle de sécurité
my-policy
vers le fichiermy-file
au format YAML :gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yaml
L'exemple suivant présente une stratégie de sécurité exportée :
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: allow description: default rule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
Vous pouvez modifier le fichier exporté avec n'importe quel éditeur de texte, puis le réimporter dans Google Cloud à l'aide de la commande
import
.
Répertorier les règles préconfigurées disponibles
Répertoriez les règles préconfigurées pour afficher les signatures et les règles de protection des applications prédéfinies, par exemple l'ensemble de règles de base ModSecurity fourni par Google Cloud Armor. Ces règles préconfigurées contiennent plusieurs signatures intégrées que Google Cloud Armor utilise pour évaluer les requêtes entrantes. Pour ajouter ces règles préconfigurées à des règles nouvelles ou existantes, utilisez la documentation de référence sur le langage des règles personnalisées.
Pour en savoir plus, consultez la section Règles préconfigurées.
gcloud
Exécutez la commande
gcloud compute security-policies list-preconfigured-expression-sets
:gcloud compute security-policies list-preconfigured-expression-sets
L'exemple suivant montre comment se présente le résultat de la commande :
EXPRESSION_SET expression-set-1 RULE_ID SENSITIVITY expression-set-1-id-1 sensitivity-value-1 expression-set-1-id-2 sensitivity-value-2 expression-set-2 alias-1 RULE_ID SENSITIVITY expression-set-2-id-1 sensitivity-value-1 expression-set-2-id-2 sensitivity-value-2
L'exemple suivant inclut un extrait du résultat réel de la commande. Notez que le résultat réel inclut toutes les règles répertoriées dans la section Ajuster les règles WAF Google Cloud Armor.
gcloud compute security-policies list-preconfigured-expression-sets
EXPRESSION_SET sqli-canary RULE_ID SENSITIVITY owasp-crs-v030001-id942110-sqli 2 owasp-crs-v030001-id942120-sqli 2 … xss-canary RULE_ID SENSITIVITY owasp-crs-v030001-id941110-xss 1 owasp-crs-v030001-id941120-xss 1 … sourceiplist-fastly sourceiplist-cloudflare sourceiplist-imperva
Étape suivante
- Ajustez les règles de pare-feu d'application Web (WAF).
- Résoudre les problèmes
- Utiliser la documentation de référence sur le langage des règles personnalisées