+ Responder ao Tópico



  1. #1

    Padrão 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....

  2. #2
    wrochal
    Visitante

    Padrão 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

  3. #3

    Padrão 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.