Envie registros de requisições e do WAF a um SIEM
Envie toda requisição a uma aplicação, com os campos do WAF da mesma requisição, a um SIEM em uma linha de log, e confirme a entrega.
Você envia toda requisição a uma aplicação, com os campos do WAF da mesma requisição, a uma plataforma de gerenciamento de informações e eventos de segurança (SIEM) pelo Azion Console ou pela Azion API. Para enviar só as requisições que o WAF analisou, consulte Envie eventos do WAF para um SIEM.
Um stream do Data Stream na fonte de dados Applications, formatado pelo template predefinido Applications + WAF Event Collector, carrega a requisição, a resposta e o endereço do cliente com o score, as correspondências e a flag de bloqueio do WAF da mesma requisição. Uma linha de log responde então a uma pergunta sobre uma requisição, tenha o WAF a sinalizado ou não. O custo é o volume: o template predefinido envia 51 chaves, o maior número entre os cinco templates predefinidos, e o Data Stream é cobrado por requisições e transferência de dados.
- Cada requisição a um workload escolhido vira um evento da fonte de dados Applications.
- O filtro de workloads mantém só os workloads que você escolhe e deixa os outros streams da conta ativos.
- O template
184transforma cada evento em uma linha de log com os campos da requisição e os campos do WAF. - O stream envia as linhas ao endpoint do SIEM em lotes, e o Real-Time Events registra cada envio com o status que o endpoint retornou.
Pré-requisitos
- Um usuário da conta com a permissão Edit Data Stream. Para as permissões, consulte Configurações do stream.
- Um workload cujo firewall aplica um rule set do WAF com uma regra Set WAF. Para montá-lo, consulte Aplique um rule set a toda requisição.
- Um endpoint que o seu SIEM lê. Os exemplos usam um cluster Apache Kafka, com o host e a porta dos servidores e um tópico. Para os outros endpoints, consulte Endpoints.
- Um personal token e o ID do workload, para o procedimento pela API.
- Acesso ao Azion Console, para o procedimento pelo Console. Consulte Acesse o Azion Console.
Os exemplos enviam as requisições do workload <workload-id> para o tópico azion.requests em kafka1.example.com:9092 e kafka2.example.com:9092. Substitua-os pelo seu workload e pelo seu endpoint.
Crie o stream
O stream define o escopo por um filtro de workloads, não por amostragem. Um stream carrega exatamente um dos dois, e salvar um stream ativo com amostragem, em qualquer taxa, inclusive 100, desativa todos os outros streams da conta sem nenhum erro. Um filtro tem até 600 workloads, e um workload criado depois não é coletado até que você o adicione.
Para criar o stream no Azion Console:
Acesse Azion Console > Data Stream.
Na seção General, insira um Name. Por exemplo: requests-to-siem.
Na seção Input, selecione Applications em Data Source.
Na seção Transform, desative Sampling enquanto Option ainda está em All Current and Future Workloads.
Defina Option como Filter Workloads. Em Available Workload, selecione o workload e mova-o para Chosen Workload.
Na seção Render Template, selecione Applications + WAF Event Collector em Template. O campo Data Set mostra as chaves de cada linha de log.
Na seção Output, selecione Apache Kafka em Connector. Insira kafka1.example.com:9092,kafka2.example.com:9092 em Bootstrap Servers e azion.requests em Kafka Topic, e ative Enable Transport Layer Security (TLS).
Na seção Status, mantenha Active ativado.
O Console mostra Your data stream has been created. O stream aparece na lista do Data Stream com workloads na coluna Source.
O stream começa a enviar de um a dois minutos depois de salvo. Salvar verifica o formato de cada campo e não contata o endpoint, então um endereço ou um tópico errado só aparece quando o stream envia. Para um SIEM com connector próprio, selecione-o em Connector, ou envie o type dele em outputs[0]: Splunk recebe a URL e o token do HTTP Event Collector, IBM QRadar uma URL, e Elasticsearch uma URL e uma API key codificada. Um stream mantém um único endpoint, e a API descarta qualquer segunda entrada em outputs sem erro. Para cada campo, consulte Endpoints.
Confirme a entrega
O Real-Time Events registra todo envio de um stream, entregue ou não, com o status code que o endpoint retornou. Um stream envia um lote a cada 60 segundos, ou antes, quando chega a 2.000 linhas de log. Um envio com falha não para o stream, e as linhas dele não são enviadas de novo. Envie algumas requisições ao workload e espere cerca de um minuto.
Para encontrar os envios no Azion Console:
Acesse Azion Console > Real-Time Events.
Encontre as linhas cujo Endpoint Type corresponde ao seu endpoint e leia o Status Code e as Streamed Lines delas.
Um Status Code 200 significa que o endpoint aceitou o lote.
Um status diferente de 200 é a resposta do endpoint, e 503 significa que o Data Stream encontrou o endpoint indisponível. Para as causas, consulte Solucionar problemas de Data Stream.
No SIEM, cada linha de log carrega as chaves do template, nomeadas pelas variáveis dele. Estas chaves ligam a decisão de segurança à requisição:
request_ididentifica a requisição, eremote_addr,host,request_uriestatusa descrevem.waf_scoreewaf_matchtêm o score da requisição e as infrações que ela correspondeu.waf_blockmostra1quando o WAF bloqueou a requisição. Enquantowaf_learningmostra1, o WAF não bloqueia nenhuma requisição, seja qual for o valor dewaf_block.
O SIEM recebe uma linha por requisição ao workload, cada uma com os campos do WAF. O SIEM guarda as linhas pelo tempo que você configurar.