Fail2ban en Issabel Asterisk

Fail2ban es una herramienta de gran potencial para la protección de servidores Linux, en este caso veremos cómo aplicarlo a Issabel, un software de telefonía IP basado en Asterisk. Esta herramienta se basa en las bitácoras que genera el sistema operativo, y a partir de ellos bloquea los accesos con iptables. Vamos a crear un paso a paso para configurar Fail2ban en Issabel Asterisk.

Fail2ban en Issabel Asterisk desde la interfaz de administración

El módulo de administración web tiene la capacidad de habilitar el servicio fail2ban, este servicio se encuentra dentro del menú de seguridad. Para ingresar a el solo debemos hacerlo tal como muestra la imagen.

Menú-fail2ban-Issabel-habilitar-asterisk-guadalajara-voip
Menú fail2ban en Issabel

Para asegurarnos de que está activado, se debe ver el botón tal como se muestra en la imagen. En la parte de abajo, veremos los servicios que se encuentran protegidos.

Activar fail2ban Issabel

Dentro de la tabla, vemos el nombre, el número de intentos fallidos, el tiempo por el cual será bloqueado, la lista blanca y el estado. vamos a describir cada uno para mayor compresión.

  • Nombre: El nombre del servicio.
  • Contador: la cantidad de intrusiones detectadas por IP para considerarse un ataque y por lo que será bloqueado.
  • Whitelist: La lista de ips que se consideran amigas, es decir, que no importa si están haciendo intentos fallidos, estas nunca serán bloqueadas.
  • Habilitado: si el servicio o regla está habilitada para Fail2ban en Issabel Asterisk.

Modificar reglas de Fail2ban en Issabel Asterisk

Para modificar las reglas preestablecidas dentro del Fail2ban en Issabel Asterisk se debe acceder a cada una pulsando el campo que se encuentra en view. En donde podemos cambiar el nombre, la cantidad de intentos para ser considerada un ataque, el tiempo en horas de bloqueo, la lista de ips permitidas y que nunca serán bloqueadas y si está o no habilitada la regla. El siguiente ejemplo nos permite ver una regla para bloquear el puerto ssh de Issabel, con 2 intentos durante 2400 horas (100 días ), las ips permitidas siempre y el estado de la regla.

reglas-fail2ban-ssh-issabel-elastix-guadalajara
reglas de fail2ban para ssh en issabel

Probar el bloqueo de Fail2ban en Issabel Asterisk

Para probar que el servicio esté correctamente funcionando, podemos hacer algunas pruebas con las que valoraremos la correcta configuración y nos podremos ir a dormir sin pesadillas. Las pruebas que sugiero hacer son las siguientes, todas ellas las recomiendo hacer de al menos dos puntos remotos distintos. Una forma fácil de hacerlo, es desde un dispositivo móvil conectado a la red de datos 4G. Debes tener cuidado de no bloquearte.

  • Con algún softphone o teléfono IP, probar un registro de alguna extensión apuntando a la ip del servidor.
  • Desde la terminal, conectarse por ssh a la ip del servidor con issabel.
  • Tratar de configurar una cuenta de correo, apuntando a la ip del servidor.
  • Entrar via web a la ip y tratar de ingresar con el usuario admin.

Podemos ingresar vía web para validar estos bloqueos de issabel

Dentro de este menú, veremos los bloqueos detectados por fail2ban, Mientras escribía este articulo, 2 robots trataron de conectarse por ssh y uno por asterisk.

La siguiente bitácora de Asterisk, nos permite visualizar el ataque por sip que fue bloqueado por fail2ban

intento-intrusión-SIP
intento de intrusión SIP

En caso de que quieras desbloquear la IP, solo dar click en unban.

¿Qué hacer si no uso el puerto generico?

En caso de no usar el puerto genérico, es decir, que cambiamos el 22 de ssh por uno como 2222, o el puerto SIP 5060 por algún 6060, existen dos caminos. Escoge el que consideres mejor.

  • Generar un nuevo Jail para fail2ban
  • Cambiar el archivo services, para que el sistema operativo tome otro puerto como genérico

Generar un nuevo Jail para fail2ban

PAra generar un nuevo jail, dentro de la ruta /etc/fail2ban/jail.local (si no existe el archivo, debes crearlo.

[ssh] 
enabled = true
port = 2222
filter = sshd
logpath = /var/log/secure
maxretry = 6

Cambiar el archivo services

Para este punto, debemos editar el archivo /etc/services dentro de nuestro Issabel, y buscar la línea 46 y 47 donde debemos cambiar el puerto y deberá quedar así. En este ejemplo nos referimos al puerto 22, el cual lo cambiamos al 2222. Lo mismo puede ser para el SIP 5060 u otros.

ssh 2222/tcp # The Secure Shell (SSH) Protocol
ssh 2222/udp # The Secure Shell (SSH) Protocol

Andres Lavariega

Apasionado de las tecnologías.Profesional Asterisk y Camaleon Firewall. VoIP Security Assessment / / Me divierto programando y desarrollando ideas //

Podría también gustarte...

1 Respuesta

  1. Paz dice:

    Justo lo que estaba buscando.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *