Linux slogan
Visite também: BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux
» Screenshot
Linux: epsxe 1.60llin
Por Al_Qaeda



» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha

» Wallpaper
Linux: tux vai percar
Por rivo


Artigo

Snort em modo defensivo com Flex Response 2
Linux user
hadesdf
23/08/2008
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.
Por: Leonardo dos Santos Dourado
[ Hits: 2668 ]
Conceito: 10.0   Linux conceitoLinux conceitoLinux conceitoLinux conceitoLinux conceito + quero dar nota ao artigo

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.

Navegação
   1. Instalação
   2. Configuração
   3. Criação de regras no Snort

Outros artigos deste autor
Nenhum artigo encontrado.

Leitura recomendada

Comentários
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


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

Comentário enviado por hadesdf 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.


Contribuir com comentário
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Contribuir com: [ Artigo | Conf | Dica | Pergunta | Script | Screenshot | Simulado | Wallpaper ]
Responsável pelo site: Fábio Berbert de Paula - Copyleft© 2002-2008 Viva o Linux.com.br

Viva o Linux

A maior comunidade Linux do Brasil! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.