Elastix, corrigiendo sus vulnerabilidades y aumentando su seguridad.

Elastix, en cristiano, es un software web que administra Asterisk, una popular plataforma para convertir un PC en una central IP. Si deseas mayor información de Asterisk, consultar en Wikipedia.

Elastix, que desde mi punto de vista ha sobresalido por sus múltiples vulnerabilidades, requiere de cierta “configuración” para evitar estos inconvenientes… así que si tienes elastix y salida internacionales (lo apetecible para un atacante), te sugiero las siguientes recomendaciones:

Firewall Activado

Que tal bloquear por IP? necesitas brindar acceso desde otros puntos a tu PBX? que puntos?. Podrias agregar acceso desde solo dichas IP a tu central… y cierras la puerta a cualquier atacante…. pero si usas una extensión movil? para conectarte desde un mall, hogar, otro país, etc.? Sugeriría tener una VPN y conectate por la VPN.

Aun asi, manten los siguientes controles de seguridad:

Contraseña del Admin y usuario Admin

Los primeros ataques provienen por fuerza bruta. El atacante necesita un usuario y una contraseña para ingresar a la interfaz de Elastix, pero por defecto ya conoce tu usuario «admin», por tal motivo tiene el 50% de la información que necesito, por lo que solo le resta obtener la clave. Lastimosamente Elastix no tiene un control eventos de inicios de sesión fallidos por IP para prevenir estos ataques, por lo que mi recomendación sería:

Cambiar el usuario “admin” por uno que el atacante no sepa, poco común… como “luigi007″  para que el atacante no lo sepa, ya que él siempre tratará de obtener la clave del usuario «admin». Esto lo puedes hacer con el siguiente comando:

sqlite3 /var/www/db/acl.db «UPDATE acl_user SET name = ‘usuario_nuevo’ WHERE id = 1;»

Ahora bien, necesita una contraseña que sea prácticamente imposible descifrar por fuerza bruta, que tenga letras, números y caracteres especiales, y que NO sea una palabra específica… algo como “17la=d&(jh%” es ideal poco difícil de recordar pero debes ver la manera en tener una clave robusta.

Desactivar el acceso a FreePBX

Es muy común los ataque por esta “puerta abierta”, hay un artículo que lo refiere en el blog de elastix. Aunque recomendaría restringir su acceso con un .htaccess, puesto que ya tienes la interfaz de elastix, para que necesitarías esta?

Si usas phpMyAdmin, actualizarlo o restringirlo.

Las versiones anteriores de phpMyAdmin son vulnerables y existen herramientas online para atacarlo, por lo que sugiero siempre mantener una versión ACTUALIZADA o en su defecto necesitas acceder a phpmyadmin desde todo lugar? Si puedes, eliminarlo o bien protegerlo con un .htaccess y permite solo las IP que necesites.

Configuración de Extensiones:

Un atacante no necesariamente necesita acceder a la interfaz de tu central, basta con tener acceso a una extensión para iniciar a hacer llamadas desde tu central. Para esto comúnmente los números de extensiones que se colocan son 101 o 1001, lo cual es bastante comun y facil de deducir. Por ello debes:

  • No usar números de extensiones comunes, como 101 o 1001, bien podrías configurar esto como un alias a una extensión más complicada. Recuerda que el número de la extensión será el «usuario» de la misma.
  • Restringe el acceso de rangos de ips de las extensiones, por ejemplo, si x extensión se conecta solo desde la red interna, restringe esto desde la opción permit en la configuración de la extensión.

Protege tus servidor de ataques de fuerza bruta.

Herramientas como Fail2ban o similar, pueden ayudarte a evitar los ataques de fuerza bruta a tu server.

También puedes usar mi script PHP-BFD que está por defecto configurado para proteger centrales con Elastix.

PROBLEMAS FRECUENTES

Olvidé mi clave del usuario admin de elastix 

Suele pasar! Lo solucionas con el siguiente comando:

sqlite3 /var/www/db/acl.db «UPDATE acl_user SET md5_password = ‘`echo -n clave_aqui|md5sum|cut -d ‘ ‘ -f 1`’ WHERE id = ‘1’»

Recuerda cambiar clave_aqui por la clave que deseas configurar.

Enlaces de lectura recomendada:

URGENTE:

Vulnerabilidades en FreePBX y vTiger

Elastix ha reportado vulnerabilidades con FreePBX y vTiger, por lo que sugiero lean los siguientes artículos:

Aunque son vulnerabilidades antiguas me pregunto: desde cuando tendrás la central con elastix o que version usastes? vale lo revises…

Ataques por INVITE

Hace algún tiempo se refirieron ataques de este tipo, yo lo revise en Sinologic y la verdad lo explica muy bien e incluso dan una herramienta para verificar, en realtime, si tu central es vulnerable… date una vuelta por el post de Sinologic.