Pular para conteúdo

Splunk Enterprise via Logstash

Estas instruções fornecem a você o exemplo de integração do Wallarm com o coletor de dados Logstash para encaminhar eventos posteriores ao sistema SIEM de Splunk.

O esquema de registro mais comum em sistemas complexos consiste nos seguintes componentes:

  • Coletor de dados: aceita logs de várias fontes e encaminha os logs para o sistema SIEM

  • Sistema SIEM ou sistemas de gerenciamento de logs: usados para analisar logs e monitorar o status do sistema

Fluxo do Webhook

Recursos utilizados

Endereços IP da Wallarm Cloud

Para fornecer acesso ao Wallarm Cloud para seu sistema, você pode precisar de uma lista de seus endereços IP públicos:

35.235.66.155
34.102.90.100
34.94.156.115
35.235.115.105
34.94.85.217
34.94.51.234
34.102.59.122
34.94.238.72
34.141.230.156
34.91.138.113
34.90.114.134
35.204.127.78

Como os links para os serviços Splunk Enterprise e Logstash são citados como exemplos, eles não respondem.

Configuração do Splunk Enterprise

Os logs do Logstash são enviados para o Splunk HTTP Event Controller com o nome Wallarm Logstash logs e outras configurações padrão:

Configuração do coletor de eventos HTTP

Para acessar o HTTP Event Controller, o token gerado 93eaeba4-97a9-46c7-abf3-4e0c545fa5cb será usado.

Uma descrição mais detalhada da configuração do Splunk HTTP Event Controller está disponível na documentação oficial do Splunk.

Configuração do Logstash

Como o Wallarm envia logs para o coletor de dados intermediário Logstash via webhooks, a configuração do Logstash deve atender aos seguintes requisitos:

  • Aceitar as solicitações POST ou PUT

  • Aceitar solicitações HTTPS

  • Ter URL pública

  • Encaminhar logs para Splunk Enterprise, este exemplo usa o plug-in http para encaminhar logs

O Logstash é configurado no arquivo logstash-sample.conf:

  • O processamento de webhook de entrada é configurado na seção input:

    • O tráfego é enviado para a porta 5044
    • Logstash está configurado para aceitar apenas conexões HTTPS
    • O certificado TLS Logstash assinado por uma CA publicamente confiável está localizado dentro do arquivo /etc/server.crt
    • A chave privada para o certificado TLS está localizada dentro do arquivo /etc/server.key
  • O encaminhamento de logs para Splunk e a saída de log são configurados na seção output:

    • Os logs são encaminhados do Logstash para o Splunk no formato JSON
    • Todos os logs de eventos são encaminhados do Logstash para o endpoint da API Splunk https://109.111.35.11:8088/services/collector/raw via solicitações POST. Para autorizar solicitações, o token HTTPS Event Collector é usado
    • Os logs Logstash são impressos adicionalmente na linha de comando (15ª linha de código). A configuração é usada para verificar que os eventos são registrados via Logstash
input {
  http { # plugin de entrada para tráfego HTTP e HTTPS
    port => 5044 # port for incoming requests
    ssl => true # processing of HTTPS traffic
    ssl_certificate => "/etc/server.crt" # Logstash TLS certificate
    ssl_key => "/etc/server.key" # private key for TLS certificate
  }
}
output {
  http { # output plugin to forward logs from Logstash via HTTP/HTTPS protocol
    format => "json" # format of forwarded logs
    http_method => "post" # HTTP method used to forward logs
    url => "https://109.111.35.11:8088/services/collector/raw" # endpoint to forward logs to
    headers => ["Authorization", "Splunk 93eaeba4-97a9-46c7-abf3-4e0c545fa5cb"] # HTTP headers to authorize requests
  }
  stdout {} # output plugin to print Logstash logs on the command line
}

Uma descrição mais detalhada dos arquivos de configuração está disponível na documentação oficial do Logstash.

Testando a configuração do Logstash

Para verificar que os logs do Logstash são criados e encaminhados para Splunk, a solicitação POST pode ser enviada para o Logstash.

Exemplo de solicitação:

curl -X POST 'https://logstash.example.domain.com' -H "Content-Type: application/json" -H "Authorization: Splunk 93eaeba4-97a9-46c7-abf3-4e0c545fa5cb" -d '{"key1":"value1", "key2":"value2"}'

Logs do Logstash:
Logs do Logstash

Eventos Splunk:
Eventos Splunk

Configuração da integração do Logstash

  • Webhooks são enviados para https://logstash.example.domain.com

  • Webhooks são enviados via solicitações POST

  • A integração webhook tem configurações avançadas padrão

  • Webhooks enviados para URLs de Webhook são todos eventos disponíveis: hits, eventos do sistema, vulnerabilidades, alterações de escopo

Integração do Webhook com o Logstash

Mais detalhes sobre a configuração da integração do Logstash

Teste de exemplo

Para testar a configuração, um novo usuário é adicionado no Console Wallarm:

Adicionando usuário

Logstash registrará o evento da seguinte forma:

Registro sobre novo usuário no Splunk de Logstash

A seguinte entrada será exibida nos eventos do Splunk:

Novo cartão de usuário no Splunk de Logstash

Organizando eventos em um painel

Para organizar eventos Wallarm em um painel de controle pronto para usar no Splunk 9.0 ou posterior, você pode instalar o aplicativo Wallarm para Splunk.

Este aplicativo fornece um painel de controle pré-configurado que é automaticamente preenchido com os eventos recebidos da Wallarm. Além disso, o aplicativo permite que você prossiga para logs detalhados sobre cada evento e exporte os dados do painel de controle.

Painel Splunk

Para instalar o aplicativo Wallarm para Splunk:

  1. Na interface do usuário Splunk ➝ Apps, encontre o aplicativo Wallarm API Security.

  2. Clique em Instalar e insira as credenciais do Splunkbase.

Se alguns eventos Wallarm já estiverem registrados no Splunk, eles serão exibidos no painel de controle, bem como eventos adicionais que a Wallarm descobrirá.

Além disso, você pode personalizar completamente o painel pronto para uso, por exemplo, sua visualização ou strings de pesquisa usados ​​para extrair dados de todos os registros Splunk.