jump to navigation

Prevenir intrusiones con fail2ban en Ubuntu y Ubuntu Server 10/11/2009

Posted by linopensoft in Tutoriales.
trackback

fail2banFail2ban es un marco de prevención de intrusiones escrito en el lenguaje de programación Python. Es capaz de correr en sistemas POSIX que tienen una interfaz de control de paquetes o de firewall instalado localmente (por ejemplo, iptables o TCP Wrapper).

La principal función de Fail2ban es la de bloquear determinadas direcciones IP que pueden pertenecer a los hosts que están tratando de violar la seguridad del sistema. Determina los host a ser bloqueados por los archivos de registro de control (por ejemplo, /var/log/pwdfail, /var/log/auth.log, etc) y la prohibición de cualquier host IP que haga muchos intentos de acceso o realice cualquier acción no deseada dentro de un marco de tiempo definido por el administrador. fail2ban normalmente se establece un bloqueo de tiempo determinado, para no “banear” las conexiones reales que pueden haber sido temporalmente mal configuradas. Sin embargo, una prohibición de acceso de varios minutos suele ser suficiente para detener una conexión de red que está inundando de conexiones maliciosas el servidor, así como reducir la probabilidad de un ataque de diccionario.

Fail2ban puede realizar varias acciones cada vez que se detecta un abusol: Actualización de Netfilter/iptables reglas de firewall, o bien el archivo hosts.deny de TCP Wrappers, para rechazar la dirección IP de un abusador, efectuar notificaciones por correo electrónico, o cualquier acción definida por el usuario que puede llevarse a cabo por una secuencia de comandos Python.

La configuración estándar contiene filtros para Apache, Lighttpd, sshd, vsftpd, Qmail, Postfix y Courier Mail Server. Los filtros son definidos por expresiones regulares de Python, que puede ser convenientemente personalizada por un administrador familiarizado con instancias regulares. Una combinación de un filtro y una acción que se conoce como ‘jail’, causa el bloqueo de accesos maliciosos a los servicios de red especificados, así como los ejemplos que se distribuyen con el software, una “jail” se pueden crear para cualquier red y servicio que crea registros ‘logs’ de intentos de acceso.

Instalación en Ubuntu (repositorios universe)

$ sudo apt-get install fail2ban

El archivo de configuración lo encuentras en /etc/fail2ban/jail.conf

Luego de realizar la configuración adecuada, reiniciamos el servicio

$ sudo /etc/init.d/fail2ban restart

Nota: Si existiera algún error en Ubuntu 9.04 con la versión de python 2.6, la solución es instalar la versión 2.5 (sudo apt-get install python2.5) y luego cambiar la primera línea del archivo /usr/bin/fail2ban-server por esta:

#!/usr/bin/python2.5

Anuncios
A %d blogueros les gusta esto: