Configurar Snort IDS e Criar Regras

Snort é um Sistema de Detecção de Intrusão de código aberto que você pode usar em seus sistemas Linux. Este tutorial irá rever a configuração básica do Snort IDS e ensiná-lo como criar regras para detectar diferentes tipos de atividades no sistema.

Para este tutorial a rede que vamos usar é: 10.0.0.0/24. Edite o seu /etc/snort/snort.conf e substitua o arquivo “any” ao lado de $HOME_NET com as informações da sua rede como mostrado no exemplo da tela abaixo:

Alternativamente você também pode definir endereços IP específicos para monitorar separados por vírgula, como mostrado nesta tela:

Agora vamos começar e executar este comando na linha de comando:

# snort -d -l /var/log/snort/ -h 10.0.0.0/24 -A console -c /etc/snort/snort.conf

Where:
d= diz ao snort para mostrar dados
l= determina o diretório de logs
h= especifica a rede a monitorar
A= instrui o snort a imprimir alertas no console
c= especifica o arquivo de configuração

Vamos iniciar uma varredura rápida a partir de um dispositivo diferente usando o nmap:

E vamos ver o que acontece no console do snort:

Snort detectou a varredura, agora, também a partir de um dispositivo diferente permite atacar com DoS usando hping3

# hping3 -c 10000 -d 120 -S -w 64 -p 21 –flood –rand-source 10.0.0.3

O dispositivo que exibe Snort está detectando tráfego ruim como mostrado aqui:

Desde que instruímos o Snort para salvar os logs, podemos lê-los executando:

# snort -r

Introduction to Snort Rules

O modo NIDS do Snort funciona baseado nas regras especificadas no /etc/snort/snort.conf file.

Within the snort.conf podemos encontrar regras comentadas e não comentadas como pode ver abaixo:

O caminho das regras normalmente é /etc/snort/rules , aí podemos encontrar os ficheiros de regras:

Vejamos as regras contra backdoors:

Existem várias regras para prevenir ataques de backdoor, surpreendentemente existe uma regra contra o NetBus, um cavalo de Tróia que se tornou popular há algumas décadas atrás, vamos olhar para ele e explicarei as suas partes e como funciona:

alert tcp $HOME_NET 20034 -> $EXTERNAL_NET any (msg: “BACKDOOR NetBus Pro 2.0 connection
established”; flow:from_server,established;
flowbits:isset,backdoor.netbus_2.connect; content: “BN|10 00 02 00|”; depth:6; content:”|
05 00|”; depth:2; offset:8; classtype:misc-activity; sid:115; rev:9;)

Esta regra instrui o snort a alertar sobre conexões TCP na porta 20034 transmitindo para qualquer fonte em uma rede externa.

-> = especifica o sentido do tráfego, neste caso da nossa rede protegida para uma externa

msg = instrui o alerta a incluir uma mensagem específica ao exibir

content = busca por conteúdo específico dentro do pacote. Pode incluir texto se entre ” ” ou dados binários se entre | | |2240>profundidade = intensidade de análise, na regra acima vemos dois parâmetros diferentes para dois conteúdos diferentes
offset = diz ao Snort o byte inicial de cada pacote para começar a procurar pelo conteúdo
classtype = diz que tipo de ataque Snort está alertando sobre

sid:115 = identificador de regra

Criando nossa própria regra

Agora vamos criar uma nova regra para notificar sobre conexões SSH de entrada. Abra o /etc/snort/rules/yourrule.regras, e dentro cole o seguinte texto:

alert tcp $EXTERNAL_NET any -> $HOME_NET 22 (msg: “SSH incoming”;
flow:stateless; flags:S+; sid:100006927; rev:1;)

Estamos dizendo ao Snort para alertar sobre qualquer conexão tcp de qualquer fonte externa à nossa porta ssh (neste caso a porta padrão) incluindo a mensagem de texto “SSH INCOMING”, onde stateless instrui o Snort a ignorar o estado da conexão.

Agora, precisamos adicionar a regra que criamos ao nosso arquivo /etc/snort/snort.conf. Abra o arquivo de configuração em um editor e procure por #7, que é a seção com regras. Adicione uma regra não comentada como na imagem acima, adicionando:

include $RULE_PATH/yourrule.rules

Intead of “yourrule.rules”, defina o nome do seu arquivo, no meu caso foi test3.rules.

Após ser feito execute novamente Snort e veja o que acontece.

#snort -d -l /var/log/snort/ -h 10.0.0.0/24 -A console -c /etc/snort/snort.conf

ssh para seu dispositivo de outro dispositivo e veja o que acontece:

Você pode ver que o SSH recebido foi detectado.

Com esta lição eu espero que você saiba como fazer regras básicas e usá-las para detectar atividade em um sistema. Veja também um tutorial sobre como configurar o Snort e começar a usá-lo e o mesmo tutorial disponível em espanhol em Linux.lat.

Deixe uma resposta

O seu endereço de email não será publicado.