Após ativar a coleta de logs para um nome de domínio protegido pelo WAF, use o recurso Log Search para consultar e analisar os dados de log coletados em tempo real. Com base nesses resultados, gere gráficos, crie alertas e execute outras ações.
Pré-requisitos
Você ativou o Log Service para o WAF. Para mais informações, consulte Get started with Log Service for WAF.
Você ativou a coleta de logs para os nomes de domínio protegidos pelo WAF. Para mais informações, consulte Use Log Service.
Consultar e analisar logs
Faça login no console do Web Application Firewall (WAF). Na barra de menu superior, selecione o grupo de recursos e a região da sua instância do WAF: Chinese Mainland ou Outside Chinese Mainland.
No painel de navegação à esquerda, escolha .
-
Na lista suspensa de nomes de domínio, selecione o nome de domínio desejado e ative a chave Status.
A lista suspensa de nomes de domínio (① na figura) contém apenas os nomes de domínio protegidos pelo WAF. Caso ainda não tenha adicionado um nome de domínio ao WAF, adicione-o primeiro. Para mais informações, consulte Tutorials.
-
Na aba Log Search, use instruções de pesquisa e análise para consultar e analisar os dados de log do WAF.
-
Na caixa de pesquisa (① na figura), insira uma instrução de pesquisa.
As instruções de pesquisa usam a sintaxe específica do Log Service. Para mais detalhes sobre essa sintaxe, consulte Search syntax and functions. Use campos de log do WAF como campos de consulta nas instruções de pesquisa. Para obter uma lista dos campos compatíveis, consulte WAF log fields.
Se você não estiver familiarizado com a sintaxe de pesquisa, use a Advanced Search. Expanda a Advanced Search acima da caixa de pesquisa, defina as condições de pesquisa e clique em Search. O sistema gera automaticamente uma instrução de pesquisa correspondente às suas condições. A tabela a seguir descreve as condições de pesquisa disponíveis.
Condição de pesquisa
Descrição
IP
Endereço IP do cliente.
Request ID
ID exclusivo que o WAF gera para uma solicitação do cliente. O WAF fornece esse ID ao retornar uma página de bloqueio ou um desafio CAPTCHA deslizante. Use este ID para solucionar problemas.
Rule ID
ID da regra de proteção do WAF acionada pela solicitação. Encontre os IDs das regras na página Security Report ou na página .
Status Code Returned from Origin Server
Código de status http retornado pelo servidor de source.
Status Code Returned from WAF
Código de status http que o WAF retorna ao cliente.
Protection Features
Tipo de regra de proteção do WAF correspondente à solicitação. Para mais informações sobre os módulos de proteção do WAF e como configurar regras para cada módulo, consulte Overview.
-
Para analisar estatisticamente os resultados da consulta, anexe uma instrução analítica após a instrução de pesquisa na caixa de busca (① na figura). Se desejar apenas consultar logs que atendam a condições específicas, pule esta etapa.
Separe a instrução analítica da instrução de pesquisa com uma barra vertical (|). As instruções analíticas usam a sintaxe padrão SQL-92. Para mais informações sobre instruções analíticas, consulte Overview of log query and analysis.
Use o seletor de tempo (② na figura) para especificar um intervalo de tempo para a consulta de logs.
-
Clique em Search & Analyze (③ na figura).
Os resultados da consulta e análise, que correspondem aos logs do WAF compatíveis com sua consulta, aparecem na parte inferior da página. Os resultados incluem um histograma de distribuição de logs, Raw Log e um Graph. Com base nesses resultados, realize análises rápidas, gere gráficos e crie alertas. Para mais informações, consulte Manage query and analysis results e Create an alert.
Para mais exemplos de consultas e análises de logs, consulte Query and analysis examples.
-
Gerenciar resultados de consulta e análise
O Log Service para WAF exibe os resultados de consulta e análise como um histograma de logs, logs brutos e gráficos. Também é possível criar alertas e executar consultas rápidas.
-
Histograma de logs
O histograma de logs mostra a distribuição temporal dos logs consultados.
Passe o mouse sobre uma barra verde para visualizar o intervalo de tempo correspondente e o número de logs compatíveis.
Clique em uma barra verde para ver uma distribuição de tempo mais detalhada. A aba Raw Log também é atualizada para mostrar os resultados do intervalo de tempo selecionado.
-
Logs brutos
Na aba Raw Log, visualize os resultados detalhados da sua consulta de logs.
-
Análise rápida
Clique no ícone
e escolha exibir a chave ou seu alias. Configure aliases durante a criação de um índice. Por exemplo, se host for o alias para host_name, a lista de Análise Rápida exibirá host após você selecionar Show Field Aliases.NotaSe um campo não possuir um alias, sua chave aparecerá na lista de Análise Rápida mesmo que você selecione Show Field Aliases.
Para mais informações, consulte Field settings.
-
Visualizar detalhes do log
Clique em Table para visualizar os logs em formato de tabela.
-
Clique em Raw Data para visualizar os logs brutos.
Clique no ícone
para copiar um log.Clique no ícone
para visualizar os detalhes da tag.
Clique em Wrap para alternar a quebra de linha na exibição de logs.
Clique em Time para exibir os logs em ordem cronológica.
Clique no ícone
para baixar os logs para o seu computador local. Baixe os logs diretamente, via Cloud Shell ou por meio de uma ferramenta de linha de comando. Para mais informações, consulte Download logs.Clique no ícone
para configurar Tag Configurations, Column Settings, JSON Configurations e Event Settings.
-
-
Gráfico
Na aba Graph, visualize uma representação gráfica dos resultados da sua consulta e análise. Para visualizar o gráfico correspondente nesta aba, insira uma instrução analítica SQL-92 na caixa de pesquisa.
Alternar tipos de gráfico: Selecione um tipo diferente de gráfico para visualizar os resultados da análise. Para mais informações sobre os diferentes tipos de gráficos, consulte Graphs.
-
Visualizar um gráfico: Após alternar o tipo de gráfico, visualize o efeito.
Clique em Add to New Dashboard para adicionar o gráfico atual a um painel. Clique em Download Log para baixar os logs para o seu computador. Escolha entre Download, Download with Cloud Shell ou Download with CLI. Para mais informações, consulte Download logs.
-
Modificar configurações do gráfico
Ações
Descrição
Configure definições globais para o gráfico. Por exemplo, ao selecionar um esquema de cores, todo o gráfico usará esse esquema.
Defina configurações de visualização personalizadas para os resultados de uma única consulta ou de uma única coluna dentro dos resultados. Por exemplo, selecione um resultado de consulta específico e aplique um esquema de cores apenas às partes correspondentes do gráfico.
Configure interações para um único resultado de consulta ou uma única coluna em um resultado de consulta para permitir uma análise mais aprofundada.
-
LogReduce
Na aba LogReduce, clique em Enable LogReduce para agrupar logs semelhantes durante a coleta de logs. Para mais informações, consulte LogReduce.
Criar um alerta
Crie um alerta com base na instrução de pesquisa e análise atual. Após a criação do alerta, o Log Service avalia periodicamente os resultados da consulta. Se os resultados atenderem à condição de gatilho especificada, o Log Service enviará uma notificação. Isso permite monitorar o status do seu service em tempo real.
Na página de consulta e análise, escolha Save as Alert > New Alert para criar um alerta com base nos resultados da consulta. Para mais informações, consulte Configure alerts.
Exemplos de consulta e análise
-
Analise o número de solicitações de ataque bloqueadas por diferentes módulos de proteção do WAF em intervalos de 15 minutos. Os resultados mostram o tempo (time) e o número de solicitações bloqueadas pelos seguintes módulos: mecanismo de regras do WAF (wafmodule), lista de bloqueios de endereços IP e políticas personalizadas de Access Control List (ACL) (aclmodule) e proteção contra flood http (httpfloodmodule).
* | SELECT time_series(__time__, '15m', '%H:%i', '0') as time, COUNT_if(final_plugin = 'waf') as "wafmodule", COUNT_if(final_plugin = 'acl') as "aclmodule", COUNT_if(final_plugin = 'cc') as "httpfloodmodule" GROUP by time ORDER by time -
Analise a distribuição dos tipos de módulos de proteção (final_plugin) que acionaram a ação final. Os resultados mostram o número de ocorrências (times), o nome de domínio solicitado (host) e o módulo de proteção final (final_plugin).
* | SELECT count(*) as times, host, final_plugin GROUP by host, final_plugin ORDER by times desc -
Analise as consultas por segundo (QPS) em intervalos de 15 minutos. Os resultados mostram o tempo (time) e o QPS.
* | SELECT time_series(__time__, '15m', '%H:%i', '0') as time, count(*) / 900 as QPS GROUP by time ORDER by time -
Identifique os nomes de domínio mais frequentemente alvo de ataques de flood http. Os resultados mostram o número de solicitações bloqueadas (times) e o nome de domínio solicitado (host).
* and acl_action :block | SELECT count(*) as times, host GROUP by host ORDER by times desc -
Analise os detalhes dos logs de solicitação do site em intervalos de 1 segundo. Os resultados mostram o tempo (time), o nome de domínio solicitado (host), o caminho da solicitação (request_path), o método da solicitação (request_method), o código de status de resposta do WAF (status), o código de status de resposta do servidor de source (upstream_status) e a string de consulta (querystring).
* | SELECT date_format(date_trunc('second', __time__), '%H:%i:%s') as time, host, request_path, request_method, status, upstream_status, querystring LIMIT 10 -
Consulte os 10 registros mais recentes de solicitações de ataque para um site (your_domain_name). Os resultados mostram o horário da solicitação (time), o IP real do cliente (real_client_ip) e o tipo de cliente (http_user_agent).
matched_host: your_domain_name and final_action: block | SELECT time, real_client_ip, http_user_agent ORDER by time desc LIMIT 10 -
Analise o número de dias (days_passed, arredondado para uma casa decimal) decorridos desde que o WAF bloqueou uma solicitação de ataque a um site (your_domain_name).
matched_host: your_domain_name and final_action: block | SELECT time, round((to_unixtime(now())-__time__) / 86400, 1) as "days_passed", real_client_ip, http_user_agent ORDER by time desc LIMIT 10 -
Analise a tendência diária de solicitações de ataque a um site (your_domain_name).
matched_host: your_domain_name and final_action: block | SELECT date_trunc('day', __time__) as dt, count(1) as PV GROUP by dt ORDER by dtA função date_trunc agrupa carimbos de data/hora por dia. Para mais informações sobre esta função, consulte Date and time functions.
-
Analise a distribuição dos países de source (country) das solicitações de ataque a um site (your_domain_name).
matched_host: your_domain_name and final_action: block | SELECT ip_to_country( if(real_client_ip = '-', remote_addr, real_client_ip) ) as country, count(1) as "Number of attacks" GROUP by countryNos logs do WAF, o campo
real_client_iprepresenta o IP real do cliente. Se não for possível obter o IP real do cliente devido a motivos como acesso do usuário por meio de um servidor proxy ou um campo IP incorreto no cabeçalho da solicitação (caso em que o valor dereal_client_ipé-), use o camporemote_addr(que representa o endereço remoto) como o IP real do cliente. -
Analise a distribuição das províncias de source (province) das solicitações de ataque a um site (your_domain_name).
matched_host: your_domain_name and final_action: block | SELECT ip_to_province( if(real_client_ip = '-', remote_addr, real_client_ip) ) as province, count(1) as "Number of attacks" GROUP by provinceA função ip_to_province recupera as informações de província para um IP real de cliente. Para mais informações sobre esta função, consulte IP functions.