Fail2ban instalado en CentOS 6

Fail2ban Prevención de Intrusos

Fail2ban es una aplicación escrita en Python para la prevención de intrusos en un sistema, que actúa penalizando o bloqueando las conexiones remotas que intentan accesos por fuerza bruta. Se distribuye bajo licencia GNU y típicamente funciona en sistemas Unix, GNU-Linux entre otros que tengan interfaz con un sistema de control de paquetes o un firewall local (como iptables o TCP Wrapper)

Configurando Fail2ban en Elastix

Fail2Ban utiliza Python para revisar los logs de acceso y detectar los intentos de intrusión por fuerza bruta, creando reglas en el archivo de iptables para bloquear el acceso a ciertas IPs. En ocasiones, si miramos el log de intentos de acceso SSH o FTP, veremos que es inmenso, pudiéndose producir ataques incluso cada segundo si no tomamos las medidas adecuadas.

Ante una cantidad predefinida (por el usuario) de intentos fallidos, fail2ban determina la acción a tomar sobre la IP que originó el problema. Puede simplemente notificar por e-mail del suceso, denegar el acceso a la IP atacante, bloquearla en determinado puerto y habilitarla en otros (modificando las entradas correspondientes en iptables, o el firewall local que corresponda), etc. Puede asimismo levantar las prohibiciones después de un determinado periodo, por si el problema no obedeciera a un ataque sino simplemente a errores del usuario intentando loguearse. Las acciones son configurables mediante scripts de Python.

Como Instalar Fai2ban Paso a Paso

Paso 1  –  Acceda a su servidor con un usuario con privilegios de root o con el usuario Root.

Paso 2 – Para su información, Fail2Ban no está disponible por defecto en CentOS por lo que no puede  se instalado directamente a través de yum. Por lo tanto, hay que añadir el Repositorio EPEL:

CentOS 6:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

CentOS 7:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

En caso de que esos Repositorios URLs no están trabajando, se puede ir a la más reciente haciendo clic Aquí.

 

Paso 3 – Ahora instalaremos Fail2Ban la herramienta usando yum:

yum install fail2ban -y

y una vez hecho esto se verá algo como esto:

 

Como Configurar Fai2ban Paso a Paso

Paso 4  –  Ahora Fail2ban está instalado en su Servidor CentOS , lo siguiente que  hay que hacer es la creación de una configuración básica para Fail2ban. Aquí vemos una configuración muy básica que voy a mostrar. Ahora en primer lugar copiar el archivo de configuración por defecto, con el siguiente comando:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Paso 5 – Ahora editamos el archivo jail.local que usted copió. Use un editor de texto como nano o vi, con los siguientes comandos:

Para Nano :

nano /etc/fail2ban/jail.local

Para Vi:

vi /etc/fail2ban/jail.local

A continuación, verá en primer lugar algo como esto:

Paso 6 –  Desplácese por la página para ver todas las configuraciones disponibles. Hay pocas líneas las cuales actúan como configuración básica se puede editar si es necesario para adaptarse a su necesidad, incluyendo: ignoreip, bantime, findtime y maxretry. Usted puede leer lo que significa cada línea en la explicación disponible allí.

Ignoreip: El parámetro ignoreip sirve para agregar IPs que no queremos que sean baneadas por error a la lista blanca, como por ejemplo nuestra propia IP para que nunca perdamos el acceso a nuestro servidor por error. Podemos escribir tantas IPs como queramos separándolas por un espacio.

Bantime: El parámetro bantime es el número de segundos que un host será bloqueado del servidor en caso de que se violen las reglas o se supere el número máximo de intentos de acceso permitidos. Dado que la mayor parte de estos intentos serán bots, se recomienda poner un valor superior a los 10 minutos que están por defecto.

Findtime: Es el espacio de tiempo en el que deben ocurrir todos los intentos especificados en maxretry para que la  cuenta sea baneada.

Maxretry: El parámetro maxretry es el número de intentos fallidos de acceso antes de que la IP del host sea baneada.

Configuremos Fai2ban Sobre el Puerto SSH

Debemos asegurarnos de que la protección SSH está habilitada en la sección [ssh-iptables] del archivo de configuración Jail.local.

[ssh-iptables]
 enabled = true
 filter = sshd
 action = iptables[name=SSH, port=ssh, protocol=tcp]
 sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com]
 logpath = /var/log/secure
 maxretry = 5

El parámetro enabled simplemente activa la protección SSH. Podemos desactivarla con el valor off.

El parámetro filter es la ruta del archivo de configuración que usa Fail2Ban para buscar patrones que coincidan. El nombre es una versión corta de /etc/fail2ban/filter.d/sshd.conf

Action es también una versión corta de la ruta de los archivos situados en el directorio action.d. Aquí se definen las acciones a realizar cuando se tenga que banear una IP. iptables es la acción por defecto y se encuentra en /etc/fail2ban/action.d/iptables.conf. Las variables contenidas en iptables sirven para personalizar aún más Fail2Ban, seleccionando como protocolo por ejemplo TCP o UPD. El puerto nos permite activar la regla para el puerto SSH no estándar, puesto que ssh se refiere al puerto 22.

iptables[name=SSH, port=30000, protocol=tcp]iptables[name=SSH, port=30000, protocol=tcp]

En caso de que queramos recibir avisos cada vez que una IP sea bloqueda, podemos modificar los parámetros de sendmail con los apropiados.

logpath es la localización del archivo de log que se seguirá y por por defecto está en /var/log/secure.

maxretry es lo mismo que habíamos explicada para la sección general, con la diferencia de que podemos especificar un valor distinto para cada servicio en caso de ser necesario.

Reiniciando Fail2ban

Después de hacer todas estas configuraciones de lugar iniciamos el servicio y luego agregamos el servicio al chkconfig de linux que la parte de los Run Level:

service fail2ban start
#chkconfig fail2ban on

Luego de esto podemos ver las reglas que Fail2ban esta aplicando con el comando:

iptables -L

Y con esto concluimos aquí esta parte de instalación y configuración de Fail2ban en centOS.

Be the first to comment on "Fail2ban instalado en CentOS 6"

Deja un comentario.

Tu dirección de correo no será publicada.


*