- Snort
+ Responder ao Tópico
-
Snort
ah um tempo atras o linuxer 1c3m4n havia criado um script para instalação do snort + guardian... estava disponivel na linuxit.... mas as versões do snort foram sendo atualizadas e eu mexi a algum tempo eu mexi no script para utilizar versões de snort , rulez e guardian mais atuais, acontece que não consegui fazer o guardian travar os portscans mais....
pois o guardian executa uma regra do iptables negando os pacotes do IP do computador remoto.
em /var/log/guardian.log não acusa nada, somente mostra o PID de cada vez que ele é iniciado....
a pouco tempo nosso amigo wrochal2002 fez um update tb desse script...
pra quem quiser usa-lo o endereço para baixar segue aqui: https://under-linux.org/modules.php?...ticle&sid=2381
o problema é, como conseguir fazer o guardian funcionar corretamente com o snort, o snort funciona corretamente, mas acho que a versão do guardian que é pouco mantida não consegue ler direito o log das versões mais novas snort...
configurações de guardian.conf, guardian.igno,e snort.conf, etc foram feitas corretamente.... se alguem tiver mais sucesso diga ae!
ou alguma dica de mais alguma ferramente de segurança para bloqueio de scans automaticos....
-
Snort
Caro PiTsA,
Você fez os ajustes no SNort:
Antes de ajustarmos o guardian precisamos configurar o SNORT corretamente, pois sem ele, o GUARDIAN não é nada.
Por padrão o SNORT cria 2 arquivos de log, são eles:
/var/log/snort/alert
/var/log/snort/scan
Esses logs não são suficientes para informar ao GUARDIAN quem deve ser bloqueado, então iremos adicionar um terceiro log, edite o /etc/snort/snort.conf e procure pela linha:
#preprocessor portscan: $HOME_NET 4 3 portscan.log
agora descomente a linha retirando o "#", altere a variável $HOME_NET para $EXTERNAL_NET, a linha deve ficar assim:
preprocessor portscan: $EXTERNAL_NET 4 3 portscan.log
O número 4 quer dizer a quantidade de portas, o 3 quer dizer quanto tempo, ou seja, se alguem acessar 4 portas seguidas em menos de 3 segundos isso será encarado como um portscan!!!(Altere como achar melhor)
Agora para diminuir um pouco mais a quantidade de alertas falsos procure pela linha:
#preprocessor portscan-ignorehosts: 0.0.0.0
Novamente descomente a linha de altere o 0.0.0.0 pelo endereço IP do seu servidor
Terminados os ajustes deve-se reinicar o snort.
Ajustes no GUARDIAN
Edite o arquivo /etc/guardian.conf e procure pela linha:
AlertFile /var/log/snort/alert
e altere para
AlertFile /var/log/snort/portscan.log
Com isso o risco de guardian bloquear endereços por engano praticamente se anula, mas só para ter certeza que não haverão mais problemas edite o arquivo /etc/guardian.ignore e coloque TODOS os ips que nunca devem ser bloqueados independentemente do que aconteça.
Agora vamos começar a incrementar o GUARDIAN, um ponto fraco dele é que quando um IP é bloqueado, você somente irá saber disso de 2 maneiras:
Ou um cliente vai reclamar
Ou se você ficar analisando os logs 24 horas por dia
Afim de acabar com esse problema eu resolvi alterar o script do guardian que é responsável pelo bloqueio, no meu caso ele fica em: /usr/local/bin/guardian_block.sh, inicialmente ele é assim:
source=$1
interface=$2
/usr/sbin/iptables -I INPUT -s $source -i $interface -j DROP
Eu deixei o meu assim:
source=$1
interface=$2
[email protected]
log=/tmp/tmp_$1
mail_cmd=/bin/mail
/usr/sbin/iptables -I INPUT -s $source -i $interface -j DROP
echo "O IP: $1 foi bloqueado" > $log
$mail_cmd -s "ALERTA" $admin < $log
rm -f $log
Com isso cada vez que algum IP for bloqueado,o script também irá me enviar um email avisando.
Assim fica mais fácil administrar os logs e não se corre o risco de ser bloqueado a toa.!
Retirado do Linuxit.com.br
-
Snort
eu já havia olhado estas dicas de configuração...
mas agora no snort.conf as linhas
#preprocessor portscan: $HOME_NET 4 3 portscan.log
#preprocessor portscan-ignorehosts: 0.0.0.0
não existem, sendo necessário colocá-las a mão...
estou utilizando o snort 2.1.1, agora é necessário adicionar no script de instalação a compilação do pcre (www.pcre.org), adicionando o pcre.h no diretorio /usr/include e configurando a compilação assim: ./configure --prefix=/usr/local, rodar ldconfig e depois começar a compilação do snort....
Oks! atualize lá!
agora está funcionando legal....
Obrigado.