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.248 ]

Por: Leonardo em 23/08/2008


Instalação



O Snort é um IDS (Intrusion Detection System ou Sistema de Detecção de Intrusão). Na sua instalação básica ele só funciona em modo sniffer (captura de pacotes da rede) e em modo de registro (logs de alertas de ataques). É possível instalar o Snort através de pacotes pré-compilados utilizando o yum do CentOS ou apt-get do Debian.

Na instalação do Snort através de pacotes pré-compilados os modos flexresp e flexresp2 não estão disponíveis. Esses modos permitem que a máquina com Snort envie pacotes para a máquina suspeita e para a máquina alvo, fechando as conexões se elas forem estabelecidas.

Também é possível enviar pacotes ICMP com mensagem de destino ou rede inalcançáveis para máquina de origem dos pacotes. Enviando mensagens deste tipo o IDS protege a máquina/rede alvo. A máquina suspeita terá a impressão de que não existe a máquina/rede com o endereço utilizado por ela.

Os registros dos Snort são no formato tcpdump. Para visualizar e poder utilizar filtros na visualização é recomendado utilizar o tcpdump ou o wireshark.

Compilação e instalação do Snort

Podemos obter o Snort através do link abaixo.
Pacotes necessários para a instalação do Snort:
  • libpcap
  • libpcre
  • tcpdump
  • openssl
  • libdnet
  • mysql (para gravação de logs no banco de dados MySQL)
  • postgresql (para gravação de logs no banco de dados PostgreSQL)
  • gcc
  • g77
  • libpcre3-dev
  • libnet0-dev

Depois de efetuar o download do Snort devemos descompactá-lo. Para descompactar os dados do pacote snort.tar.gz devemos executar o seguinte comando:

# tar -zxvf snort.tar.gz

Após ter descompactado os dados, devemos entrar na pasta que foi gerada com o comando tar:

# cd snort

Dentro da pasta devemos executar o seguinte comando, como root:

# ./configure --prefix=/etc/snort --with-libdnet --with-openssl --with-mysql --enable-flexresp2

Só é necessário passar os parâmetros "--with-postgresql" ou "--with-mysql"" se for utilizar algum dos bancos de dados para registrar os logs de eventos e alertas do Snort. Se não for necessário utilizar o Snort em modo defensivo, não é preciso passar o parâmetro "--enable-flexresp" ou "--enable-flexresp2". O parâmetro "--prefix=" indica o local onde o Snort será instalado e é necessário que a pasta indicada exista.

Após tomar todas as medidas devemos executar os seguintes comandos para finalizar a compilação do Snort:

# make
# make install


Agora devemos criar uma pasta chamada "rules" dentro de /etc/snort da seguinte maneira:

# mkdir /etc/snort/rules

Caso o diretório /etc/snort não exista, crie-o antes da compilação. Dentro da pasta rules devemos colocar todas as regras do Snort. Essas regras devem possuir a extensão ".rules".

Devemos também copiar a pasta "preproc_rules" do diretório criado pelo tar para /etc/rules.

O próximo passo é criar um grupo e usuário para o snort. Vamos fazer da seguinte maneira:

# groupadd snort

Utilizamos esse comando para criar um grupo chamado Snort.

# useradd snort -g snort

Utilizamos esse comando para criar um usuário pertencente ao grupo "snort". O próximo passo é criar o diretório de logs. Vamos fazer da seguinte maneira:

# mkdir /var/log/snort
# chown snort:snort /var/log/snort
# chown -R snort:snort /etc/snort


Com o comando acima estamos mudando o grupo e dono da pasta para "snort".

Para iniciar o serviço do Snort devemos executar o seguinte comando:

# snort -c /etc/snort/snort.conf -u snort -g snort

Onde:
  • -c: arquivo de configuração do Snort;
  • -u: usuário que o Snort utilizará na execução;
  • -g: grupo que o Snort utilizará na execução;

É importante passar os parâmetros de usuário e grupo por causa das permissões de escrita na pasta /var/log/snort.

    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

Firewall com Iptables + Squid

Os 5 princípios básicos de segurança para empresas

Segurança em seu Linux

Criptografar sua atual partição root usando dm-crypt com luks

Entendendo um pouco sobre os daemons

  
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