[Script] Script que Bloqueia ataques ssh e envia email de alerta

Scripts para automa
Avatar do usuário
Elton
Administrator
Administrator
Mensagens: 1259
Registrado em: 10 Jun 2013 12:44
Status: Offline

[Script] Script que Bloqueia ataques ssh e envia email de alerta

Mensagem por Elton »

* esta em pleno uso e funcionando.
1) Da pra editar o numero de tentativas antes de bloquear o IP atacante, parametro BADCOUNT="4"
2) So envia email se o endianFirewall estiver devidamente configurado (EventNotifications/smtp proxy na RED).
3) checa os logs(var/log/messages) e verifica os Ataques falhados se passar de 4(BADCOUNT=4) ele joga o IP atacante para
/etc/pegasship.txt e depois fica so checando se o Ip ja existe ou nao lá se nao ele adiciona na regra de firewall bloqueado o ip atacante.
4) A chain "INPUTFW" ja existe nativamente e é a equivalente em "SYSTEM ACCESS" do WEB ADMIN , tal regra neste script dá um DROP temporario.

5) touch /etc/pegasship.txt; chmod 775 /etc/pegasship.txt

VEJA:
root@gvt:~ # iptables -nvL INPUTFW
Chain INPUTFW (7 references)
pkts bytes target    prot opt in    out    source              destination       
    4  240 DROP      tcp  --  *      *      115.115.161.246      0.0.0.0/0 

6) Problemas do script
6.1)  ao aplicar quaisquer regras no firewall via WEB ADMIN, este bloqueio  temporário do script some, logo copie o IP e adicione manualmente, mas fica bloqueando em tempo real.
7) Fica aberto ai pra quem quiser melhorar ou alterar.

Código: Selecionar todos

#!/bin/bash
#
AWK=/bin/awk
SORT=/bin/sort
GREP=/bin/grep
UNIQ=/bin/uniq
SED=/bin/sed
LOGFILE=/var/log/messages
BADCOUNT="4"
#
grep 'Failed password' /var/log/messages | awk '{ a=NF-3; print $a}' |uniq -c| sed 's/^ *//' |sed 's/\::ffff://g'| sort -n |
while read i
do
COUNT=`echo $i | cut -d " " -f1`
IP=`echo $i | cut -d " " -f2`
INLIST=`$GREP $IP /etc/pegasship.txt`
if [ -z "$INLIST" ]
then
if [ "$COUNT" -ge "$BADCOUNT" ]
then
echo "$IP" >> /etc/pegasship.txt
iptables -I INPUTFW -p tcp -s $IP -j DROP
echo 'ALERTA - BLOCKSSH: '$IP'' | mail -s "BLOCKSSH:$IP" [email protected] 
fi
fi
done
Créditos: Felipeqga da comunidade Itbr obrigado pelo Belo script!!!

:)


"Colaborar atrai amigos, competir atrai inimigos ..."

Avatar do usuário
felipeqga
Global Moderator
Global Moderator
Mensagens: 79
Registrado em: 05 Nov 2013 23:42
Status: Offline

Re:[Script] Script que Bloqueia ataques ssh e envia email de alerta

Mensagem por felipeqga »

Obrigado a voces! Um prazer Ajudar!

Responder

Voltar para “Scripts”