Esta página contém informações sobre como configurar o registro detalhado, um recurso opcional que pode ser usado com as políticas de segurança do Google Cloud Armor.
É possível ajustar o nível de detalhe registrado nos registros. Recomendamos que você ative o registro detalhado apenas ao criar uma política, fazer alterações ou solucionar problemas. Se você ativar o registro detalhado, ele estará em vigor para regras no modo de visualização, bem como para regras ativas (não visualizadas) durante as operações padrão.
Considere um exemplo em que não é possível saber por que uma regra pré-configurada do WAF é acionada por uma solicitação específica. Os registros de eventos padrão do Google Cloud Armor contêm a regra que foi acionada, bem como a subassinatura. No entanto, talvez seja necessário identificar os detalhes da solicitação recebida que acionou a regra para solucionar problemas, validar ou ajustar a regra. Para este exemplo, recomendamos que você ative o registro detalhado.
É possível configurar o nível de geração de registros do Google Cloud Armor para ativar uma geração de registros
mais detalhada para cada política de segurança usando a flag --log-level
na
Google Cloud CLI.
Por padrão, esta opção está desativada. A sintaxe da sinalização é a seguinte:
--log-level=[NORMAL | VERBOSE]
A sinalização só está disponível com o uso do comando
gcloud compute security-policies update
. Não
é possível criar uma nova política de segurança com essa opção, a menos que você crie uma
política de segurança em um arquivo e importe esse arquivo. Para mais informações, consulte
Importar políticas de segurança.
Exemplo:
gcloud compute security-policies update ca-policy-1 \ --log-level=VERBOSE
Recomendamos que você ative o registro detalhado ao criar uma política, fazer alterações ou solucionar problemas.
Valores registrados quando o registro detalhado está ativado
Quando o registro detalhado está ativado, mais informações são registradas no registro de solicitação de balanceamento de carga que é enviado para o Cloud Logging. Os seguintes campos adicionais aparecem no registro de solicitação quando o registro detalhado está ativado:
matchedFieldType
(string): é o tipo de campo que gera a correspondência.ARG_NAMES
ARG_VALUES
BODY
- Quando o campo
BODY
está no registro, significa que todo o corpo da postagem corresponde a uma regra.
- Quando o campo
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
(string): se isso corresponder à parte do valor de um par de chave-valor, o valor da chave será armazenado nesse campo. Caso contrário, ele estará vazio.matchedFieldValue
(string): um prefixo de até 16 bytes para a parte do campo que causa a correspondência.matchedFieldLength
(número inteiro): o comprimento total do campo.matchedOffset
(número inteiro): o deslocamento inicial no campo que causa a correspondência.matchedLength
(número inteiro): a duração da correspondência.inspectedBodySize
(inteiro): o limite de inspeção configurado (número de bytes) para um corpo de solicitação definido usando a flag--request-body-inspection-size
. Para mais informações sobre esse limite, consulte Limitação de inspeção do corpo de POST e PATCH.
Por exemplo, é possível enviar a seguinte solicitação para um projeto em que as regras WAF de injeção de SQLL estejam ativadas:
curl http://IP_ADDR/?sql_table=abc%20pg_catalog%20xyz
A entrada na Análise de registros é semelhante a esta:
enforcedSecurityPolicy: { name: "user-staging-sec-policy" priority: 100 configuredAction: "DENY" outcome: "DENY inspectedBodySize: 65536 preconfiguredExprIds: [ 0: "owasp-crs-v030001-id942140-sqli" ] matchedFieldType: "ARG_VALUES" matchedFieldName: "sql_table" matchedFieldValue: "pg_catalog" matchedFieldLength: 18 matchedOffset: 4 matchedLength: 10 }
Como manter a privacidade quando o registro detalhado está ativado
Quando você usa o registro detalhado, o Google Cloud Armor registra snippets dos elementos das solicitações recebidas que acionaram uma determinada regra WAF pré-configurada. Esses snippets podem conter partes de cabeçalhos de solicitação, parâmetros de solicitação ou elementos do corpo do POST. Um snippet pode conter dados sensíveis, como um endereço IP ou outros dados sensíveis da solicitação recebida, dependendo do que está nos cabeçalhos ou no corpo da solicitação e do que aciona a regra WAF.
Ao ativar a geração de registros detalhados, você corre o risco de acumular dados potencialmente sensíveis nos registros do Logging. Recomendamos que você ative o registro detalhado apenas durante a criação e validação da regra ou para a solução de problemas. Durante as operações normais, recomendamos que você mantenha o registro detalhado desativado.