Instalando Snort e Guardian no Slackware

Segurança hoje em dia é uma coisa séria e muito difícil de se fazer, nenhum sistema é totalmente seguro, mas podemos dificultar as coisas não é? Estudando segurança pela grande rede, achei o Snort, que é um sistema reconhecido pelos administradores de sistemas e já ganhou alguns prêmios. Utilizarei arquivos tgz para mantermos a organização do nosso Slackware.

[ Hits: 84.278 ]

Por: João Paulo de Oliveira Faria em 18/03/2005 | Blog: http://www.jpfaria.com


Modificando os arquivos de inicialização



1 - Crie e/ou recrie o arquivo /etc/rc.d/rc.snortd com o conteúdo abaixo:

#!/bin/bash
# $Id: S99snort,v 1.1 2001/12/18 22:14:37 cazz Exp $
# /etc/init.d/snort : start or stop the SNORT Intrusion Database System
#
# Written by Lukasz Szmit <ptashek@scg.gliwice.pl>
# Modificado por João Paulo de Oliveira Faria <joaopaulo@deoliveira.com.br>
#
# Configuration

# set config file & path to snort executable

SNORT_PATH=/usr/sbin
CONFIG=/etc/snort/snort.conf

# set interface or all for all
IFACE=eth0

# set GID/Group Name
SNORT_GID=snort

# set UID/User Name
SNORT_UID=snort


# other options
OPTIONS="-A fast -l /var/log/snort -D "

# End of configuration


test -x $SNORT_PATH/snort || exit 0

case "$1" in
     start)
        echo "Starting Intrusion Database System: SNORT"
        $SNORT_PATH/snort -c $CONFIG -i $IFACE -g $SNORT_GID -u $SNORT_UID $OPTIONS
        guardian.pl
        if [ "`pidof $SNORT_PATH/snort`" ]; then
                echo "SNORT is up and running!"
        else  
                exit 0
        fi
        echo -n "."
        ;;

     stop)
        killall guardian.pl
        echo "Stoping Intrusion Database System: SNORT"
        if [ "`pidof $SNORT_PATH/snort`" ] ; then

            kill -TERM `pidof $SNORT_PATH/snort`
    
            # Wait until the timeout
            count=120
            numdots=0
            while ([ $count != 0 ]) do
                let count=$count-1
                if [ "`pidof $SNORT_PATH/snort`" ] ; then
                    echo -n .
                    let numdots=$numdots+1
                    sleep 1
                else
                    count=0
                fi
            done
        
            # If it's not dead yet, kill it.

            if [ "`pidof $SNORT_PATH/snort`" ] ; then
                echo " TIMEOUT!"
                kill -KILL `$SNORT_PATH/snort`
            else
                case $numdots in
                  0) echo "." ;;
                  1) echo ;;
                  *) echo " done." ;;
                esac
            fi
        else
            echo "SNORT is  not running!";
        fi
        ;;
     restart)  
        $0 stop
        $0 start
        ;;
     *)
        echo 'Usage: /etc/rc.d/rc.snortd {start|stop|restart}'
        exit 1
        ;;
esac
exit 0
;;

2 - Dê permissão no arquivo:

# chmod +x /etc/rc.d/rc.snort

3 - Adicione o conteúdo abaixo no /etc/rc.d/rc.M ou no /etc/rc.d/rc.local:

# Start the Snort + Guardian:
if [ -x /etc/rc.d/rc.snortd ]; then
  . /etc/rc.d/rc.snortd start
fi
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalando o Snort 2.2
   3. Criando o Guardian
   4. Modificando os arquivos de inicialização
   5. Iniciando o Snort + Guardian
   6. Configurações adicionais
   7. Verificando se tudo está funcionando
   8. Verificando os arquivos de log
   9. Finalizando
Outros artigos deste autor

Controle de banda no Apache 1.3.X com mod_bandwidth (Slackware)

Qpopper (POP seguro) no Slackware

Solução completa com o sendmail

Solução completa com o sendmail (segunda edição)

PEAR - Utilizando classes prontas e documentadas no PHP

Leitura recomendada

Instalando o antivírus BitDefender no Linux

Segurança para iniciantes

Trilhas de Certificação em Segurança da Informação - Qual caminho seguir?

