martes, 14 de julio de 2009

¿Visitantes nocturnos?

Una de las rutinas y sanas practicas de administración es la de revisar los log, y uno en particular es el secure, este dulce archivito muestra en quien intenta acceder o accedio en el peor de los casos a tu sistema. Para un día como todos solo dediquen 15 minuticos a verlo teniendo abierto el puerto 22 y corriendo un demonio ssh en ese puerto y veran como un sin fin de nombres particularmente conocidos empezaran a desfilar:

Este atacante muy posiblemente es un lammer, y esta buscando como sea loguearse por fuerza bruta, puso a correr algún script que otro con mas tiempo desarrollo para su clase de estructuras de datos en la universidad, y pues si disponemos del tiempo suficiente, hagamos un análisis de nuestro atacante:
  • Saber quien es: whois 221.238.193.71
    Despues de identificar que es de china, pues nada entender que lo que quiere es muy probablemente tener acceso y generar spam desde el server.
  • Que puertos tiene abiertos: nmap -sS 221.238.193.71
    Ya sabiendo que tiene abierto y que tipo de servidor, podemos devolverle el favor haciendo un análisis de firmas digitales, pero pues me pagan por administrar bases de datos, no por escribir en el blog.

Ya un poco saciado nuestro placer morboso procedemos a bloquearlo, hay dos formas , una manual y estar escudriñando el log para identificar posibles ataques que en su mayoria son ip's dinamicas, o dejarle tan magna tarea a nuestro amigo FAIL2BAN.

Para empezar necesitamos el paquete fail2ban y el servidor donde esta orientada la instalación es un CentOS 5.3 por consiguiente lo instalamos con YUM a travez de los repositorio rpmforge:
  • yum -y install fail2ban.noarch

Esto nos instalara el programita de forma limpia, sin tener que compilar y esas cosas sucias que nos obligan a hacer en nuestros servidores, el directorio principal queda en la siguiente ruta:

+ /etc/fail2ban
- jail.conf -> Archivo de configuración
- fail2ban.conf -> Archivo de configuración
- filter.d -> Directorio de sistema
- action.d -> Directorio de sistema

Ahora editaremos el archivo jail.conf y modificaremos las siguientes lineas:
  • bantime = 6000 -> el tiempo en segundos que dura baneado nuestros atacantes.
  • findtime = 30 -> tiempo en segundos que fail2ban buscara ataque registrados en el log secure
  • maxretry = 2 -> número de intentos fallidos registrados para proceder a bloquear

    [ssh-iptables]
    enabled = true -> habilitar la escucha del demonio
    filter = sshd
    action = iptables[name=SSH, port=ssh, protocol=tcp]
    sendmail-whois[name=SSH, dest=you@mail.com, sender=fail2ban@mail.com]
    logpath = /var/log/secure -> el log que escuchara
    maxretry = 2

y listo quedo nuestro fail2ban configurado, ahora solo requerimos iniciarlo y activarlo.
  • /etc/init.d/fail2ban start
  • chkconfig fail2ban on

Para comprobarlo solo hace falta consultar el firewall y listo:

iptables -L -n


Listo terminado esto, tenemos la primera parte de un lindo firewall dinámico, aún trabajo en la receta para cocinar uno pero que reaccione a firmas digitales. Recuerden con esto no van a quitar el hambre, tampoco acabaran con la pobreza ni menos con Micro$soft, solo protegerán de una forma medianamente descente su demonio SSH.

0 comentarios: