Prevenir Ataques de Fuerza Bruta con BFD

Bloquear tmp

Se denomina “ataque de fuerza bruta” a la forma de obtener una contraseña probando todas las combinaciones posibles hasta encontrar aquella que permite el acceso. Estos intentos múltiples pueden hacerse tanto a nivel de interfaces web como a través de conexiones SSH, FTP, entre otros.

Analizando el registro de eventos de las aplicaciones (archivos logs) para verificar los errores de autenticación (errores de login y contraseñas de acceso), es posible determinar si existen múltiples intentos de violación de usuarios y/o contraseñas.

BFD es un script de consola modular para el análisis de registros de eventos de aplicaciones y comprobación de errores de autenticación. Esto se consigue mediante un sistema de reglas donde se almacenan opciones específicas de aplicaciones incluyendo expresiones regulares para cada formato único auth. Las expresiones regulares se analizan contra los registros de eventos con la herramienta ‘sed’ (editor de secuencias) que permite un rendimiento excelente en todos los entornos. Además de los beneficios del análisis de registros de eventos en secuencias con “sed”, BFD también utiliza un sistema de seguimiento de los registros de eventos para que sólo se analicen los registros desde el último punto leído previamente. Esto ayuda a ampliar enormemente el rendimiento de BFD ya que no estamos leyendo continuamente los mismos registros. El sistema de seguimiento de registros de eventos es compatible con las rotaciones de registros de eventos al estilo de syslog/logrotate que le permite detectar cuando han ocurrido rotaciones y agarrar colas de registros del nuevo archivo de registros y del archivo de registro rotado.

Es posible utilizar al BFD para bloquear atacantes utilizando cualquier número de herramientas tales como el firewall APF, así como, iptables crudas, enrutamiento de ips o ejecutar cualquier comando personalizado. También permite crear un mensaje de correo electrónico completamente personalizable con las alertas del sistema utilizando una sencilla plantilla de correo electrónico editable por el administrador. El seguimiento de atacantes en BFD se administra mediante archivos de texto plano simples, que están controlados en tamaño para evitar las limitaciones de espacio con el tiempo, haciéndolo ideal para dispositivos sin disco. También hay un histórico de ataques que almacena datos de las tendencias de todos los hosts que se han bloqueado, incluyendo qué reglas de bloqueo fueron aplicadas.

El proceso de ejecución es simplemente una tarea de cron que ejecuta el BFD una vez cada 3 minutos en forma predeterminada. El cronjob puede ejecutarse con más frecuencia para aquellos que deseen hacerlo y no provocará ningún problema de rendimiento (no colocar con menos de una vez por minuto). Aunque la ejecución del cron no permite al BFD actuar en tiempo real, el sistema de seguimiento de registros de eventos asegura que nunca se pierda nada en errores de autenticación.

Para realizar la instalación de BFD debemos ejecutar:

cd /usr/local/src
wget <a href="https://www.rfxn.com/downloads/bfd-current.tar.gz">https://www.rfxn.com/downloads/bfd-current.tar.gz</a>
tar -xvzf bfd-current.tar.gz
cd bfd-1.3

Ejecutar el archivo de instalación:

./install.sh

Se presentará un mensaje indicando que ha sido instalado con la siguiente información:

BFD installed
Install path:    /usr/local/bfd
Config path:     /usr/local/bfd/conf.bfd
Executable path: /usr/local/sbin/bfd

Ahora debemos editar la configuración del BFD con:

nano /usr/local/bfd/conf.bfd

Debemos habilitar las Alertas de Fuerza Bruta y configurar el Email:

Buscar:

ALERT_USR="0"
EMAIL_USR="root"

Y cambiar a:

ALERT_USR="1" (EMAIL_ALERTS="1")
EMAIL_USR="hostmaster@sudominio.com"
EMAIL_SUBJECT="ADVERTENCIA: Intento de Ataque de Fuerza Bruta en el servidor $HOSTNAME"

Guardar los cambios (CTRL X, Y, Enter)

Luego debemos prevenir que nos bloquee a nosotros mismos, para ello:

nano -w /usr/local/bfd/ignore.hosts

Colocar nuestras direcciones IP posibles, por ejemplo:

190.199.193.0/255.255.255.0
190.75.105.0/24

Guardar los cambios (CTRL X, Y, Enter)

Para ejecutar el programa se debe usar:

/usr/local/sbin/bfd -s

NOTA: Para personalizar la configuración del BFD para aplicaciones específicas se debe revisar el directorio de reglas en: /usr/local/bfd

Finalmente, para ejecutar el BFD a través de un cron diario debemos ejecutar:

cd /etc/cron.d
nano bfd

Agregar:

MAILTO=
SHELL=/bin/sh
*/10 * * * * root /usr/local/sbin/bfd -q

Salir y Guardar

Cambiar Permisos:

chmod 644 bfd

Reiniciar el servicio de Cron

/etc/rc.d/init.d/crond restart

Enlaces a Recursos:

https://www.rfxn.com/appdocs/README.bfd

https://www.rfxn.com/appdocs/CHANGELOG.bfd

Acerca del Autor: Daniel Rodriguez C.

Consultor Senior de Soluciones de Negocios en Internet, Desarrollo y Diseño Web, SysAdmin, Gerencia de Proyectos, Ventas, Mercadeo con más de 25 años de experiencia en empresas de tecnología.

Deje un mensaje

Por favor llene el siguiente formulario.

Usted puede usar las siguientes etiquetas HTML y atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.