Snort em modo defensivo com Flex Response 2

Neste artigo mostro como instalar, configurar e criar regras para o Snort em modo defensivo com Flex Response 2, a partir do código-fonte.

[ Hits: 31.251 ]

Por: Leonardo em 23/08/2008


Configuração



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.

Página anterior     Próxima página

Páginas do artigo
   1. Instalação
   2. Configuração
   3. Criação de regras no Snort
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

VPN com openVPN no Slackware 11

Nmap do início ao fim (parte 1)

Lynis: Sistema de auditoria e segurança para Linux

Bloqueio de usuários com página de aviso

Armazenamento de senhas no Linux

  
Comentários
[1] Comentário enviado por grandmaster em 25/08/2008 - 20:42h

Bem legal. Ficou simples de entender :D

Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[2] Comentário enviado por dailson em 02/09/2008 - 16:29h

Onde você instalaria esta máquina? Atrás do roteador, firewall, in-line, com duas placas, uma placa só, escutando uma porta replicada no switch???
Como vc aconselha?

Dailson Fernandes
http://www.dailson.com.br

[3] Comentário enviado por leobsb em 02/09/2008 - 18:12h

Dailson,

a maneira mais eficiente de utilizar o Snort sem prejudicar o tráfego na rede é espelhar a porta do roteador que recebe o link da internet e colocar o Snort nessa porta espelhada,
por que se você colocar o Snort antes ou depois do Firewall, ele poderá deixar o tráfego da rede mais lento,
isso pode ocorre devido ao snort precisar verificar todos os pacotes que passam por ele,

Qualquer dúvida fico a disposição.

[4] Comentário enviado por lucaspereira em 29/07/2010 - 18:49h

muito bom este artigo.
A única coisa, é que tive que fazer um downgrade da libnet, para poder compilar o programa.
Mas depois disso, rodou que é uma maravilha :D

[5] Comentário enviado por luizvieira em 16/11/2010 - 20:08h

Excelente artigo!
[ ]'s


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts