As regras do Snort são elementos-chave para a configuração do mesmo. Sem essas regras, o Snort torna-se um mero analisador de pacotes. As regras são linhas de texto contendo instruções para o Snort localizar pacotes que contenham características específicas e informações acerca do alerta a ser gerado.
Abaixo um exemplo de regra, que detecta um ataque específico para servidores de correio eletrônico (SMTP).
alert tcp $EXTERNAL_NET any -> $SMTP_SERVERS 25 (msg:”SMTP RCPT TO overflow”; flow:to_server,established; content:”rcpt to|3A|”; nocase; isdataat:300,relative; pcre:”/^RCPT TO\x3a\s[^\n] {300}/ism”; reference:bugtraq,2283; reference:bugtraq,9696; reference:cve,2001-0260; classtype:attempted-admin; sid:654; rev:14;)
Observe as variáveis do arquivo snort.conf, as portas envolvidas (25 TCP) e a indicação da mensagem de alerta (parâmetro msg).
As regras instaladas no Snort podem ser habilitadas ou desabilitadas, individualmente ou em grupo, inserindo comentários (#) nos arquivos de regra (extensão .rules) ou no próprio snort.conf, para bloquear um conjunto inteiro de regras.
Muitas regras podem gerar muitos falsos positivos, então fazer um ajuste das regras é uma tarefa cansativa, porém indispensável para que os registros de alerta sejam confiáveis e úteis. Um IDS que gera muitos alertas falsos facilmente acaba em desuso. Existem atualmente diferentes conjuntos de regras para o Snort, alguns pagos e outros gratuitos.