Cuando tienes un servidor o símplemente quieres tener más seguridad es buena idea la de instalar y configurar éste programa. Básicamente Fail2Ban busca en los registros (ficheros log) de los demonios y programas que le digas hasta que encuentra el patrón que has establecido y le aplica un “castigo”. El castigo depende de vuestra elección pero lo normal es bloquear el acceso a la aplicación que ha intentado entrar erróneamente. Por ejemplo, errores de acceso por SSH, o por POP3. El “castigo” son reglar iptables que deniegan la conexión de la IP bloqueada a X puerto o simplemente la deniegan totalmente.
El programa tiene una gran configuración pudiendo además crear nuestras propias reglas para los programas. En Debian es muy fácil instalarlo:
# apt-get install fail2ban
Configurando Fail2Ban.
La configuración se guarda aquí, en /etc/fail2ban/jail.con. Si lo abrimos con el editor nano u otro editor de texto veremos como está estructurado la configuración. En la sección “[DEFAULT]” podemos ver que son las reglas por defecto del programa. Podemos cambiar los atributos tales como: ignoreip, bantime, maxretry, etc. Después tenemos ya las reglas establecidas por defecto como la de SSH en la que podremos cambiar todo lo que veamos aunque no hace falta nada porque funciona como viene aunque si no tenemos servidor SSH activo podemos desactivar SSH en Fail2Ban.
Los filtros o reglas que trae por defecto se alojan en /etc/fail2ban/filter.d También podemos crear una según como están las demás escritas o bien usar la palabra reservada failregex que modifica las reglas establecidas en /etc/fail2ban/filter.d dándole más preferencia a failregex. Por ejemplo
[courierpop3]
enabled = true
port = pop3
filter = courierlogin
failregex = courierpop3login: LOGIN FAILED.*ip=\[.*:<HOST>\]
logpath = /var/log/mail.log
maxretry = 5
Si hay una regla llamada courierpop3 en /etc/fail2ban/filter.d será sobreescrita con la regla de failregex puesta mas arriba. Con ésto y mirando los logs se pueden crear reglas de todas los programas que queramos asegurar, por ejemplo: SquirrelMail como WebMail y monitorizar las entradas erróneas, etc.
Por cierto, siempre que cambiemos la configuración debemos reiniciar el demonio fail2ban así:
# /etc/init.d/fail2ban restart
Para ver si es efectivo Fail2ban podémos hacer pruebas pero cuando bloquee algo aparecerá algo así en el log situado en /var/log/fail2ban.log
2007-01-27 15:49:09,466 fail2ban.actions: WARNING [apache] Ban 1.2.3.4
2007-01-27 11:08:33,213 fail2ban.actions: WARNING [sasl] Ban 1.2.3.4
2007-01-27 11:26:37,769 fail2ban.actions: WARNING [courierlogin] Ban 1.2.3.4
2007-01-27 11:39:06,765 fail2ban.actions: WARNING [courierimap] Ban 1.2.3.4
Podemos configurar Fail2Ban para que cuando bloquee una IP nos mande un correo electrónico …


Buenas.
¿Que pasa si queremos capar todos los puertos desde iptables pero abrir alguno desde fail2ban, como ssh?
Es que me da la impresion de que si lo abro en iptables fail2ban no hace nada pero si lo cierro en iptables, fail2ban no recibe nada …
Pues no sé que decir ya que hace tiempo que cerré mi servidor y no lo pruedo comprobar, pero que yo recuerde tenía el cortafuegos con reglas IPTables y además Fail2Ban.
El cortafuegos tenía todos los puertos bloqueados excepto el SSH, 80, etc y Fail2Ban hacía su función.
Buen manual, te enlaco desde mi blog!
Un saludo.
Buen manual, te enlazo desde mi blog!
Un saludo.
[...] ver un pequeño tutorial para su instalación aqui, y más informacion en su [...]