Para qualquer regra que você crie ou deseje testar é aconselhável que ela seja adicionada no arquivo "local.rules" dentro da pasta "rules".
Agora devemos editar o arquivo "snort.conf" dentro de /etc/snort. Devemos fazer da seguinte maneira:
# gedit /etc/snort/snort.conf
Ou:
# vi /etc/snort/snort.conf
Devemos mudar os valores de algumas variáveis. Procure pelas seguintes linhas:
var RULE_PATH ../rules
var PREPROC_RULE_PATH ../preproc_rules
E mude para:
var RULE_PATH /etc/snort/rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
A variável RULE_PATH indica o local onde estão todas as regras que o snort irá utilizar. A variável PREPROC_RULE_PATH indica o local onde está o pré-processador utilizado pelo Snort.
Dentro do arquivo
snort.conf devemos inserir uma das duas opções abaixo:
output alert_fast: alert_quick
Ou:
output alert_full: alert_detailed
No modo "alert_fast: alert_quick" o Snort funciona mais rápido, pois gera logs com o mínimo de detalhes possível. No modo "alert_full: alert_detailed" o Snort trabalha um pouco mais lento que no modo anterior, porque ele irá gerar alertas com o máximo de detalhamento possível, além disso, os logs utilizarão mais espaço em disco.
Também temos que inserir a linha que indica a pasta de logs do snort. Adicionaremos essa opção no snort.conf da seguinte maneira:
config logdir: /var/log/snort
Existem mais duas variáveis importantes na configuração do arquivo snort.conf: HOME_NET e EXTERNAL_NET. Devemos localizar essas variáveis, que estarão dispostas no arquivo snort.conf da seguinte maneira:
var HOME_NET any
var EXTERNAL_NET any
Agora alteramos para:
var HOME_NET [192.168.1.0/24]
Nesse caso, 192.168.1.0. é a rede que o Snort irá considerar como sendo interna. Todo tráfego que não for originado dessa rede será considerado como sendo da rede externa. A variável EXTERNAL_NET deve permanecer como any, desse modo tudo que não for HOME_NET será interpretado como EXTERNAL_NET. Podemos colocar quantas redes forem necessárias em HOME_NET, exemplo:
var HOME_NET [192.168.1.0/24,192.168.2.0/24,192.168.3.0/24]
Se eu tenho três sub-redes ou mais a maneira mais fácil de definir essas sub-redes é essa. É mais seguro definir cada sub-rede do que colocar uma máscara CDIR 16 que seria 255.255.0.0 abrindo uma brecha na segurança e na monitoração do Snort.
Também posso negar alguns endereços:
var HOME_NET [!192.168.1.23/32, !192.168.1.80, 192.168.1.0/24]
No exemplo acima nós vamos definir como rede interna toda a rede 192.168.1.0 exceto os hosts 192.168.1.23 e 192.168.1.80.
Configuração de demais variáveis:
# List of DNS servers on your network
var DNS_SERVERS $HOME_NET
# List of SMTP servers on your network
var SMTP_SERVERS $HOME_NET
# List of web servers on your network
var HTTP_SERVERS $HOME_NET
# List of sql servers on your network
var SQL_SERVERS $HOME_NET
# List of telnet servers on your network
var TELNET_SERVERS $HOME_NET
# List of snmp servers on your network
var SNMP_SERVERS $HOME_NET
Não vamos deixar os valores dessas variáveis definidos como $HOME_NET. Devemos colocar o IP de cada um deles, porque da maneira que está cada máquina da rede pode ser provedora de qualquer um dos serviços acima e isso não é o desejado.
Vai ficar da seguinte maneira:
# List of DNS servers on your network
var DNS_SERVERS [192.168.1.200/32]
# List of SMTP servers on your network
var SMTP_SERVERS [192.168.1.201/32]
# List of web servers on your network
var HTTP_SERVERS [192.168.1.202/32]
# List of sql servers on your network
var SQL_SERVERS [192.168.1.203/32]
# List of telnet servers on your network
var TELNET_SERVERS [192.168.1.204/32]
# List of snmp servers on your network
var SNMP_SERVERS [192.168.1.205/32]
Utilizamos a máscara CDIR 32 porque ela permite apenas um IP e é isso que queremos.
Para utilizar todas as regras devemos tirar os comentários das linhas que começam com #:
include $RULE_PATH
O que está depois de $RULE_PATH é o nome da regra. Devemos verificar na pasta /etc/snort/rules se ela existe. No caso de não existir, devemos deixar a regra com o comentário # no início da linha.
Agora podemos salvar e fechar o arquivo.