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:
- Cómo proteger tu Asterisk frente a ataques
- Seguridad Básica en Elastix
- Proteger Asterisk de ataques por SIP
URGENTE:
Vulnerabilidades en FreePBX y vTiger
Elastix ha reportado vulnerabilidades con FreePBX y vTiger, por lo que sugiero lean los siguientes artículos:
- FreePBX – http://blogs.elastix.org/es/2010/09/06/backdoor-en-freepbx/
- vTiger – http://www.elastix.org/index.php/es/component/content/article/67-news/newstest/889-critical-vulnerability-vtiger.html
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.