Mantener seguros nuestros servidores es lo primordial, y más cuando hablamos de servidores de Telefonía IP, en esta oportunidad vamos a configurar Fail2ban en un Servidor Centos 7 de 64 Bit.
**Fail2ban** Es una aplicación escrita en Phyton que previene conexiones no deseadas en nuestros, esta penaliza o bloquea cualquier intento de conexión por fuerza bruta, es distribuido bajo licencia **GNU**
Vamos a instalar nuestro Fail2ban para luego configurarlo.
<html><div class="adsense"></div></html>
**1- Descargamos fail2ban**
>cd /usr/src
>wget https://github.com/fail2ban/fail2ban/archive/0.9.6.tar.gz
Descomprimes el paquete
>tar -xf 0.9.6.tar.gz
se entra en la carpeta creada:
>cd fail2ban-0.9.6
y podemos comenzar la instalación:
>python setup.py install
Activamos el Script para que inicie como servicio:
<html><div class="adsense"></div></html>
>cp files/fail2ban.service /usr/lib/systemd/system/
>cp /usr/src/fail2ban-0.9.5/files/redhat-initd /etc/init.d/fail2ban
>chkconfig --add fail2ban
>chkconfig fail2ban on
>cd /etc/fail2ban/filter.d
>systemctl enable fail2ban
*Created symlink from /etc/systemd/system/multi-user.target.wants/fail2ban.service to*
*/usr/lib/systemd/system/fail2ban.service.*
Se continua con la configuración general de **Fail2ban**
>cd /etc/fail2ban
>nano jail.conf
Al final del archivo debemos copiar las siguientes líneas:
*[asterisk-fail2ban*
*enabled = true*
*filter = asterisk*
*action = iptables-allports[name=ASTERISK, protocol=all]*
*sendmail-whois[name=ASTERISK, dest=root@localhost, sender=fail2ban@192.168.1.2]*
*logpath = /var/log/asterisk/security*
*maxretry = 5*
*bantime = 3600*
En las líneas copiadas debemos cambiar *root@localhost* por el correo donde recibiremos las notificaciones de conexiones bloqueadas, y cambiamos *fail2ban@192.168.1.2* por la cuenta de correo que usaremos para enviar los email, **fail2ban** trabaja con Sendmail.
en las *líneas maxretry = 5 bantime = 3600* podemos ajustar los valores a los que creamos conveniente:
**maxretry** cantidad de intentos fallidos que vamos a permitir
**bantime** Tiempo en milisegundos que vamos a bloquear la IP desde donde se realizaron los intentos.
Ahora debemos modificar algunos archivos de de registro de asterisk.
>nano /etc/asterisk/logger.conf
Buscamos esta línea
*;security => security*
y la modificamos para que quede:
*security => security,notice*
<html><div class="adsense"></div></html>
Guardamos el archivo y reiniciamos nuestro servicio **Asterisk**:
>service asterisk restart
Por ultimo modificamos este archivo:
>nano +59 /etc/fail2ban/action.d/iptables-common.conf
debemos modificar esta línea:
*lockingopt = -w*
para que quede de la siguiente forma:
*lockingopt =*
Guardamos los cambios y reiniciamos el servicio **Fail2ban**
>/etc/init.d/fail2ban start
>*Iniciando fail2ban: [ OK ]*
Para realizar prueba de que nuestro servicio **Fail2ban** está bien configurado podemos probar con algún softphone realizando intentos con contraseña equivocada, veremos que luego de 5 intentos la dirección IP será Bloqueada.