Pular para conteúdo

Logstash

Você pode configurar o Wallarm para enviar notificações de eventos detectados para o Logstash.

Formato de notificação

O Wallarm envia notificações para o Logstash via webhooks no formato JSON. O conjunto de objetos JSON depende do evento sobre o qual Wallarm está notificando.

Exemplo da notificação de um novo hit detectado:

[
    {
        "summary": "[Wallarm] Novo hit detectado",
        "details": {
        "client_name": "TestCompany",
        "cloud": "UE",
        "notification_type": "new_hits",
        "hit": {
            "domain": "www.exemplo.com",
            "heur_distance": 0.01111,
            "method": "POST",
            "parameter": "ALGUM_valor",
            "path": "/news/some_path",
            "payloads": [
                "diga ni"
            ],
            "point": [
                "post"
            ],
            "probability": 0.01,
            "remote_country": "PL",
            "remote_port": 0,
            "remote_addr4": "8.8.8.8",
            "remote_addr6": "",
            "tor": "none",
            "request_time": 1603834606,
            "create_time": 1603834608,
            "response_len": 14,
            "response_status": 200,
            "response_time": 5,
            "stamps": [
                1111
            ],
            "regex": [],
            "stamps_hash": -22222,
            "regex_hash": -33333,
            "type": "sqli",
            "block_status": "monitored",
            "id": [
                "hits_production_999_202010_v_1",
                "c2dd33831a13be0d_AC9"
            ],
            "object_type": "hit",
            "anomaly": 0
            }
        }
    }
]

Requisitos

A configuração do Logstash deve atender aos seguintes requisitos:

  • Aceitar solicitações POST ou PUT

  • Aceitar solicitações HTTPS

  • Possuir URL pública

Exemplo de confiração do Logstash:

input {
  http { # plugin de entrada para tráfego HTTP e HTTPS
    port => 5044 # porta para solicitações de entrada
    ssl => true # processamento de tráfego HTTPS
    ssl_certificate => "/etc/server.crt" # certificado TLS do Logstash
    ssl_key => "/etc/server.key" # chave privada para o certificado TLS
  }
}
output {
  stdout {} # plugin de saída para imprimir logs do Logstash na linha de comando
  ...
}

Você pode encontrar mais detalhes na documentação oficial do Logstash.

