Maltrail – A ajuda para monitorizar tráfego malicioso na sua rede

17 Comentários

O Maltrail é uma ferramenta de deteção de tráfego malicioso, baseado na arquitetura Tráfego-Sensor-Servidor-Cliente, que utiliza blacklists públicas contendo endereços web com malware e/ou suspeitos, juntamente com endereços estáticos compilados a partir de vários relatórios de antivírus, permitindo ainda ao utilizador criar uma lista personalizada com URL’s ou endereços IP.

Além disso, esta ferramenta possui mecanismos heurísticos avançados para ajudar na descoberta de ameaças desconhecidas. Vamos então conhecer melhor o Maltrail e o que é capaz de fazer para o proteger.


O Maltrail é um componente autónomo, executado num nó de monitorização ou máquina por onde o tráfego passa. Na eventualidade de o resultado ser positivo, os detalhes do evento são enviados para o servidor, armazenados num diretório de registo apropriado.

Caso o Sensor esteja a ser executado na mesma máquina que o Servidor, os ficheiros de registo são armazenados no diretório de log local, caso contrário, são enviados via mensagens UDP para o Servidor remoto.

Em relação ao Servidor, ele é responsável por armazenar os detalhes do(s) evento(s) e fornecer suporte de back-end para a aplicação Web onde serão visualizados todos os relatórios. Por definição, o Servidor e o Sensor são executados na mesma máquina.

Processo de instalação, configuração e teste do Sensor

Passo 1) No terminal, execute o comando:

git clone https://github.com/stamparm/maltrail.git

Aceda à diretoria do Maltrail e liste-a para confirmar se está tudo como pretendido.

cd maltrail/
ls-l

Passo 2) Execute o Sensor. Durante este processo, ele irá atualizar as respetivas listas.

./sensor.py

Passo 3) Numa nova janela de terminal, execute agora o Servidor.

./server.py

Passo 4) Através do browser, aceda ao endereço IP do Servidor, no porto 8338, e faça login.

  • Username: admin
  • Password: changeme!

Esta palavra passe deve ser, obviamente alterada logo que possível.

Passo 5) Abra uma terceira janela de terminal e faça um ping ao IP 136.161.101.53.

Abra o ficheiro de registos do Maltrail e veja o seu conteúdo.

cat /var/log/maltrail/$(date +”%y-%m-%d”).log

Passo 6) O evento foi registado e pode ser consultado.

Como deve ter reparado, o acesso ao Servidor é feito por HTTP, o que significa não ser uma ligação encriptada. Para tal ser possível, é necessário realizar algumas configurações.

Passo 7) Pare a execução do Servidor através das teclas CTRL+C. Na mesma janela de Terminal, e na diretoria do Maltrail, abra o ficheiro maltrail.conf com um editor de texto.

nano maltrail.conf

Na linha USE_SSL substitua FALSE por TRUE.

Passo 8) Inicie o Servidor. Não dará, isto porque para utilizar uma ligação HTTPS é necessário gerar um certificado e a respetiva chave privada. Crie-os através do seguinte comando:

openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes -subj '/0=Maltrail CA/C=EU'

Passo 9) Aceda ao ficheiro maltrail.conf como fez no passo 7 e retire o comentário (#) das linhas identificadas.

Passo 10) Por fim, inicie o Servidor. Verá que agora o acesso por HTTPS já é possível.

A partir de agora, todo o tráfego malicioso ou suspeito ficará registado e poderá ser acedido através do browser, cuja interface permite filtrar os eventos além de os classificar por nível de gravidade, mostrar o endereço de origem e destino, protocolo, etc.

Comentários

17

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Jason
    Jason

    Boas dicas. Continuem

  2. Avatar de Rogério Magalhães
    Rogério Magalhães

    Boa dica!
    É possível aplicar isto num RPi 3 com PiPplware?

    1. Avatar de Anderson
      Anderson

      sim, eu fiz

      1. Avatar de Rogério Magalhães
        Rogério Magalhães

        Ok, obrigado. Vou experimentar.

  3. Avatar de Maico Andrade
    Maico Andrade

    Excelente!

  4. Avatar de The Onee
    The Onee

    Para os mais distraídos, devem mudar a palavra passe que vem por defeito. Deviam ter colocado essa nota importante no artigo. A própria palavra passe em português significa “muda-me”, mas seria importante chamar à atenção sobre esse pormenor.

  5. Avatar de Altair
    Altair

    Muito bom o tutorial, continuem assim, tutorial simples e direto.
    mandem mais tutoriais assim, são muito úteis .
    estão de parabéns

  6. Avatar de Allez
    Allez

    Obrigado! Continuem.

  7. Avatar de Edjanio da Silva
    Edjanio da Silva

    Excelente tutorial meus parabéns. Sucesso a todos da equipe pplware…

  8. Avatar de Alexandre Vieira
    Alexandre Vieira

    Boas, tenho uma firewall em Linux (IP fire), como posso implementar maltrail, o SO Linux(Ubuntu server?), Com duas placas de rede? Uma liga ao Router e a outra a porta RED do ipfire. É necessário instalar algum serviço de routing no Linux?
    Obrigado

  9. Avatar de Antonio Andreas
    Antonio Andreas

    Muito bom obrigado eu tinha visto em outro forum porem sem o tutorial, agradeço a toda equipe pplware.

  10. Avatar de Peace
    Peace

    Mas como é que se faz o tráfego passar pelo servidor do maltrail?

    1. Avatar de zequinha
      zequinha

      Instala o pihole, por exemplo e configura no DNS das máquinas clientes, o IP dessa máquina. Assim ficas com 2 em 1 😀

    2. Avatar de Diogo
      Diogo

      Boas, Testei um pouco isto hoje e eis o que fiz:

      maltrail server:

      1. Tirar comentario nas linhas abaixo relativas ao protocolo UDP no maltrail.conf

      # Listen port of (log collecting) UDP server
      UDP_PORT 8337

      # Listen address of (log collecting) UDP server
      UDP_ADDRESS 0.0.0.0

      No cliente, fiz download do maltrail, e editei o ficheiro maltrail.conf:

      1. Tirei comentario na linha que diz respeito onde vai o maltrail enviar os logs:

      # Remote address to send syslog entries
      SYSLOG_SERVER 192.168.xxx.xxx:8337

  11. Avatar de Az8teiro
    Az8teiro

    Resumindo, faz o mesmo que os browsers actuais mas para mais protocolos. É um sistema de deteção, não previne, e só faz uma pessoa comum perder tempo que já é escasso hoje em dia.

    Executar um comando na consola do SO permite ver as ligações atuais, o que esse sistema faz é comparar os ips com listas conhecidas da net de endereços maliciosos, e deixar essa informação registada.

    OU seja se o endereço for recente e não constar das listas não é detetado. Bem como os falsos positivos que acontecem em todos os casos. Serve para empresas e análise/inspeção de causas de incidentes após acontecerem, não funciona em tempo real visto não ter alarmes… (pelo menos vocês não mencionaram).

  12. Avatar de Maicon
    Maicon

    Para o caso de uma empresa, seria necessário espelhar o tráfego da porta de Trunk e o servidor precisaria ter duas placas de rede correto?

  13. Avatar de JonyTObias
    JonyTObias

    Alguém conseguiu colocar isto a funcionar com span/mirror?
    Tentei e ele não detecta nada.
    O que funciona é:
    – clientes detectam e enviam por udp o que detectaram, para o servidor