Sistema de detecção de intrusão Suricata

Suricata é baseado no sistema Snort IDS, que também é um sistema de detecção de intrusão, Snort, vimos isso em outros tutoriais, como:
  • Ferramentas de prevenção e segurança de hackers
  • Fortalecimento da segurança de servidores e sistemas operacionais

Meerkat que é capaz de análise multithread, decodificação nativa de fluxos de rede e montagem de arquivos de fluxo de rede durante a realização de análises.

Esta ferramenta é muito escalável, isto significa que pode rodar várias instâncias e equilibrar a carga caso tenhamos vários processadores, permitindo o aproveitamento de todo o potencial de uma equipa. Isso nos permite não ter problemas de consumo de recursos enquanto executamos uma análise.
Os protocolos mais comuns são reconhecidos automaticamente por Meerkat, tanto http, https, ftp, smtp, pop3 e outros, permitindo-nos configurar regras para permissões e filtragem do tráfego de entrada e saída, também controlamos a porta através da qual cada protocolo é acessado.
Outro serviço que oferece é a identificação Arquivo, MD5 checksums e controle de arquivos compactados. Suricata pode identificar quais tipos de arquivos estão sendo transferidos ou acessados ​​na rede. Se quisermos acessar um arquivo, esta tarefa fará com que o Suricata crie um arquivo em disco com formato de metadados que descreve a situação e a tarefa realizada. A soma de verificação MD5 é usada para determinar se o arquivo de metadados que armazena as informações sobre as tarefas executadas não foi modificado.

Instale Suricata em nosso sistema operacional


Suricata pode ser usado em qualquer plataforma Linux, Mac, FreeBSD, UNIX e Windows, podemos baixá-lo de seu site oficial ou se tivermos Linux para instalá-lo a partir dos repositórios.

Vamos instalar o Suricata neste tutorial no Linux Mint. Para instalar o Suricata, abrimos uma janela de terminal e digitamos os seguintes comandos:
 sudo add-apt ppa-repository: oisf / meerkat estável sudo update apt-get sudo apt-get install meerkat
Com isso ele seria instalado.

Configurar Suricata em um servidor


A partir do Linux teremos que acessar o terminal em modo administrador, começaremos com a criação de uma pasta onde armazenar as informações que Suricata irá coletar e registrar.
 sudo mkdir / var / log / meerkat
Devemos também verificar se o sistema está na pasta etc, caso contrário, o criamos:
 sudo mkdir / etc / meerkat
Já teremos o Suricata instalado e o Sistema de detecção de intrusão e analisador de tráfego de rede. Nesta fase, não existem regras definidas para filtrar, por isso devemos criar regras ou usar. Ameaças emergentes, que é um repositório de regras e ameaças conhecidas para Snort e Suricata, algo como um banco de dados de antivírus, mas para intrusões, usar as regras de ameaças emergentes é gratuito e gratuito.
Então, podemos baixar arquivos de regras do terminal com os seguintes comandos:
 wget http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
Em seguida, devemos descompactar o arquivo e copiá-lo para a pasta / etc / suricata
 tar zxvf emerging.rules.tar.gz cp -r rules / etc / suricata /
Em seguida, teremos que configurar o Suricata parsing engine, com a configuração padrão ele usará as interfaces de rede eth0 com as regras que ele contém e definimos no arquivo signatures.rulesPara configurar novas regras, devemos usar o seguinte comando:
 meerkat -c meerkat.yaml -s signatures.rules -i eth0
As regras serão configuradas.

Interfaces de rede disponíveis


Para verificar as conexões ou interfaces de rede disponíveis, em uma janela de terminal, escrevemos o seguinte comando:
 Ifconfig 

Agora você pode ver qual deles queremos auditar sabendo o IP de cada um e seu nome. Para iniciar o mecanismo e atribuir uma interface de rede, por exemplo a rede Wi-Fi, escrevemos o seguinte comando:
 sudo suricata -c /etc/suricata/suricata.yaml -i wlan0
Se quisermos auditar a rede com fio, usaremos a eth0. Para ver se o motor está funcionando corretamente e realmente realizando inspeções na rede, devemos usar o seguinte comando:
 cd / var / log / suricata tail http.log
Isso nos mostrará uma lista com a data, hora e a web ou IP que foi acessado e por qual porta. Se olharmos os arquivos de statslog, podemos observar o fluxo de tráfego e os alertas detectados, devemos distinguir as páginas que navegamos daquelas que são redirecionadas por meio de publicidade.

 tail -f stats.log
Também podemos baixar os arquivos de log e abri-los com um editor de texto ou nosso próprio software para melhorar a leitura.
Um exemplo é um arquivo Json chamado even.json

Aqui podemos ver as portas utilizadas e o ip podemos ver que o ip 31.13.85.8 corresponde ao Facebook, também detectamos um acesso a c.live.com, que seria o email do Outlook web.

Vamos ver outro log onde detectamos o acesso do Google Chrome ao site Solvetic.com.

Para não controlar todo o tráfego, podemos determinar o monitor de um grupo ou de um usuário específico com o seguinte comando.
 sudo suricata -c /etc/suricata/suricata.yaml -D -i eth0 --user = jose01 --group = contabilidade
Devemos ter em mente que a execução de conjuntos de regras, mesmo de tamanho modesto, para monitorar um fluxo de tráfego HTTP usando os repositórios de ameaças completos e seu conjunto de regras exigirá aproximadamente um consumo equivalente de recursos de CPU e RAM. Em um tráfego de 50 Mb por segundo, embora não seja muito para afetar um servidor.

Regras para ignorar o tráfego


Em alguns casos, há motivos para ignorar determinado tráfego que não temos interesse em monitorar. Talvez um host, rede ou site confiável.
Vamos ver algumas estratégias para ignorar o tráfego com suricato. Através dos filtros de captura, você pode dizer ao Suricata o que seguir e o que não seguir. Por exemplo, um filtro de protocolo tcp simples auditará apenas pacotes TCP.
Se alguns computadores ou redes devem ser ignorados, devemos usar não IP1 ou ip / 24, para ignorar todos os computadores em uma rede.

Aprovar um pacote e seu tráfego


Para aprovar regras com suricata e determinar se um pacote não é filtrado por exemplo de um determinado IP e do protocolo TCP, então usaremos o seguinte comando nos arquivos de regras estabelecidos na pasta / etc / suricata / rules
 Passe 192.168.0.1 any any any (msg: "Aceitar todo o tráfego deste ip";)
Para ver quais módulos ativamos para Suricata, abriremos uma janela de terminal e digitaremos o seguinte comando:
 meerkat --build-info
Vimos como o Meerkat com seu Serviço IDS Baseado em regras para controlar o tráfego da rede e fornecer alertas ao administrador do sistema quando ocorrerem eventos suspeitos, é muito útil para que, acompanhado de outros sistemas de segurança de rede, nos permita proteger nossos dados de acessos indevidos.
Suricata possui a funcionalidade e opções de biblioteca que podem ser adicionadas por meio de plug-ins para serem incorporados como monitor ou API em outros aplicativos.
Algo importante é saber quais serviços estão ativos e o que devemos monitorar para não ter relatórios muito longos de serviços ou portas que não funcionam.
Se, por exemplo, os servidores são apenas da web e precisam apenas da porta 80 para HTTP, não há razão para monitorar o serviço SMTP que é para o envio de e-mail.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave