block ssh brute force attacks script

Uno de los problemas mas comunes para las personas que administramos servidores linux que tienen salida al internet, es encontrar en los archivos de logs miles (por no decir millones) de intentos fallidos en donde lammers o crackers tratan de hacer ataque por fuerza bruta, que es tratar de “demoler” con decenas de conexiones simultáneas probando combinaciones de users y passwords para tratar de ganar acceso a nuestro server.

Que triste la vida de los crackers / lammers, que lo que buscan es fastidiar, en lugar de construir como los verdaderos hackers.

Bueno pues, para estos graciosos que lo unico que hacen es fastidiar para tratar de tomar control de tu server, porque me parece que “nunca tienen nada que hacer”, pues me puse a investigar por ahi hace algunos meses y encontré varias soluciones.

Entre soluciones bonitas, largas, agradables, muy pensadas, busqué algunas ideas, y partiendo de la base de un script, lo que hice fue crear uno nuevo y que hace lo que yo quiero, verifica la cola de intentos fallidos cada 15 minutos, y si de un mismo IP hay mas de 10 intentos fallidos, automáticamente lo bloquea.

Obviamente si alguno de nuestros usuarios no se acuerda de su password, mejor que llame a otro para que le cambie de password, porque va a cerrar su IP.

Esta adaptado para CentOS 5, en el mismos que me funciona muy bien.

block ssh brute force attacks

Para usarlo, descarguen este archivo,

http://static.alexceli.org/linux/block_ssh_brute_force_attacks.tar.gz

desempaquetenlo, ponganlo en algún directorio, en mi caso /usr/sbin

y agreguen esto en /etc/crontab

0-59/15 * * * * root /bin/sh /usr/sbin/block_ssh_brute_force_attacks.sh

Y con esto, se van a dar cuenta que de a pocos se van a ir bloqueando muchos “graciosos” que tratan de meter sus narices donde no les importa.

Alex Celi

7 Responses to “block ssh brute force attacks script”

  1. wcuestas says:

    Alex, creo que deberias indicar que solamente personalizaste el script para tu CentOS.
    Decir que partiste de uno para CREAR UNO NUEVO, no esapropiado, cuando menos ya que TANTA coincidencia es imposible :
    http://www.burngreave.net/node/319
    https://wiki.slugbug.org.uk/Security_tips

    Saludos,

  2. tru3n0 says:

    Totalmente de acuerdo con wcuestas. Además te propongo otra solucion más barata para no tener que meter un crontab. Porque no cambias el puerto del ssh? o limitas las conexiones a 6 por minuto con iptables y asi no bloqueas a los pobres zombis q en la mayoria de los casos no tienen ni idea de que estan atacando tu servidor.

    ejemplo:
    iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW -m recent –set –name SSH
    iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW -m recent –update –seconds 60 –hitcount 6 –rttl –name SSH -j DROP

    Saludos

  3. Everything is very open with a clear clarification of the issues. It was truly informative. Your website is very useful. Thanks for sharing!

  4. Neal Pintea says:

    I view something truly special in this site.

  5. Alena Shone says:

    thanks to the author for taking his time on this one.

  6. I was able to find good info from your articles.

  7. very interesting info ! .

Leave a Reply