Configurando a integração

  1. Prossiga para a configuração da integração do Logstash no Console Wallarm → IntegraçõesLogstash.

  2. Insira o nome da integração.

  3. Especifique a URL do Logstash de destino (URL do webhook).

  4. Se necessário, configure as configurações avançadas:

    • Método de solicitação: POST ou PUT. Por padrão, solicitações POST são enviadas.
    • Cabeçalho da solicitação e seu valor se o servidor requer um cabeçalho não padrão para executar a solicitação. O número de cabeçalhos não é limitado.
    • Certificado CA: certificado da CA que assinou um certificado do servidor. Se a CA é de confiança pública, este campo é opcional. Se um certificado do servidor é autoassinado, este campo é obrigatório e deve conter um certificado de sua própria CA que assinou um certificado do servidor.
    • Verificar certificado TLS: esta configuração permite desativar a verificação do certificado do servidor especificado. Por padrão, a Wallarm verifica se um certificado do servidor é assinado por uma CA de confiança pública. Não recomendamos a desativação da verificação de certificados de servidor de produção. Se o seu servidor usa um certificado TLS autoassinado, você pode adicionar um certificado CA autoassinado para permitir o envio de solicitações a este servidor.
    • Tempo limite da solicitação, em segundos: se o servidor não responder à solicitação dentro do tempo especificado, a solicitação falha. Por padrão: 15 segundos.
    • Tempo limite da conexão, em segundos: se a conexão com o servidor não puder ser estabelecida durante o tempo especificado, a solicitação falha. Por padrão: 20 segundos.
  5. Escolha tipos de eventos para disparar notificações.

    Integração Logstash

    Detalhes sobre os eventos disponíveis:

    • Hits detectados, com exceção de:

    • Relacionados ao sistema:

      • Mudanças de usuário (novo criado, excluído, mudança de função)
      • Mudanças de integração (desativada, excluída)
      • Mudanças de aplicação (nova criada, excluída, mudança de nome)
    • Vulnerabilidades detectadas, todas por padrão ou apenas para o(s) nível(is) de risco selecionado(s) - alto, médio ou baixo.
    • Regras e gatilhos alterados (criação, atualização ou exclusão da regra ou gatilho)
    • Escopo (ativos expostos) alterado: atualizações em hosts, serviços e domínios
    • De hora em hora, você pode receber uma notificação com o número de solicitações processadas durante a hora anterior
  6. Clique em Testar integração para verificar a correção da configuração, a disponibilidade do Cloud Wallarm e o formato da notificação.

    O log de teste do Logstash:

    [
        {
            summary:"[Mensagem de teste] [Parceiro de teste (EUA)] Nova vulnerabilidade detectada",
            description:"Tipo de notificação: vuln
    
                        Uma nova vulnerabilidade foi detectada no seu sistema.
    
                        ID: 
                        Título: Teste
                        Domínio: exemplo.com
                        Caminho: 
                        Método: 
                        Descoberta por: 
                        Parâmetro: 
                        Tipo: Info
                        Ameaça: Média
    
                        Mais detalhes: https://us1.my.wallarm.com/object/555
    
    
                        Cliente: TestCompany
                        Nuvem: EUA
                        ",
            details:{
                client_name:"TestCompany",
                cloud:"EUA",
                notification_type:"vuln",
                vuln_link:"https://us1.my.wallarm.com/object/555",
                vuln:{
                    domain:"exemplo.com",
                    id:null,
                    method:null,
                    parameter:null,
                    path:null,
                    title:"Teste",
                    discovered_by:null,
                    threat:"Média",
                    type:"Info"
                }
            }
        }
    ]
    
  7. Clique em Adicionar integração.

Configurando alertas adicionais

Além das notificações que você já configurou por meio do cartão de integração, os gatilhos Wallarm permitem que você selecione eventos adicionais para notificações:

Para detalhar a condição, você pode adicionar um ou mais filtros. Assim que a condição e os filtros são definidos, selecione a integração através da qual o alerta selecionado deve ser enviado. Você pode selecionar várias integrações simultaneamente.

Escolhendo uma integração

Usando Logstash como coletor intermediário de dados

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

Por exemplo:

Fluxo do Webhook

Para registrar eventos do Wallarm usando este esquema:

  1. Configure o coletor de dados para ler os webhooks de entrada e encaminhar os logs para o próximo sistema. Wallarm envia eventos aos coletores de dados via webhooks.

  2. Configure um sistema SIEM para obter e ler logs do coletor de dados.

  3. Configure o Wallarm para enviar logs para o coletor de dados.

    Wallarm pode enviar logs a qualquer coletor de dados via webhooks.

    Para integrar o Wallarm com Fluentd ou Logstash, você pode utilizar os respectivos cartões de integração na interface de usuário do Console Wallarm.

    Para integrar Wallarm com outros coletores de dados, você pode utilizar o cartão de integração de webhook na interface de usuário do Console Wallarm.

Descrevemos alguns exemplos de como configurar a integração com os coletores de dados populares que encaminham logs para os sistemas SIEM:

Desativando e excluindo uma integração

Você pode excluir ou desativar temporariamente a integração. Embora a exclusão interrompa o envio de notificações e exclua completamente todas as configurações, a desativação apenas interrompe o envio de notificações que você pode reativar a qualquer momento com as mesmas configurações.

Se para a integração os eventos Relacionados ao sistema forem selecionados para disparar notificações, a Wallarm notificará sobre ambas as ações.