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: 42.076 ]

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

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

Iptables + Layer7

Controlando 2 links de internet (roteados) em um gateway Linux com SQUID

Criando firewalls dinâmicos com Iptables Recent

Monitorando e bloqueando P2P com IPTABLES e IPP2P

  
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