Skip to content

Suricata

Gustavo Esser edited this page Aug 2, 2019 · 11 revisions

Apos termos realizado a instalação do Logstash, iremos partir para instalação do Suricata.

O que é o Suricata ?

O Suricata e uma ferramenta de software livre, um mecanismo de IDS que usa conjuntos de regras para monitorar o tráfego de rede e dispara alertas sempre que ocorrerem eventos suspeitos. O Suricata oferece um mecanismo de vários segmentos, o que significa que ele pode realizar análise de tráfego de rede com mais velocidade e eficiência.

Instalação Suricata

Outros métodos de instalação, visite http://suricata.readthedocs.io/en/latest/install.html

Execute os seguintes comandos:

sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update
sudo sudo apt-get install suricata

Para verificar a instalação, execute o comando suricata -h para ver a lista completa de comandos.

Baixar o conjunto de regras de Ameaças Emergentes

Nesse estágio, não temos nenhuma regra para o Suricata executar. Você pode criar suas próprias regras se há ameaças específicas à sua rede que você deseja detectar ou você também pode usar desenvolvido conjuntos de regras de um número de provedores, como ameaças emergentes ou regras VRT Snort. Usamos o conjunto de regras Ameaças Emergentes livremente acessível aqui.

Baixe o conjunto de regras e as copie para o diretório:

wget http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
tar zxf emerging.rules.tar.gz
sudo cp -r rules /etc/suricata/

Para verificar os alertas resultantes, leia o arquivo fast.log:

tail -f /var/log/suricata/fast.log

Integrando com o Logstash

Precisamos configurar Logstash a leitura da saída do arquivo eve.json. Crie um arquivo logstash.conf usando:

sudo touch /etc/logstash/conf.d/logstash.conf

Adicione o seguinte conteúdo para o arquivo (certifique-se de que o caminho para o arquivo eve.json está correto):

input {
file {
    path => ["/var/log/suricata/eve.json"]
    codec =>  "json"
    type => "SuricataIDPS"
}

}

filter {
if [type] == "SuricataIDPS" {
    date {
    match => [ "timestamp", "ISO8601" ]
    }
    ruby {
    code => "
        if event.get('[event_type]') == 'fileinfo'
        event.set('[fileinfo][type]', event.get('[fileinfo][magic]').to_s.split(',')[0])
        end
    "
    }

    ruby{
    code => "
        if event.get('[event_type]') == 'alert'
        sp = event.get('[alert][signature]').to_s.split(' group ')
        if (sp.length == 2) and /\A\d+\z/.match(sp[1])
            event.set('[alert][signature]', sp[0])
        end
        end
        "
    }
}

if [src_ip]  {
    geoip {
    source => "src_ip"
    target => "geoip"
    #database => "/opt/logstash/vendor/geoip/GeoLiteCity.dat"
    add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
    add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}"  ]
    }
    mutate {
    convert => [ "[geoip][coordinates]", "float" ]
    }
    if ![geoip.ip] {
    if [dest_ip]  {
        geoip {
        source => "dest_ip"
        target => "geoip"
        #database => "/opt/logstash/vendor/geoip/GeoLiteCity.dat"
        add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
        add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}"  ]
        }
        mutate {
        convert => [ "[geoip][coordinates]", "float" ]
        }
    }
    }
}
}

output {
elasticsearch {
    hosts => "localhost"
}
}

Certifique-se de conceder as permissões corretas para o arquivo eve.json para que Logstash pode incluir o arquivo.

sudo chmod 775 /var/log/suricata/eve.json

Criando uma dashboard no Kibana

Neste artigo, nós fornecemos um painel de exemplo para exibir detalhes e tendências em seus alertas.

  1. Baixe o arquivo do painel aqui , o arquivo de visualização aqui e o arquivo de pesquisa aqui.

  2. Na guia Management (Gerenciamento) do Kibana, navegue até Saved Objects (Objetos Salvos) e importe todos os três arquivos. Em seguida, na guia Painel, você pode abrir e carregar o painel de exemplo. Você também pode criar suas próprias visualizações e painéis personalizados para métricas de seu próprio interesse.

1

Com a etapa acima realizada iremos partir para a instalação do Wazuh que e uma ferramenta que realizara toda a integração entre OpenSCAP e o OSSEC.

Próximo: Ossec Wazuh and OpenSCAP