Envie eventos do WAF para um SIEM
Crie um stream que envia ao seu SIEM as requisições que o WAF analisou, no Azion Console ou com a Azion API, e confirme a entrega.
Você pode enviar os eventos do Web Application Firewall (WAF) para uma plataforma de security information and event management (SIEM) pelo Azion Console ou com a Azion API. Para enviar as requisições das suas aplicações sem dados do WAF, consulte Endpoints e o guia do seu endpoint.
Um stream do Data Stream lê a fonte de dados WAF Events e formata cada evento com o template WAF Event Collector. Cada linha de log traz a pontuação que a requisição recebeu, as regras do WAF que ela acionou, a família do ataque e a ação que o WAF tomou. Para cada variável, consulte WAF Events.
O exemplo envia os eventos para um tópico do Apache Kafka que o seu SIEM lê. No formulário do stream, o endpoint é definido no campo Connector.
Pré-requisitos
Console
- Uma conta Azion com a permissão Edit Data Stream. Para as permissões, consulte Configurações do stream.
- Firewall com WAF na conta, protegendo um workload que recebe requisições. Para configurar o WAF, consulte Primeiros passos com WAF.
- Um endpoint que o seu SIEM lê. Este guia usa um cluster do Apache Kafka, com o host e a porta dos servidores para a conexão inicial e o nome de um tópico. Para os outros endpoints para os quais um stream pode enviar, consulte Endpoints.
- Acesso ao Azion Console. Para entrar, consulte Como acessar o Azion Console.
Crie o stream
O stream coleta os eventos do WAF do workload que você escolher, por meio de um filtro de workloads. Diferente do sampling, um filtro de workloads mantém os seus outros streams ativos.
Console
Para criar o stream no Azion Console:
Acesse Azion Console > Data Stream.
Na seção General, insira um Name. Por exemplo: waf-to-siem.
Na seção Input, selecione WAF Events em Data Source.
Na seção Transform, desligue Sampling enquanto Option ainda está em All Current and Future Workloads, o valor inicial. Um stream não pode ter sampling e um filtro de workloads ao mesmo tempo.
Na seção Transform, defina Option como Filter Workloads. Em Available Workload, selecione o workload que o WAF protege e mova-o para Chosen Workload com a seta. Se o seu Console nomeia domínios onde esta guia nomeia workloads, o mesmo controle aparece como Filter Domains. A lista de seleção passa a mostrar Available Domain e Chosen Domain.
Na seção Render Template, selecione 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. Para outro SIEM, selecione a opção dele, como Splunk, IBM QRadar ou Elasticsearch, e insira os campos que Endpoints lista para ele.
Em Bootstrap Servers, insira cada servidor como host:port, separados por vírgula e sem espaço. Por exemplo: kafka1.example.com:9092,kafka2.example.com:9092.
Em Kafka Topic, insira o nome do tópico que o seu SIEM lê. Por exemplo: azion.waf.
Ligue Enable Transport Layer Security (TLS) para enviar os eventos criptografados. Os servidores de destino precisam de um certificado de uma autoridade certificadora confiável.
Na seção Status, mantenha Active ligado.
O Console mostra Your data stream has been created. O stream aparece na lista do Data Stream com waf na coluna Source e o status Active.
Salvar o stream verifica o formato de cada campo e não contata o cluster. Um endereço de servidor ou um tópico errado só aparece quando o stream envia. Uma ativação entra em vigor depois de um a dois minutos.
Confirme a entrega
Real-Time Events registra cada envio de um stream, entregue ou não, com o código de status que o endpoint retornou. Envie algumas requisições ao workload que o WAF analisa e aguarde cerca de um minuto. Um stream envia um lote a cada 60 segundos, ou antes, quando chega a 2.000 linhas de log.
Console
Para encontrar os envios no Azion Console:
Acesse Azion Console > Real-Time Events.
Cada linha é um envio. Encontre as linhas cujo Endpoint Type corresponde ao seu endpoint e leia o Status Code delas.
Um Status Code 200 significa que o endpoint aceitou o lote. Streamed Lines dá o número de linhas de log do lote.
Um status diferente de 200 é a resposta do endpoint, e 503 significa que Data Stream encontrou o endpoint indisponível. Para as causas, consulte Solucionar problemas de Data Stream.
No SIEM, cada linha de log traz as chaves do template WAF Event Collector. Leia estas chaves para verificar que os eventos são os que o WAF analisou:
waf_attack_actiontraz a ação que o WAF tomou, como$BLOCKou$PASS.waf_attack_familytraz a classe da infração, comoSQLouXSS.waf_scoreewaf_matchtrazem a pontuação da requisição e as infrações que ela acionou.blockedvale1quando o WAF bloqueou a requisição. Enquantowaf_learningvale1, o WAF não bloqueia nenhuma requisição.
Para correlacionar esses eventos com os dados de requisição das suas aplicações em uma única linha de log, use a fonte de dados Applications com o template Applications + WAF Event Collector. Para o trade-off, consulte Boas práticas para Data Stream.
Estas verificações confirmam o caso de uso Proteger aplicações web contra ataques do OWASP Top 10 e zero-day.
Estas verificações confirmam o caso de uso Proteger APIs públicas contra abuso.
Estas verificações confirmam o caso de uso Bloquear atacantes automaticamente a partir de detecções do SIEM.