Td q o Snort loga eh bloqueado pelo Guardian ou somente ataques mais perigosos? Como é feito esse bloqueio? e como ajustar a sensibilidade do conjunto Snort+Guardian?
Desde ja agradeço a atenção.
Versão Imprimível
Td q o Snort loga eh bloqueado pelo Guardian ou somente ataques mais perigosos? Como é feito esse bloqueio? e como ajustar a sensibilidade do conjunto Snort+Guardian?
Desde ja agradeço a atenção.
cara vc precisa comecar a ver + documetacao, jah te expliquei isso no outro post
agora leia :(6) o meu artigo
[/code]Código :
Muitos howto's que existem por ai não abordam uma ferramenta muito útil para ser aliada ao snort, o GUARDIAN. Não adianta apenas instalar e deixar eles rodando para se sentir um pouco mais seguro, se eles não forem corretamente configurados certamente irão trazer mais dor de cabeça do que auxiliar a administração do servidor. Uma das principais dores de cabeça que o guardian gera são os alertas "falso positivos", ou seja, ele pode acabar bloqueando o que não deve!! :( Imagine você em sua casa arrumando um problema em um servidor a 200km de distância num sábado as 23:00 da noite, você abre uma conexão ssh com seu servidor, acerta os detalhes em seguida abre o ftp e começa a fazer alguns backups, de repente sua conexão cai e você não consegue se conectar denovo!!! Então pega seu carro vai até o local e descobre que você foi bloqueado pelo seu próprio guardian!!!! Afim de erradicar esse problema escrevi esse artigo, mas agora chega de conversa mole e vamos ao que interessa! 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.! :)
E li, porém o q eu ate agora não entendi é a relação entre o q é logado pelo Snort e bloqueado pelo Guardian pois nem td q o snort loga eh bloqueado pelo guardian, eu gostaria de saber qual é essa logica, se é por priority ou somente determinados tipos de ataques ou portscans, pra mim poder entender e poder implementar meu snort a fim de que ele alerte qdo houver um brute forçe no meu ssh e o bloqueie c/ o Guardian, coisa q ainda não ocorre. e quando coloquei a regra preprocessor portscan: $EXTERNAL_NET 3 4 o snort gerou novos logs mais o guardian não bloqueou esses novos logs gerados. Por isso que eu questionei a respeito da sensibilidade do snort e do que o guardian entende como ataque e bloqueia, ou se ele bloqueia td q eh logado pelo snort.Citação:
Postado originalmente por 1c3_m4n
nesse caso eu coloquei pro guardian bloquear somente PORTSCAN, por isso q tem um log separado no snort
o guardian vai bloquear qq coisa q o snort logar no arquivo q vc especificar (nesse caso somente portscan)
Código :
AlertFile /var/log/snort/portscan.log
Ai eh vc quem decide qual arquivo utilizar, se preferir vc pode criar teu proprio log com as coisas q vc quer bloquear
OK... mas tive olhando dentro do arquivo messages que quando levantamos o snort
aparece uma linha que diz mais ou menos que a sensibilidade é baixa!
Como aumentar isso?
Citação:
Postado originalmente por 1c3_m4n
fácil ;)
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)
ta lah na minha primeira resposta o resto
Puxei o snort esses dias e no caso do meu snort não funfa assim não.
O meu o portscan dele é assim:
e no caso tem 3 opções de sense_levelCitação:
preprocessor sfportscan: proto { all } \
memcap { 10000000 } \
sense_level { medium } \
logfile { alert }
low medium e high
Parece que essa nova versão mudou algumas coisas!
1c3_m4n no meu caso euso queria que o guardian blokeasse coneções ssh , como posso fazer isso ??
grato
Adailton Silva