Snort: Guia Completo da Pré-Instalação à Configuração

Depois de aprender o que é Snort e descobrir as principais características desse poderoso sistema de detecção de intrusões, chegou o momento de instalar o Snort e configurá-lo em sua máquina.

Se você estiver lendo isto sem saber ao certo do que estou falando, primeiro veja esta apresentação que fiz do programa.

O que considerar antes do processo? Primeiramente, recomendo que crie uma máquina virtual rodando o Ubuntu Server — você pode utilizar programas como VirtualBox ou similares. Durante a configuração reserve pelo menos 4 GB de RAM e um espaço razoável de armazenamento.

Caso a sua pretensão seja de instalar no sistema operacional convencionalmente, certifique-se de criar um ponto de restauração. Mas como fazê-lo no Linux? Instalando o Timeshift. Nas distribuições Ubuntu, utilize os comandos:

sudo add-apt-repository ppa:noobslab/apps # na versão server

sudo add-apt-repository ppa:teejee2008/ppa # no desktop

sudo apt update

sudo apt install timeshift

instalar snort no linux

Depois disso, basta criar um snapshot do sistema a partir da interface gráfica do programa. Simples e fácil! Sem mais delongas, vamos aos procedimentos de instalação e configuração do Snort.

Snort Instalação: Ubuntu

snort como instalar

É muito importante deixar o sistema pronto para receber a instalação do programa e, com isso, evitar que falhas aconteçam.

Preparando o sistema

Além do tradicional sudo apt update e sudo apt upgrade, no caso do Snort é necessário instalar uma série de dependências. A boa notícia é que a maior parte do trabalho pode ser feita usando um só comando:

sudo apt install openssh-server ethtool build-essential libpcap-dev libpcre3-dev libdumbnet-dev bison flex zlib1g-dev liblzma-dev openssl libssl-dev libnghttp2-dev

Outra dependência é o DAQ (Data Aquisition), necessário para fazer requisições a bibliotecas de captura de pacotes. Baixe o arquivo tar da versão mais recente diretamente do site oficial. Se preferir, utilize o comando wget conforme as instruções, abaixo:

wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

tar -zxvf daq-2.0.6.tar.gz

cd daq-2.0.6

./configure && make && make install

Sistema preparado? Ainda não. Segundo o manual de usuário do Snort, publicado em 2017, a ferramenta, automaticamente, irá truncar pacotes cujo tamanho ultrapassa o padrão estabelecido de 1518 bytes.

Leia mais:  8 Dicas para otimizar seus estudos do sistema LINUX e se tornar um profissional (Dica 3 e Dica 7 resolve um erro comum de quem está começando)

Para evitar que isso aconteça, é necessário desativar duas funcionalidades da placa de rede: Large Receive Offload (lro) e Generic Receive Offload (gro). Como proceder? O administrador do sistema deve editar o arquivo /etc/network/interfaces. Ao abri-lo, localize as linhas conforme o exemplo:

sudo vi /etc/network/interfaces

post-up ethtool -K eth0 gro off

post-up ethtool -K eth0 lro off

Observação: localize as linhas correspondentes, também, a outras interfaces de redes que se comunicarão com o Snort. Exemplo: post-up ethtool -K interface gro / lro off.

Instalando o Snort

Utilize novamente o comando wget para fazer o download da versão mais recente do Snort (consultar a página oficial), como fizemos na instalação do DAQ.

wget https://www.snort.org/downloads/snort/snort-2.9.13.tar.gz

tar xvzf snort-2.9.13.tar.gz

cd snort-2.9.13

./configure --enable-sourcefire --enable-sourcefire

make

make install

sudo ldconfig

sudo ln s /usr/local/bin/snort /usr/sbin/snort

Finalizando, digite no terminal /usr/sbin/snort -V para validar a instalação.

Configurando o Snort

É bem provável que você se lembre de que o Snort funciona em diferentes modos: sniffer, registrador de pacotes, e IDS de rede (Network Intrusion Detection System – NIDS). Neste tópico vamos configurá-lo como NIDS.

Iniciaremos a configuração criando, manualmente, uma série de diretórios que servirão de base para o Snort. Siga a demonstração, abaixo:

mkdir /etc/snort

mkdir /etc/snort/preproc_rules

mkdir /etc/snort/rules

mkdir /var/log/snort

mkdir /usr/local/lib/snort_dynamicrules

touch /etc/snort/rules/white_list.rules

touch /etc/snort/rules/black_list.rules

