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

Por: Vinicius Raupp Alves em 23/01/2013


Instalação do serviço SnortSam



Execute os comandos:

# wget http://www.snortsam.net/files/snortsam/snortsam-src-2.70.tar.gz
# tar zxvf snortsam-src-2.70.tar.gz
# cd snortsam
# chmod +x makesnortsam.sh
# ./makesnortsam.sh
# cp snortsam /usr/local/bin


Crie um arquivo "snortsam.conf" em /etc e adicione as seguintes linhas de configuração:

defaultkey password
accept localhost
keyinterval 30 minutes
dontblock 192.168.1.1   # rede local
rollbackhosts 50
rollbackthreshold 20 / 30 secs
rollbacksleeptime 1 minute
logfile /var/log/snort/snortsam.log
loglevel 3
daemon
nothreads
# linha importante para gerar os bloqueios via iptables
iptables eth0 LOG
bindip 127.0.0.1

Pra finalizar as configurações, escolha um arquivo de regras dentro da pasta /etc/snort/rules/ e acrescente no final da regra o parâmetro "fwsam: src, 5 minutes", onde src é o IP de origem e 5 minutes é o tempo em que o IP de origem será bloqueado.

Exemplo: Edite o arquivo "icmp-info.rules", encontre e descomente a regra com a descrição "ICMP-Info Echo Reply". Acrescente nesta regra o parâmetro "fwsam: src, 5 minutes" ao final da linha, como abaixo:

alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"ICMP-INFO Echo Reply"; icode:0; itype:0; classtype:misc-activity; sid:408; rev:6;fwsam: src, 5 minutes;)

Testes finais

Inicie todos os serviços:

# /usr/local/snort/bin/snort -u snort -i eth0 -c /etc/snort/snort.conf -l /var/log/snort -Dq

Para depurar erros do Snort, inicie o serviço sem o parâmetro "-Dq".

# /usr/local/bin/snortsam

Para depurar erros do SnortSam, inicie o serviço snortsam-debug que se encontra na mesma pasta do pacote "snortsam-src-2.70.tar.gz" descompactado e compilado anteriormente.

Agora peça para alguém de fora de sua rede pingar para seu servidor e acompanhe via BASE os alertas gerados pelo Snort. Também é possível acompanhar os logs pra analisar os bloqueios ou possíveis erros de configuração:

# tail -f /var/log/snort/snortsam.log

Com Snort e SnortSam também é possível trabalhar de forma distribuída, você pode instalar Snort em outro local estratégico de sua rede e configurá-lo para que envie os alertas para o Daemon SnortSam em seu firewall, fazendo com que ele aplique a regra de bloqueio.

* Mas lembre-se, é possível que o Snort gere falsos positivos, então seja cauteloso ao acrescentar o parâmetro fwsam nas regras.

Referências

Snort e BASE no Debian:
Documentação do SnorSam:
Página anterior    

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

Firewall admin: administração do iptables

Ensinando seu servidor a ler emails e liberar acesso SSH

Criando um Firewall transparente com Bridges no Debian Etch

Criando um firewall simples e compartilhando a conexão usando o IPtables

Introdução ao Firewall Linux

  
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