Cette page contient des informations sur la configuration de la journalisation détaillée, une fonctionnalité facultative que vous pouvez utiliser avec vos stratégies de sécurité Google Cloud Armor.
Vous pouvez ajuster le niveau de détail enregistré dans vos journaux. Nous vous recommandons d'activer la journalisation détaillée uniquement lorsque vous créez, modifiez ou dépannez une stratégie. Si vous activez la journalisation détaillée, elle s'applique aux règles en mode aperçu ainsi qu'aux règles actives (non prévisualisées) lors des opérations standards.
Prenons l'exemple d'une situation où vous ne pouvez pas déterminer pourquoi une règle WAF préconfigurée a été déclenchée par une requête particulière. Les journaux d'événements par défaut de Google Cloud Armor contiennent la règle déclenchée, ainsi que la sous-signature. Toutefois, vous devrez peut-être identifier les détails de la requête entrante ayant déclenché la règle à des fins de dépannage, de validation ou d'ajustement des règles. Il s'agit d'un exemple. Nous vous recommandons d'activer la journalisation détaillée.
Vous pouvez configurer le niveau de journalisation Google Cloud Armor pour permettre une journalisation plus détaillée de chaque stratégie de sécurité en utilisant l'option --log-level
de gcloud CLI.
Cette option est désactivée par défaut. La syntaxe de l'option est la suivante :
--log-level=[NORMAL | VERBOSE]
L'option n'est disponible que via la commande gcloud compute security-policies update
. Cette option ne vous permet pas de créer une stratégie de sécurité, sauf si vous créez une stratégie de sécurité dans un fichier, puis que vous importez ce fichier. Pour en savoir plus, consultez la section Importer des stratégies de sécurité.
Exemple :
gcloud compute security-policies update ca-policy-1 \ --log-level=VERBOSE
Nous vous recommandons d'activer la journalisation détaillée dès lors que vous créez, modifiez ou dépannez une stratégie.
Valeurs consignées lorsque la journalisation détaillée est activée
Lorsque la journalisation détaillée est activée, des informations supplémentaires sont consignées dans le journal des requêtes d'équilibrage de charge envoyé à Cloud Logging. Les champs supplémentaires suivants apparaissent dans le journal de requêtes lorsque la journalisation détaillée est activée :
matchedFieldType
(chaîne) : type de champ à l'origine de la correspondance.ARG_NAMES
ARG_VALUES
BODY
- Lorsque le champ
BODY
se trouve dans le journal, cela signifie que l'intégralité du corps du message POST correspond à une règle.
- Lorsque le champ
COOKIE_VALUES
COOKIE_NAMES
FILENAME
HEADER_VALUES
RAW_URI
REFERER
REQUEST_LINE
URI
USER_AGENT
HEADER_NAMES
ARGS_GET
X_FILENAME
ARG_NAME_COUNT
TRANSFER_ENCODING
REQUEST_METHOD
matchedFieldName
(chaîne) : s'il correspond à la partie valeur d'une paire clé-valeur, la valeur de clé est stockée dans ce champ. Sinon, il est vide.matchedFieldValue
(chaîne) : préfixe de 16 octets maximum pour la partie du champ à l'origine de la correspondance.matchedFieldLength
(entier) : longueur totale du champ.matchedOffset
(entier) : décalage de début dans le champ à l'origine de la correspondance.matchedLength
(entier) : longueur de la correspondance.
Par exemple, vous pouvez envoyer cette requête à un projet dans lequel les règles WAF d'injection SQL sont activées :
curl http://IP_ADDR/?sql_table=abc%20pg_catalog%20xyz
L'entrée de l'explorateur de journaux ressemblerait à ceci :
enforcedSecurityPolicy: { name: "user-staging-sec-policy" priority: 100 configuredAction: "DENY" outcome: "DENY preconfiguredExprIds: [ 0: "owasp-crs-v030001-id942140-sqli" ] matchedFieldType: "ARG_VALUES" matchedFieldName: "sql_table" matchedFieldValue: "pg_catalog" matchedFieldLength: 18 matchedOffset: 4 matchedLength: 10 }
Maintenir la confidentialité lorsque la journalisation détaillée est activée
Lorsque vous utilisez la journalisation détaillée, Google Cloud Armor consigne des extraits des éléments des requêtes entrantes qui ont déclenché une règle WAF préconfigurée spécifique. Ces extraits peuvent contenir des fragments d'en-têtes de requête, de paramètres de requête ou d'éléments du corps POST. Il est possible qu'un extrait contienne des données sensibles telles qu'une adresse IP ou d'autres données sensibles issues de la requête entrante, en fonction des éléments figurant dans le corps ou les en-têtes de la requête, et en fonction des éléments déclenchant la règle WAF.
En activant la journalisation détaillée, sachez qu'il existe un risque d'accumulation de données potentiellement sensibles dans vos journaux dans Logging. Nous vous recommandons de n'activer la journalisation détaillée que lors de la création et de la validation de la règle, ou pour le dépannage. En fonctionnement normal, nous vous recommandons de laisser la journalisation détaillée désactivée.
Étape suivante
- Configurer les stratégies de sécurité Google Cloud Armor
- En savoir plus sur la journalisation des requêtes