Block Hosts: Bloqueando ataques de força-bruta (brute force) em FTP, SSH e outros

Matriz <-> Filial com o OpenVPN

  
Comentários
[1] Comentário enviado por y2h4ck em 19/03/2005 - 01:35h

Cara bacana a iniciativa ... POREMMMM ahuah ta na hora de colocar a mão na ferida ...
Seguinte cara... vc falou do Guardian e do Snort e tudo mais blz ... so que vc nao tocou numa coisa ultra-importante para o funcionamento do seu esquema ... que é o pre-processor do snort "portscan" que vai fazer a detecção de Scans ...

afinal vc nao vai querer cometer o pecado de deixar o seu guardian analisando o snort.alert completo ou vai ????? imagine ... um falso positivo e booom ... o host esta dropped sem razão ...
portante se faz necessária a configuração do pre-processo para gerar um log a parte ... e assim o guardian ler aquele log e realizar as determinadas ações predefinidas ??


OK ? Espero ter sido util ...
abraços

ESTAVA SUMIDO MAIS VOLTEI UHUHUU

[2] Comentário enviado por fabio em 19/03/2005 - 07:03h

Fala João, o artigo está ótimo, mas também queria fazer umas observações. Você tá ficando acostumado a escrever artigos muito técnicos e acaba não se tocando nos pequenos detalhes que dificultam a vida dos "normais". Vamos lá:

1. Faltou uma introdução ao Snort. O que ele é e para que serve?
2. Faltou uma introdução ao Guardian. O que ele é e para que serve?
3. Você disse que mudou o Guardian, mas o que você mudou nele? Qual a vantagem da sua versão?

De resto, tudo bem completo. O lance de pré-processo o Anderson (y2h4ck) escreveu num de seus artigos falando sobre Snort também. Acho bacana darem uma lida como complemento, o Snort é bem extenso, quanto mais literatura, melhor:

http://www.vivaolinux.com.br/~y2h4ck/artigos

Meus parabéns!

[]'s

[3] Comentário enviado por D3v1L em 21/03/2005 - 16:37h

No meu guardian.pl deu erro, precisamente linha 56
comentei o parâmetro "@junk=;" e ele funcionou, dei uma olhada no script e não achei mais nenhuma utilização deste junk, gostaria que o jpfaria verificasse.

Muito obrigado

Bruno Sant'Anna

[4] Comentário enviado por segment em 20/10/2005 - 18:06h

Ai D3v1L tbm obtive o mesmo pro. q o teu ai, deu exatamente erro de sintaxe desse =; do junk na linha 55, mas foi so retirar que fico legal. Bom o artigo fico muito bom kra, consegui fazer os lances aqui de prima, apesar que não tem mistérios, o artigo de facil de compreender, entao tudo rolo bem, :]
Vlw brow.

[5] Comentário enviado por gabrielgrace em 31/07/2006 - 11:14h

EM primeiro lugar parabens pelo tutorial .

E para o pessoal que encontrou um erro assim =; na linha 55 é só olhar o arquivo do guardian original lá ta assim "@junk=<ALERT>;"

Pronto funcionol

Valeu joão

T+

[6] Comentário enviado por demattos em 05/09/2006 - 20:53h

Gostaria de Saber se com o guardiam daria para fazer uma analize on line por uma pagina ou seja home page, em tempo real e analizar este logs tambem por este site

Obrigado pela atencao de todos

[7] Comentário enviado por leandrojpg em 18/01/2010 - 14:29h

Show de bola o tutorial, mas só tem um problema fiz tudo passa a passop e me reportou a msg na hora de iniciar

"OS shows Linux
Warning! Logfile is not writeable! Engaging debug mode, output to STDOUT
Warning! Could not find guardian_unblock.sh. Guardian will not be
able to remove blocked ip addresses. Please consult the README file
My ip address and interface are: 150.164.192.210 eth0
Loaded 0 addresses from /etc/guardian.ignore
Running in debug mode.."
E outro eu tento dar um tail -f para ver o log e nao processa nada trava e nao me reporta nada.
será que alguem pode me ajudar, nos mais valeu pelo psot.!!!

[8] Comentário enviado por janjaw em 11/11/2010 - 03:44h

/etc/rc.d/rc.snort: permission denied cara deu isso quando fui starta o serviço e olhe q praticamente copiei e colei


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts