Automatizando Firewall com IDS Snort e SnortSam

Snort é um sistema de detecção de intrusos (IDS), o qual usa seus sensores e um conjunto de regras para monitorar todo o tráfego da rede e gerar alertas de possíveis ameaças à segurança de seus sistemas. Com a ajuda do plugin SnortSam, será possível automatizar bloqueios de endereços IP em seu firewall.

[ Hits: 43.258 ]

Por: Vinicius Raupp Alves em 23/01/2013


Instalação do Snort



Inicie pelos procedimentos de compilação e instalação do Snort, para isto é preciso instalar algumas dependências via apt-get:

# apt-get install -y libfont-afm-perl libgcrypt11 libgnutls26 libgpg- error0 libhtml-format-perl libhtml-parser-perl autoconf automake # apt-get install -y libhtml-tagset-perl libhtml-tree-perl libltdl7 libmailtools-perl libmysqlclient16 libmysql++-dev libpcap0.8 libpcre3

# apt-get install -y libprelude2 libtasn1-3 liburi-perl libwww-perl oinkmaster libpcap-dev libpcre3-dev libxml2-dev bison flex libprelude-dev libdumbnet-dev

Outras dependências

Instalando libdnet:

# wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz
# tar zxvf libdnet-1.12.tgz
# cd libdnet-1.12
# ./configure --prefix=/usr --enable-shared
# make
# make install


Instalando DAQ:

# cd ..
# wget
http://www.snort.org/downloads/1623 -O daq-0.6.2.tar.gz
# tar zxvf daq-0.6.2.tar.gz
# cd daq-0.6.2
# ./configure
# make
# make install


Atualizando as bibliotecas (importante para que não ocorra alguns erros):

# echo >> /etc/ld.so.conf /usr/lib
# ldconfig


Preparando o Snort:

# cd ..
# wget
http://www.snort.org/dl/snort-current/snort-2.9.2.2.tar.gz
# tar zxvf snort-2.9.2.2.tar.gz
# cd snort-2.9.2.2


Download e aplicação do patch SnortSam: Baixe o patch compatível com a versão do Snort, no caso 2.9.2.2:

# wget http://www.snortsam.net/files/snort-plugin/snortsam-2.9.2.2.diff.gz

Descompacte na mesma pasta do código fonte do Snort e aplique o patch:

# gunzip snortsam-2.9.2.2.diff.gz
# patch -p1 < snortsam-2.9.2.2.diff


Compilar e instalar o Snort:

# ./configure --prefix=/usr/local/snort --with-mysql --with-daq-libraries=/usr/local/lib/daq/ --disable-prelude --disable-rzb-saac
# make
# make install


Caso encontre algum erro de razorback ou libtool, faça os procedimentos abaixo:

1. Edite o arquivo "configure.in", comente as linhas: 1526 à 1557, que trata sobre o razorback e para corrigir o libtool.
2. Edite o arquivo "autojunk.sh" acrescentando o parâmetro: "-- force", na linha onde consta o comando libtoolize
3. Por último, torne o arquivo "autojunk" executável e execute:

# chmod +x autojunk.sh
# ./autojunk.sh


Repita o processo de compilação e instalação.

Crie a pasta para os arquivos de configuração do Snort e copie os arquivos de configuração fornecidos na pasta do código fonte:

# mkdir /etc/snort
# cp src-pacote-snort/etc/*.* /etc/snort/


Edite o arquivo /etc/snort/snort.conf, localize e altere as linhas para que fique conforme abaixo:

var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules

dynamicpreprocessor directory /usr/local/snort/lib/snort_dynamicpreprocessor
dynamicengine /usr/local/snort/lib/snort_dynamicengine/libsf_engine.so

#dynamicdetection directory /usr/local/lib/snort_dynamicrules

# Linhas necessárias para enviar os alertas para o banco de dados Mysql.

output database: log, mysql, user=snort password=senha-snort dbname=snort host=localhost
output database: alert, mysql, user=snort password=senha-snort dbname=snort host=localhost

