artículos
 comentarios

SSH y ataques de diccionario

 

Una para frikis.

La red local de mi casa sólo tiene expuestos 3 puertos accesibles desde Internet, configurados en el router ADSL con NAT. Uno es el tcp/22 para el servicio de SSH del ordenador principal (Ubuntu 7.04), y los otros son el tcp/4662 y udp/4672 para el aMule.

El caso es que prácticamente todos los días tenía intentos de ataque de fuerza bruta. Cientos y cientos de conexiones probando usuarios y contraseñas de lo más variopinto (además la lista de usuarios se repite entre un intento y otro, así que sospecho que será una lista habitual en alguna herramienta de “jaquing”)

Auth.log

Por un lado, no es problema. Mi contraseña no es adivinable mediante un ataque de diccionario. Pero la idea de tener a los “script kiddies” (término anglosajón para referirse a los “putos crios que quieren ser juankers“) dale que te pego con mi pobre puerto 22 no me hacía mucha gracia.

Podría haber cambiado el puerto de SSH a otro que no fuera el 22. Pero no me da la gana, los estándares están ahí para algo (y además se me olvidaría el puerto cada dos por tres)

Tampoco me apetecía andar instalando alguna aplicación o script complicado de las que hay por ahí para evitar estas cosas (firewalls, port knocking, sistemas de prevención de intrusos, etc.)

Al final encontré un artículo genial con la idea sencilla que me hacía feliz. Básicamente es una regla de iptables para limitar el número de conexiones al puerto tcp/22 que se pueden hacer desde un origen determinado, cada minuto.

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 4 –rttl –name SSH -j DROP

Lo tengo puesto en los scripts de arranque y parada de los interfaces de red (/etc/network/if-up.d/ y /etc/network/if-down.d/) y funciona a las mil maravillas. Ahora sigue habiendo intentos, pero despues de 4 conexiones, misteriosamente desaparecen :)

4 respuestas a “SSH y ataques de diccionario”

  1. 14 sep 2007 3:01 pm  arancha

    Hola Alf!
    No soy nada friki con lo cual he entendido el conjunto pero no el detalle :) .
    Bravo por la limpieza de plagas via internet(que no de topillos ;) )
    Pero lo que si he detectado es que has quitado tu foto! ¿Has cambiado de look? ¿Evitas así que te reconozcan en la calle? ;)
    Un besote a Irene y a Pabluco. Lo se…el niño ya hablará idiomas cuando vayamos a verle! Este finde vamos a Santander…no subis no? ;)

  2. 16 sep 2007 4:43 pm  jag

    me has pillado :-) )))

    Al final, yo lo puse en el 443 (sobre todo para salir con comodidad desde el trabajo hacia casa) y *muy de vez en cuando* veo ataques como el tuyo.

    De “toas” formas, búscate un PC viejillo y ponle un pfsense. A mí me va de vicio para los ataques (que por cierto, cada día veo más).

    Las reglas son estupendas. Otra cosa que funciona mucho y bien es port knoking (que lo tengo pendiente de poner). Hacer un portknocking en 5 puertos implica una probabilidad de 5^65535 contra una (creo, ¿no?)de que te entren. Mi Hp-48 no es capaz de calcular el numero natural resultante :-) )

    Más aquí: http://gentoo-wiki.com/HOWTO_Port_Knocking

    jag (porque yo lo valgo)

  3. 16 sep 2007 4:52 pm  Alf

    Ummm, la verdad es que cambiar el puerto es la mejor opción para quitarse el 90% de los ataques.

    Y lo del portkocking voy a probarlo a ver…

    Usas Gentoo?

  4. 16 sep 2007 5:35 pm  jag

    nop, Debian etch es la que contesta (toma ingeniería social que me has hecho). Aunqie el pfsense también lo tiene como paquete.

    A la vuelta de vacas tengo que mejorar mi instalación de pfsense…

    jag (a punto de vacaciones!!! )