Cloudflare
Ce document explique comment intégrer Cloudflare à Google Security Operations.
Cas d'utilisation des produits
Enrichir des entités
Configurer l'intégration de Cloudflare dans Google Security Operations
Pour obtenir des instructions détaillées sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.
Paramètres d'intégration
Utilisez les paramètres suivants pour configurer l'intégration :
| Nom à afficher du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Racine de l'API | Chaîne | https://api.cloudflare.com |
Oui | Racine de l'API de l'instance Cloudflare. |
| Jeton d'API | Mot de passe | N/A | Oui | Jeton d'API de l'instance Cloudflare. |
| Nom du compte | Chaîne | N/A | Oui | Nom du compte à utiliser dans l'intégration. |
| Vérifier le protocole SSL | Case à cocher | Cochée | Non | Si cette option est activée, vérifie que le certificat SSL de la connexion au serveur Cloudflare est valide. |
Configurer le jeton
- Accédez à Profile Settings (Paramètres du profil), puis cliquez sur API Tokens (Jetons d'API).
- Accédez à Créer un jeton > Créer un jeton personnalisé, puis sélectionnez les autorisations suivantes :
| Compte | WAF du compte | Lire |
| Compte | Règles de stratégie | Lire |
| Compte | Listes de filtres de comptes | Modifier |
| Compte | Accès au pare-feu du compte | Modifier |
| Compte | Pare-feu DNS | Lire |
| Compte | Paramètres du compte | Lire |
| Zone | WAF de zone | Modifier |
| Zone | Paramètres de zone | Lire |
| Zone | Zone | Lire |
| Zone | Journaux | Lire |
| Zone | Services de pare-feu | Modifier |
| Zone | Services de pare-feu | Lire |
| Zone | Analytics | Lire |

Actions
Ajouter l'adresse IP à la liste de règles
Description
Ajoutez des adresses IP à la liste de règles dans Cloudflare. Entités compatibles : adresse IP.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Nom de la règle | Chaîne | N/A | Oui | Spécifiez le nom de la liste de règles à laquelle vous souhaitez ajouter des éléments. |
| Description | Chaîne | N/A | Non | Spécifiez une description pour les éléments de la liste de règles que vous venez d'ajouter. |
Exécution
Cette action s'exécute sur l'entité "Adresse IP".
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
"result": {
"operation_id": "f16b978552ca49f88b36fe628de31142"
},
"success": true,
"errors": [],
"messages": []
}
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si le code d'état 200 est signalé pour une entité (is_success=true) : "Les entités suivantes ont bien été ajoutées à la liste de règles {name} dans Cloudflare : {entity.identifier}." Si l'action échoue pour une entité (is_success=true) : "L'action n'a pas pu ajouter les entités suivantes à la liste de règles {name} dans Cloudflare : {entity.identifier}." Si l'opération échoue pour toutes les entités (is_success=false) : "Aucune des entités fournies n'a été ajoutée à la liste de règles {name}." L'action doit échouer et arrêter l'exécution d'un playbook : Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur, etc.) : "Error executing action "Add IP To Rule List". Reason: {0}''.format(error.Stacktrace) Si la liste est introuvable : "Erreur lors de l'exécution de l'action "Ajouter l'adresse IP à la liste de règles". Motif : la liste de règles {name} est introuvable dans Cloudflare.'' Si la liste n'est pas du bon type : "Error executing action "Add IP To Rule List". Motif : la liste de règles {name} n'est pas de type "IP"." |
Général |
Ajouter l'URL à la liste de règles
Description
Ajoutez des URL à la liste de règles dans Cloudflare. Entités acceptées : URL.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Nom de la règle | Chaîne | N/A | Oui | Spécifiez le nom de la liste de règles à laquelle vous souhaitez ajouter des éléments. |
| URL source | Chaîne | N/A | Oui | Spécifiez l'URL source de l'élément de la liste de règles. |
| Description | Chaîne | N/A | Non | Spécifiez une description pour les éléments de la liste de règles que vous venez d'ajouter. |
| Code d'état | LDD | 301 Valeurs possibles :
|
Non | Spécifiez l'état de l'élément de la liste de règles. |
| Conserver la chaîne de requête | Case à cocher | Décochée | Non | Si cette option est activée, l'élément de la liste de règles conserve la chaîne de requête. |
| Inclure les sous-domaines | Case à cocher | Décochée | Non | Si cette option est activée, l'élément de la liste de règles inclut les sous-domaines. |
| Correspondance de sous-chemin | Case à cocher | Décochée | Non | Si cette option est activée, l'élément de la liste de règles correspond au sous-chemin. |
| Conserver le suffixe du chemin d'accès | Case à cocher | Décochée | Non | Si cette option est activée, l'élément de la liste de règles conserve le suffixe du chemin d'accès. |
Exécution
Cette action s'exécute sur l'entité "Adresse IP".
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
"result": {
"operation_id": "f16b978552ca49f88b36fe628de31142"
},
"success": true,
"errors": [],
"messages": []
}
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si le code d'état 200 est renvoyé pour une entité (is_success=true) : "Les entités suivantes ont bien été ajoutées à la liste de règles {name} dans Cloudflare : {entity.identifier}." Si l'action échoue pour une entité (is_success=true) : "L'action n'a pas pu ajouter les entités suivantes à la liste de règles {name} dans Cloudflare : {entity.identifier}." Si l'opération n'a pas réussi pour toutes les entités (is_success=false) : "Aucune des entités fournies n'a été ajoutée à la liste de règles {name}." L'action doit échouer et arrêter l'exécution d'un playbook : Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur ou autre) : "Error executing action "Add URL To Rule List". Reason: {0}''.format(error.Stacktrace) Si la liste est introuvable : "Error executing action "Add URL To Rule List". Motif : la liste de règles {name} est introuvable dans Cloudflare.'' Si la liste n'est pas du bon type : "Erreur lors de l'exécution de l'action "Ajouter l'URL à la liste de règles". Motif : la liste de règles {name} n'est pas de type "Redirection".' |
Général |
Créer une règle de pare-feu
Description
Créez une règle de pare-feu dans Cloudflare.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Nom de la zone | Chaîne | N/A | Oui | Spécifiez le nom de la zone contenant la règle de pare-feu. |
| Nom | Chaîne | N/A | Non | Spécifiez le nom de la règle de pare-feu. |
| Action | LDD | Bloquer Valeurs possibles :
|
Non | Spécifiez l'action de la règle de pare-feu. Si vous sélectionnez "Bloquer", vous devez indiquer des valeurs dans le paramètre "Produits". |
| Expression | Chaîne | N/A | Oui | Spécifiez l'expression de la règle de pare-feu. |
| Produits | CSV | N/A | Non | Spécifiez une liste de produits séparés par une virgule pour la règle de pare-feu. Remarque : Ce paramètre n'est obligatoire que si "Ignorer" est sélectionné pour le paramètre "Action". Valeurs possibles : zoneLockdown, uaBlock, bic, hot, securityLevel, rateLimit, waf |
| Priorité | Integer | N/A | Non | Spécifiez la priorité de la règle de pare-feu. |
| Tag de référence | Chaîne | N/A | Non | Spécifiez un tag de référence pour la règle de pare-feu. Remarque : Il ne peut pas dépasser 50 caractères. |
Exécution
Cette action ne s'exécute pas sur les entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
{
"id": "b520c154bdeb4fe2a1f647b2c6b35829",
"paused": false,
"description": "Blocks traffic identified during investigation for MIR-31",
"action": "block",
"priority": 50,
"filter": {
"id": "fc6dfad848c24a42ae5be0114db09fb9",
"expression": "(ip.geoip.continent eq \"ASIA\")",
"paused": false
},
"created_on": "2022-07-25T11:19:22Z",
"modified_on": "2022-07-25T11:19:22Z",
"index": 0
}
}
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si le code d'état 200 est renvoyé (is_success=true) : "Successfully created a new firewall rule in "{zone_name}" zone in Cloudflare." (Une règle de pare-feu a bien été créée dans la zone "{zone_name}" de Cloudflare). L'action doit échouer et arrêter l'exécution d'un playbook : Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur, etc.) : "Error executing action "Create Firewall Rule". Reason: {0}''.format(error.Stacktrace) Si la liste d'erreurs n'est pas vide : "Erreur lors de l'exécution de l'action "Créer une règle de pare-feu". Reason: {0}''.format(errors/message) Si la zone est introuvable : "Error executing action "Create Firewall Rule". Reason: zone {zone_name} wasn't found in Cloudflare.'' |
Général |
Créer une liste de règles
Description
Créez une liste de règles dans Cloudflare.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Name | Chaîne | N/A | Oui | Spécifiez le nom de la liste de règles. |
| Type | LDD | Adresse IP Valeurs possibles :
|
Non | Spécifiez le type de la liste de règles. |
| Description | Chaîne | N/A | Non | Spécifiez la description de la liste de règles. |
Exécution
Cette action ne s'exécute pas sur les entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
"id": "d19589d629f140c0b961c467feadf99d",
"name": "123",
"kind": "ip",
"num_items": 0,
"description": "description",
"num_referencing_filters": 0,
"created_on": "2022-07-25T12:13:46Z",
"modified_on": "2022-07-25T12:13:46Z"
}
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si le code d'état 200 est renvoyé (is_success = true) : "Successfully create a rule list in Cloudflare." (Liste de règles créée dans Cloudflare) L'action doit échouer et arrêter l'exécution d'un playbook : Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur ou autre) : "Error executing action "Create Rule List". Reason: {0}''.format(error.Stacktrace) Si la liste des erreurs n'est pas vide : "Error executing action "Create Rule List". Reason: {0}''.format(errors/message) |
Général |
Lister les règles de pare-feu
Description
Répertoriez les règles de pare-feu disponibles dans Cloudflare.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Nom de la zone | Chaîne | N/A | Oui | Spécifiez le nom de la zone qui contiendra la règle de pare-feu. |
| Clé du filtre | LDD | Sélectionnez une réponse Valeurs possibles :
|
Non | Spécifiez la clé à utiliser pour filtrer {item type}. |
| Logique de filtrage | LDD | Sélectionnez une réponse Valeurs possibles :
|
Non | Spécifiez la logique de filtre à appliquer. La logique de filtrage est basée sur la valeur fournie dans le paramètre "Clé de filtre". |
| Valeur du filtre | Chaîne | N/A | Non | Spécifiez la valeur à utiliser dans le filtre. Si l'option "Égal" est sélectionnée, l'action tente de trouver la correspondance exacte parmi les résultats. Si l'option "Contient" est sélectionnée, l'action tente de trouver des résultats contenant cette sous-chaîne. Si aucune valeur n'est fournie pour ce paramètre, le filtre n'est pas appliqué. La logique de filtrage est basée sur la valeur fournie dans le paramètre "Clé de filtre". |
| Nombre maximal d'enregistrements à renvoyer | Integer | 50 | Non | Spécifiez le nombre d'enregistrements à renvoyer. Si rien n'est fourni, l'action renvoie 50 enregistrements. |
Exécution
Cette action ne s'exécute pas sur les entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
"id": "55ec8db30f9e4640b5d0d13cff6b5429",
"paused": false,
"description": "rulle2",
"action": "allow",
"filter": {
"id": "2bb05df8c4f547bd9792d8dc38a86b81",
"expression": "(ip.geoip.country eq \"BG\")",
"paused": false
},
"created_on": "2022-07-05T13:53:39Z",
"modified_on": "2022-07-05T13:53:39Z"
}
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si des données sont disponibles (is_success=true) : "{item name} a bien été trouvé pour les critères fournis dans {product name}". Si les données ne sont pas disponibles (is_success=false) : "Aucun {item name} n'a été trouvé pour les critères fournis dans {product name}" Si le paramètre "Valeur du filtre" est vide (is_success=true) : "Le filtre n'a pas été appliqué, car le paramètre "Valeur du filtre" est vide." L'action doit échouer et arrêter l'exécution d'un playbook : Si le paramètre "Clé de filtre" est défini sur "Sélectionner" et que le paramètre "Logique de filtre" est défini sur "Égal" ou "Contient" : "Erreur lors de l'exécution de l'action "{action name}". Motif : vous devez sélectionner un champ dans le paramètre "Clé de filtre"." Si une valeur non valide est fournie pour le paramètre "Nombre maximal d'enregistrements à renvoyer" : "Erreur lors de l'exécution de l'action "{action name}". Motif : "La valeur fournie pour "Nombre maximal d'enregistrements à renvoyer" n'est pas valide : . Veuillez indiquer un nombre positif." Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur, etc.) : "Error executing action "{action name}". Reason: {0}''.format(error.Stacktrace) |
Général |
| Tableau du mur des cas | Nom du tableau : {groupe d'articles} disponibles Colonnes de la table : {fields} |
Général |
Ping
Description
Testez la connectivité à Cloudflare avec les paramètres fournis sur la page de configuration de l'intégration dans la page du hub de contenus Google SecOps.
Paramètres
N/A
Exécution
L'action n'utilise aucune des entités de champ d'application Google SecOps et ne comporte pas de paramètres d'entrée obligatoires.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
N/A
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si l'opération réussit : "Successfully connected to the SpyCloud server with the provided connection parameters!" (Connexion au serveur SpyCloud établie avec les paramètres de connexion fournis) L'action doit échouer et arrêter l'exécution d'un playbook : Si l'opération échoue : "Échec de la connexion au serveur SpyCloud ! Error is {0}".format(exception.stacktrace) Si le compte n'est pas trouvé : "Échec de la connexion au serveur Cloudflare ! Le nom de compte fourni n'est pas valide. Veuillez vérifier l'orthographe." |
Général |
Mettre à jour la règle de pare-feu
Description
Mettez à jour une règle de pare-feu dans Cloudflare.
Exécution
Cette action ne s'exécute pas sur les entités.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Nom de la règle | Chaîne | N/A | Oui | Spécifiez le nom de la règle à mettre à jour. |
| Nom de la zone | Chaîne | N/A | Oui | Spécifiez le nom de la zone contenant la règle de pare-feu. |
| Action | LDD | Bloquer Valeurs possibles :
|
Non | Spécifiez l'action de la règle de pare-feu. Si vous sélectionnez "Bloquer", vous devez indiquer des valeurs dans le paramètre "Produits". |
| Expression | Chaîne | N/A | Oui | Spécifiez l'expression de la règle de pare-feu. |
| Produits | CSV | N/A | Non | Spécifiez une liste de produits séparés par une virgule pour la règle de pare-feu. Remarque : Ce paramètre n'est obligatoire que si "Ignorer" est sélectionné pour le paramètre "Action". Valeurs possibles : zoneLockdown, uaBlock, bic, hot, securityLevel, rateLimit, waf |
| Priorité | Integer | N/A | Non | Spécifiez la priorité de la règle de pare-feu. |
| Tag de référence | Chaîne | N/A | Non | Spécifiez un tag de référence pour la règle de pare-feu. Remarque : Il ne peut pas dépasser 50 caractères. |
Exécution
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
{
"id": "b520c154bdeb4fe2a1f647b2c6b35829",
"paused": false,
"description": "Blocks traffic identified during investigation for MIR-31",
"action": "block",
"priority": 50,
"filter": {
"id": "fc6dfad848c24a42ae5be0114db09fb9",
"expression": "(ip.geoip.continent eq \"ASIA\")",
"paused": false
},
"created_on": "2022-07-25T11:19:22Z",
"modified_on": "2022-07-25T11:19:22Z",
"index": 0
}
}
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si le code d'état 200 est renvoyé (is_success=true) : "Successfully updated a firewall rule in "{zone_name}" zone in Cloudflare." L'action doit échouer et arrêter l'exécution d'un playbook : Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur, etc.) : "Error executing action "Update Firewall Rule". Reason: {0}''.format(error.Stacktrace) Si la liste d'erreurs n'est pas vide : "Erreur lors de l'exécution de l'action "Mettre à jour la règle de pare-feu". Reason: {0}''.format(errors/message) Si la zone est introuvable : "Error executing action "Update Firewall Rule". Reason: zone {zone_name} wasn't found in Cloudflare.'' |
Général |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.