Permite bloquear aquellas ip que intentan acceder a nuestro servidor, por ejemplo por ssh.
Para instalar:
sudo apt-get install fail2ban
Se instala en /etc, y el archivo de configuración es jail.conf
Archivo jail.conf
En la sección [DEFAULT] permite definir opciones globales, como las siguientes
- ignoreip – direcciones que no serán tomadas en cuenta.
- bantime – tiempo en segundos que durará el bloqueo.
- maxretry – cantidad máxima de intentos fallidos de autenticación antes de ser bloqueado.
- findtime – ventana de tiempo en segundos durante el cual se toma en cuenta el parámetro maxretry.
- backend – el programa o algoritmo utilizado para escuchar o verificar la modificación de un archivo o bitácora.
- usedns – si un hostname es encontrado en lugar de una dirección se define aquí si se debe ejecutar un DNS Lookup para resolverlo.
- banaction – busca el archivo especificado en el directorio action.d
Las secciones de servicios concretos se llaman [JAILS] cárceles, y las opciones son:
- enabled – true o false para habilitar o inhabilitar esta cárcel.
- filter – especifica el filtro que aplica.
- action – acciones a ejecutar o comportamiento de la cárcel.
- logpath – ruta hacia el archivo bitácora a escanear.
Filtros
En el directorio filter.d están todos los filtros creados.
El parámetro failregex define las expresiones regulares que determinarán las líneas que deben ser procesadas por las acciones definidas en la cárcel.
Acciones
En los archivos del directorio action.d se concretan las acciones a tomar.
Sección [DEFINITION]
- actionstart – comandos ejecutados al iniciar el servicio de Fail2Ban.
- actionstop – comandos ejecutados al detenerse el servicio de Fail2Ban.
- actioncheck – comandos ejecutados justo antes de cada comando de bloqueo.
- actionban – comandos ejecutados para bloquear un host al encontrar una coincidencia en los filtros de la cárcel.
- actionunban – comandos ejecutados para desbloquear un host una vez haya pasado el período de bloqueo (bantime).
En la sección [INIT] se definen e inicializan las variables.
El archivo de logs de guarda en /var/logs.
2015-06-20 11:59:30,727 fail2ban.actions: WARNING [apache-overflows] Ban 66.249.65.8 -> ip bloqueada
2015-06-20 12:59:31,560 fail2ban.actions: WARNING [apache-overflows] Unban 66.249.65.8 -> ip desbloqueada una hora más tarde
Chequear Fail2ban
sudo fail2ban-client status
sudo fail2ban-client status apache