Pra quem me conhece ou já leu meus outros artigos, já percebeu que minha vida é o FreeBSD. Sinceramente nunca usei o Linux como sistema de um servidor (apenas como desktop), mas este artigo, apesar de ser voltado para o FreeBSD (hihi), com certeza ajudará a você que usa Linux a melhorar a segurança dos seus servidores.
if [ "$lastip" == "$ip" ] ; then
attempts=$(expr $attempts + 1)
if [ $attempts -ge 3 ] ; then
echo -n "Brute force SSHD ataque detectado vindo do ip $ip" > /dev/ttyv0
attempts=1
lastip=""
blocked=$(ipfw list | grep $ip | grep deny)
if [ "$blocked" ] ; then
echo -n "> Ip já bloqueado. Continuando com o scan" > /dev/ttyv0
echo -n " " > /dev/ttyv0
else
if [ $MODE == "MANUAL" ] ; then
echo "> Você deseja bloquear este ip nas regras do IPFW? (y/n)"
read resp
if [ "$resp" == "y" ] ; then
/sbin/ipfw add deny ip from any to $ip
/sbin/ipfw add deny ip from $ip to any
echo "> IP $ip adicionado as regras de bloqueio"
echo " "
fi
else
/sbin/ipfw add deny ip from any to $ip
/sbin/ipfw add deny ip from $ip to any
echo -n "> IP $ip adicionado as regras de bloqueio" > /dev/ttyv0
echo -n " " > /dev/ttyv0
#echo $ip >> /var/log/ips
fi
fi
fi
fi
done
fi
Agora salve, de permissão de executável e agende sua execução no cron, eu coloquei a cada 10 min.
Acredito que lendo ele você já entenderá seu funcionamento, mas explicando ele lê as últimas 15 linhas do arquivo /var/log/auth.log em busca de tentativas de login, e bloqueia os ips que realizaram 3 tentativas infelizes.
Esta solução não precisa ser usada se você esta fazendo controle na conexão na porta 22.
[1] Comentário enviado por removido em 21/03/2007 - 03:42h
Gostei do artigo.
Mas faltou muita coisa referente a segurança no FreeBSD que você pode usar para fazer a versão 2 do artigo. Como:
Segurança do kernel do FreeBSD;
TCPwrappers;
E também outros tipos de ataques.
Parabéns, faz tempo que não vejo um artigo sobre segurança aqui no vivaolinux. Nota 10.
[2] Comentário enviado por renatomartins em 21/03/2007 - 09:41h
parabens !!!
é sempre bom dar uma ideia para o pessoal
para versao 2 o secure level é ua boa chflags as acl do filesystem e as permiçoes de pastas os modulos no kernel do bsd para bloqueios portaudit e varias outras soluçoes de segurança que o freebsd nos oferece nativamente por ser o unico há implementar o case 100% posix 1e
ta otimo seu artigo
abraço
[3] Comentário enviado por grayfox em 21/03/2007 - 20:37h
#fechando o icmp na interface externa
/sbin/ipfw add deny icmp from any to any in via bge1 icmptypes 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
deveria ser trocado por:
/sbin/ipfw add deny icmp from any to any via bge1
A porta reservada para nfs, é utilizada somente no rc.conf dos freebsds antigos, entao os novos, nao tem a necessidade de colocar a referencia no rc.conf.