# Linha necessária para enviar os alertas específicos ao daemon SnortSam.
output alert_fwsam: 127.0.0.1:898/password

Em "Customize your rule site", comente todas regras com a exceção da "icmp-info.rules", pois será a única regra usada em nossos teste. Salve e feche o arquivo de configuração.

Crie o usuário "snort" para o sistema:

# useradd snort -d /var/log/snort -s /bin/false -c SNORT_IDS

Crie uma pasta para os logs:

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


Faça o download do pacote de regras do Snort no site oficial (necessário criar uma conta no site): E descompacte em /etc/snort/.

Faça um primeiro teste, execute o comando para que o Snort mostre na tela os pacotes da rede capturados, mas antes, coloque a interface eth0 no modo promíscuo:

# ifconfig eth0 promisc
# /usr/local/snort/bin/snort -v -i eth0


Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação do Snort
   3. Instalação do MySQL e BASE
   4. Instalação do serviço SnortSam
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Autenticação no Iptables

Como construir um firewall de baixo custo para sua empresa (parte 2)

Uso eficiente do IPCOP firewall

NoCatAuth - Construindo um firewall/gateway autenticado

Entendendo TCP/IP (Parte 6) - Firewall

  
Comentários
[1] Comentário enviado por danniel-lara em 23/01/2013 - 14:39h

Parabéns pelo Artigo , muito bom mesmo

[2] Comentário enviado por msantoro em 25/01/2013 - 17:16h

É possivel fazer isso com o servidor em BRIDGE ?

Abraços e parabens.

[3] Comentário enviado por viniciusraupp em 28/01/2013 - 16:23h


[2] Comentário enviado por msantoro em 25/01/2013 - 17:16h:

É possivel fazer isso com o servidor em BRIDGE ?

Abraços e parabens.


Nunca configurei desta maneira mas acredito que funcione, se for testar deixe aqui o resultado pra nós. Valew

[4] Comentário enviado por phoemur em 11/02/2013 - 15:16h

Cara, quando eu adiciono o fwsam no fim da regra o snort não consegue mais subir pois dá erro.
No meu /var/log/syslog aparece assim:

Feb 11 15:13:35 serv snort[3333]: FATAL ERROR: /etc/snort/rules/server-apache.rules(1) Unknown rule option: 'fwsam'.

Parece que o Snort não consegue entender a opção fwsam pra mandar o alerta p o snortsam.
Vc tem idéia do que possa estar acontecendo?

Uso Slackware 14.
Agradeço em antecipação.

[5] Comentário enviado por viniciusraupp em 11/02/2013 - 15:25h


[4] Comentário enviado por phoemur em 11/02/2013 - 15:16h:

Cara, quando eu adiciono o fwsam no fim da regra o snort não consegue mais subir pois dá erro.
No meu /var/log/syslog aparece assim:

Feb 11 15:13:35 serv snort[3333]: FATAL ERROR: /etc/snort/rules/server-apache.rules(1) Unknown rule option: 'fwsam'.

Parece que o Snort não consegue entender a opção fwsam pra mandar o alerta p o snortsam.
Vc tem idéia do que possa estar acontecendo?

Uso Slackware 14.
Agradeço em antecipação.


Olá, me mande a regra que você esta acrescentando o fwsam.
Se você subir o snort sem nenhuma regra, ele sobe normalmente ?

[6] Comentário enviado por phoemur em 11/02/2013 - 15:43h

Cara, já descobri o erro, o patch do snortsam que usei era de uma versão diferente do snort que estava instalado na minha máquina.
Vou recompilar com a versão correta e ver se funciona.
Obrigado pela atenção.

[7] Comentário enviado por rogi_cps em 07/04/2013 - 10:02h

Preciso de ajuda.... estou tentando compilar o SNORT conforme indicado no artigo, mas tenho recebido o seguinte erro ao fazer make.

