-
Notifications
You must be signed in to change notification settings - Fork 2
Suricata
Apos termos realizado a instalação do Logstash, iremos partir para instalação do 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.
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.
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
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
Neste artigo, nós fornecemos um painel de exemplo para exibir detalhes e tendências em seus alertas.
-
Baixe o arquivo do painel aqui , o arquivo de visualização aqui e o arquivo de pesquisa aqui.
-
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.
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