touch /etc/snort/rules/local.rules

Para que se possa trabalhar adequadamente com os diretórios recém-criados, acrescente a permissão 5775 — confira este artigo sobre chmod e compreenda melhor o conceito de permissões no Linux — na seguinte relação:

chmod -R 5775 /etc/snort/

chmod -R 5775 /var/log/snort/

chmod -R 5775 /usr/local/lib/snort

sudo chmod -R 5775 /var/log/snort/archived_logs

chmod -R 5775 /usr/local/lib/snort_dynamicrules/

Em seguida, use o comando chown para alterar a propriedade dos arquivos nas seguintes pastas:

sudo chown -R snort:snort /etc/snort

sudo chown -R snort:snort /var/log/snort

sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules

Movendo arquivos essenciais do Snort

Tudo pronto? Então vamos agora mover alguns arquivos presentes na pasta do Snort que extraímos na instalação. São eles:

  • attribute table.dtd: permite ao Snort utilizar informações externas para determinar políticas e protocolos;
  • classification.config: descreve os tipos de classes de ataques compreendidos pelo Snort;
  • file_magic.conf: descreve regras para identificar o tipo de cada arquivo;
  • gen-msg.map: deixa o Snort ciente de qual pré-processador é acionado por cada regra;
  • reference.config: armazena URLs inseridas nas regras para fornecer informações sobre alertas;
  • snort.conf: é o próprio arquivo de configuração do Snort;
  • threshold.conf: permite ao usuário controlar o número de eventos necessários para gerar um alerta; e
  • unicode.map: fornece o mapeamento entre linguagens Unicode e o identificador.
Leia mais:  NFtables: Aprenda Como Utilizar o Firewall Universal Para Linux

Faça a seguinte sequência de comandos para mover os arquivos listados acima:

cd ~/snort_src/snort-2.9.13/etc/

sudo cp *.conf* /etc/snort

sudo cp *.map /etc/snort

sudo cp *.dtd /etc/snort

cd ~/snort_src/snort-2.9.13/src/dynamic-preprocessors/build/usr/local/lib/snort_dynamicpreprocessor/

sudo cp * /usr/local/lib/snort_dynamicpreprocessor/

Editando o snort.conf

O último passo da configuração é a edição de algumas linhas do arquivo snort.conf. Utilizando o Stream Editor (comando sed), vamos comentar todas as regras usando o seguinte comando:

sed -i "s/include \$RULE\_PATH/#include \$RULE\_PATH/" /etc/snort/snort.conf

Ao concluir, selecione um editor de texto para que possamos modificar as linhas. Na 45ª linha, configure a rede local com o endereço de IP que você deseja proteger (194.168.15.0/24, por exemplo).

ipvar HOME_NET 194.168.15.0/24

Em seguida, indicaremos ao Snort os diretórios que criamos no início da configuração e, concluindo a etapa, habilitaremos o arquivo /etc/snort/rules/local.rules, no qual você guardará as regras que criará. Digite os comandos:

var RULE_PATH /etc/snort/rules

var SO_RULE_PATH /etc/snort/so_rules

var PREPROC_RULE_PATH /etc/snort/preproc_rules

var WHITE_LIST_PATH /etc/snort/rules/iplists

var BLACK_LIST_PATH /etc/snort/rules/iplists

include $RULE_PATH/local.rules

Vamos conferir se as configurações estão funcionam?

Testando as configurações do Snort

Depois de tanto trabalho para cuidar de todos os detalhes para configurar o Snort, chegou a hora de validá-lo. Baseando-se no exemplo a seguir, digite o comando de teste — preste atenção ao inserir a interface de rede.

sudo snort -T -c /etc/snort/snort.conf -i eth0

Resumindo, a flag -T significa teste, enquanto a -c mostra ao Snort que o diretório leva ao snort.conf e o -i, indica que uma interface será especificada.

Ao longo deste conteúdo você teve acesso a um tutorial básico, porém rico, para instalar o Snort em sua máquina e deixá-lo rodando corretamente. Além disso, fizemos um pequeno teste para confirmar o funcionamento da ferramenta. O que achou das dicas? Deixe a resposta nos comentários!

No mais, um convite: se você está avançando em seus estudos sobre o Linux e deseja alcançar o nível profissional de maneira organizada e rápida, visite agora mesmo o site do projeto Profissionais Linux.

Leia mais:  Wine - Execute Programas Do Windows Na Sua Distro Linux

Speak Your Mind

*