plugbase.o: In function `RegisterOutputPlugins':
/usr/local/src/snort-2.9.1.2/src/plugbase.c:1472: undefined reference to `AlertFWsamSetup'
collect2: ld returned 1 exit status
make[3]: ** [snort] Erro 1
make[3]: Saindo do diretório `/usr/local/src/snort-2.9.1.2/src'
make[2]: ** [all-recursive] Erro 1
make[2]: Saindo do diretório `/usr/local/src/snort-2.9.1.2/src'
make[1]: ** [all-recursive] Erro 1
make[1]: Saindo do diretório `/usr/local/src/snort-2.9.1.2'
make: ** [all] Erro 2

Teria alguma idéia do que esta acontecendo?
Distro Debian 6 Squeeze (dentro de VMWARE Worksatation - lab de teste)

Já tentei em CENTOS 6 e Ubuntu 12.10, com o mesmo erro.


[8] Comentário enviado por viniciusraupp em 11/04/2013 - 23:58h


[7] Comentário enviado por rogi_cps em 07/04/2013 - 10:02h:

Preciso de ajuda.... estou tentando compilar o SNORT conforme indicado no artigo, mas tenho recebido o seguinte erro ao fazer make.

plugbase.o: In function `RegisterOutputPlugins':
/usr/local/src/snort-2.9.1.2/src/plugbase.c:1472: undefined reference to `AlertFWsamSetup'
collect2: ld returned 1 exit status
make[3]: ** [snort] Erro 1
make[3]: Saindo do diretório `/usr/local/src/snort-2.9.1.2/src'
make[2]: ** [all-recursive] Erro 1
make[2]: Saindo do diretório `/usr/local/src/snort-2.9.1.2/src'
make[1]: ** [all-recursive] Erro 1
make[1]: Saindo do diretório `/usr/local/src/snort-2.9.1.2'
make: ** [all] Erro 2

Teria alguma idéia do que esta acontecendo?
Distro Debian 6 Squeeze (dentro de VMWARE Worksatation - lab de teste)

Já tentei em CENTOS 6 e Ubuntu 12.10, com o mesmo erro.



Você usou o patch com a mesma versão do source do snort ?

[9] Comentário enviado por jtdest em 20/03/2015 - 10:20h

uma duvida, ja estou com snort-mysql instalado via apt-get no debain, como fazer para adicionar snortsam no snort-mysql ja instaldo
? podera me ajudar .

[10] Comentário enviado por viniciusraupp em 15/04/2015 - 19:29h


[9] Comentário enviado por marxbrito em 20/03/2015 - 10:20h

uma duvida, ja estou com snort-mysql instalado via apt-get no debain, como fazer para adicionar snortsam no snort-mysql ja instaldo
? podera me ajudar .


Buenas, não tem usar o snortsam junto com o pacote snort pré-compilado, foi este motivo que me levou a criar este artigo.

[11] Comentário enviado por jtdest em 12/06/2015 - 20:26h

blz,.. vc conhece o ips gauardian , sabe como usar ele sobre uma bridge, porque meu snort esta olhando uma bridge , mais o guardian nao enxerga a bridge ou o iptables , porque ele chegar aplica regra tanto na forword e na intput mais não tenho efeito algum ... so aplica a regra .. não sei se tem quer adciona algum modulo para iptables entender quer o trafico e em bridge ,
abs..

[12] Comentário enviado por viniciusraupp em 02/07/2015 - 13:36h


[11] Comentário enviado por jtdest em 12/06/2015 - 20:26h

blz,.. vc conhece o ips gauardian , sabe como usar ele sobre uma bridge, porque meu snort esta olhando uma bridge , mais o guardian nao enxerga a bridge ou o iptables , porque ele chegar aplica regra tanto na forword e na intput mais não tenho efeito algum ... so aplica a regra .. não sei se tem quer adciona algum modulo para iptables entender quer o trafico e em bridge ,
abs..


Olá, desculpe mas desconheço o funcionamento do ips guardian.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts