Estadísticas de inseguridad en Elastix (México)

9 Mar

Hoy decidí realizar un estudio sobre las vulnerabilidades que sería capaz de encontrar en un entorno como Elastix en México. Me puse mi sombrero blanco y decidí escanear todas las posibles redes del país y buscar cuantos equipos utilizan la distribución antes mencionada (al menos las visibles en el puerto TCP 443), y los resultados fueron alarmantes. Aquí algunas estadísticas:

25.4 millones de hosts escaneados
69 mil tienen el puerto 443 abierto
467 equipos eran Elastix

Aclaro que esto no quiere decir que estos sean todos los equipos Elastix en México. Esto quiere decir que en una noche cualquiera fui capaz de encontrar 467 equipos visibles abiertamente en internet, los demás están tras algún firewall y son invisibles al exterior (¡bien!).

Ahora, para los números del terror:

  • 287 tienen algún tipo de dato «secreto» que se puede obtener fácilmente (contraseña de FreePBX, contraseña de Elastix, contraseñas de extensiones)
  • los mismos 287 tienen el puerto SIP abierto
  • 261 tenían algún tipo de contraseña default para FreePBX
  • 26 aún tenían la contraseña de «palosanto» para Elastix
  • 31 usan la misma contraseña en FreePBX que en Elastix
  • 42 aún usan FreePBX 2.5.x que muestra la contraseña de administrador en texto plano

Y quizá la más sobresaliente:

  • 197 usan alguna distribución de Elastix suficientemente vieja que permite descargar el archivo de batch extensions, entregándote el archivo que nombra todas las extensiones del sistema con sus respectivas contraseñas, dando un total de ¡8,300 extensiones disponibles para hacer llamadas en Elastix ajenos!

Esto quiere decir que aún con una tasa de fallo del 50%, tengo 4,150 de posibles extensiones desde las cuales se pueden sacar llamadas sin pagar un solo centavo, ocasionando tráfico VoIP que en pocas horas se convierte en facturas millonarias de teléfono.

Y si creen que exagero, échenle cuentas:

  • Supongan que de los 197 servidores visibles, al menos 170 tienen algún tipo de interfaz FXO o E1
  • Supongan que en una sesión de ataque promedio, puedo cursar llamadas por el mismo equipo (por la noche) durante unas 4 horas
  • Supongamos que promediando la cantidad de canales de E1 y de puertos FXO, puedo cursar 3 llamadas simultáneas por servidor

Esto me da un total de 4 horas * 60 minutos * 3 llamadas simultáneas * 170 servidores = 122,400 minutos de tráfico. Si el destino costara $7/min, hablamos de un total facturado de $856,800, ¡en unas horas!

Y claro que este es el espectro conservador: conozco casos de 2a persona que han tenido facturaciones de $24,000 en una sola pasada. Hagan números, y fácilmente comprenderán por que esto del robo de VoIP está tan de moda y resulta tan redituable.

Obviamente si no quieren convertirse en amigos de lo ajeno, sigan las ya super conocidas medidas de seguridad para cualquier entorno Asterisk:

  1. Siempre cambien las contraseñas default
  2. Tampoco usen palabras de diccionario como contraseña
  3. No den acceso desde el exterior si no se necesita. Esto aplica a los puertos UDP 5060 y TCP 22, 443 (los más comunes)
  4. User el permit deny dentro de Asterisk para limitar que IPs se registran en cada extensión.
  5. No usen contraseñas y passwords iguales (user:100 pass:100)
  6. Actualicen sus distribuciones a la más reciente versión
  7. Limiten la cantidad de llamadas simultáneas por extensión (¿Por qué razón Juan Pérez haría 20 llamadas a la vez?)
  8. Rechazen malas autenticaciones sin dar más detalles (alwaysauthreject=yes) en sip.conf
  9. Firewall firewall firewall
  10. Usen fail2ban para defenderse de ataques de fuerza bruta
  11. Autentiquen al usuario, no solo al teléfono (usen contraseñas post-marcado)
  12. Nieguen llamadas anónimas provenientes del exterior
  13. Definan planes de marcación limitados (ojo con el dialplan injection)

Asterisk/Elastix como tal son bastante seguros: es el administrador el que los hace inseguros al obviar cualquier de estos pasos sugeridos. Todos los puntos que aquí se mencionan también se estudian desde nuestros cursos Asterisk

Suerte, y…  ¡aseguren sus equipos!

Problema con nuevos registros en el foro

9 Mar

Hoy hicieron de mi notar que había problemas para registrarse en los foros de discusión. En efecto, al intentar registrar una cuenta nueva el módulo que tenía de reCaptcha no me dejaba hacerlo, por más veces que intentara de poner las palabras correctas.

Así que con la intención de no lastimar al forro en la guerra con el SPAM, descargué e instalé un nuevo Captcha basado en jQuery. La idea es que al registrarse arrastren el ícono solicitado sobre el círculo de la derecha. Resulta muy sencillo, pero no para los bots 🙂

Si alguien ha tratado de registrarse en los foros últimamente por favor intente este nuevo método. Si hay algún problema avísenme en los comentarios por favor.

 

Cursos Asterisk para marzo-abril 2011

4 Mar

En esta ocasión habrá cursos en Monterrey y Ciudad de México. Aquí las fechas y modalidades:

Curso básico
– México, DF. 5 y 6 de marzo
– México, DF. 10 y 11 de marzo
– México, DF. 9 y 10 de abril
– México, DF. 14 y 15 de abril
– Monterrey, NL. 30 y 31 de marzo

Curso completo (básico, intermedio e IVR) intensivo
– México, DF: 10, 11, 12 y 13 de marzo
– México, DF: 14, 15, 16 y 17 de abril
– Monterrey, NL: 30 y 31 de marzo, 1 y 2 de abril

Curso completo (básico, intermedio e IVR) fin de semana
– México, DF: 5, 6, 12 y 13 de marzo
– México, DF: 9, 10, 16 y 17 de abril

Para más detalles puedes consultar nuestra página de información general de los cursos. Si tienes alguna duda por favor, utiliza nuestro formulario de contacto

Curso Asterisk completo (¡última fecha del año!) del 25 al 28 de noviembre

4 Nov

Otro año más que se va, y también en esta ocasión me toca anunciar lo que será la última fecha de cursos del año. Hay varias opciones para tomarlo, así que para el que le interese no hay pretextos de que «ahora no puedo».

Las fechas disponibles son:
– Curso básico. 13 y 14 de noviembre
– Curso básico. 25 y 26 de noviembre
– Curso completo (básico, intermedio e IVR). Modalidad fin de semana: 13, 14, 27 y 28 de noviembre
– Curso completo (básico, intermedio e IVR). Modalidad intensiva: 25, 26, 27 y 28 de noviembre

Para todos aquellos interesados en asistir, por favor consulten la información sobre nuestros cursos Asterisk. Si aún así quedan dudas, por favor, contáctenme para hacerles llegar más información.

Recuerden: ¡es la última fecha del año!

Saludos,

Curso Asterisk completo v2.0, México DF del 20 al 23 de octubre

22 Sep

Cada que doy uno de mis cursos me doy cuenta que me falta más y más tiempo para terminarlo: no sé si sea porque una vez que empiezo a hablar de Asterisk no puedo parar, o bien porque en cada ocasión le sigo agregando material a mis diapositivas para tratar de cubrir lo más posible.

En esta ocasión se abre una nueva fecha para nuestros cursos, del 20 al 23 de octubre en la Ciudad de México, Distrito Federal (modalidad intensiva). Como siempre, con horarios de 9 a 19:30 horas (o hasta que el cuerpo aguante) y con posibilidad de tomar solamente el curso básico para aquellos que desean llevar el curso de manera «tranquila»

Para todos aquellos interesados en asistir, por favor consulten la información sobre nuestros cursos Asterisk. Si aún así quedan dudas, por favor, contáctenme para hacerles llegar más información.

Saludos a todos, y espero puedan acompañarme en esta próxima sesión.

Nuevo versión de nuestros Cursos Asterisk: 11 al 14 de agosto @ México DF

5 Jul

Una vez más, anunciamos la nueva fecha en puerta para nuestros cursos.

Cabe resaltar que en los últimos días he estado trabajando para mejorar el material: hacerlo más claro, ofrecer más ejemplos, cubrir más temas. Todos los que tomen el curso a partir de este momento estarán recibiendo una versión de Curso 2.0. Todavía me encuentro haciéndole muchos cambios, pero cada día están quedando mejores que el anterior.

Las fechas programadas para los siguientes cursos son:
– Sabatino (2 fines de semana): 6, 7, 13 y 14 de agosto
– Intensivo (4 días seguidos): 11, 12, 13 y 14 de agosto

Para obtener más información, puedes consultar la página general con información sobre los cursos.

Si aún quedaran dudas, por favor, ponte en contacto conmigo y con gusto responderé a tus dudas.

¡Esperamos verte en el próximo curso!

Renacen los viejos foros de Vozdigital.org

3 Jun

Me topé con un respaldo bastante viejo de la base de datos de los foros de vozdigital.org que tenía desde hace años, y aprovechando que reemplacé los foros de Drupal por los de phpBB3, decidí importar la información vieja esperando que le sea útil a muchos.

De antemano me disculpo con las pocas personas que ya habían pegado mensajes, pero tuve que sacrificar los pocos posts que habian en pro de traer a la vida los 19,000+ que ya había previamente.

Siéntanse en libertad de volver a pegarlos a su gusto. Veré de contestarlos nuevamente.

Visiten aqui los nuevos foros Asterisk

Nuevo Curso Asterisk: 7 al 10 de julio @ México DF

31 May

Para todos los interesados, es de mi grato agrado presentarles dos nuevas fechas para nuestros Cursos Asterisk a llevarse a acabo durante julio del presente año en la Ciudad de México, Distrito Federal.

Las fechas programadas son:
– Sabatino (2 fines de semana): 2, 3, 9 y 10 de julio
– Intensivo (4 dias seguidos): 7, 8, 9 y 10 de julio

Para obtener más información, puedes consultar la página general con información sobre los cursos.

Si aún quedaran dudas, por favor, no dudes en enviarnos un correo electrónico y con gusto responderemos.

¡Esperamos verte en el próximo curso!

Interconectando Kamailio 3.0.x con Asterisk 1.6.2

26 May

Después de años de utilizar Asterisk, es muy notable el hecho de que su arquitectura está pensada para lograr funcionalidad, pero no desempeño.

En múltiples ocasiones he tenido problemas de llamadas que se cortan o no se procesan, simple y sencillamente porque Asterisk está congestionado por múltiples peticiones SIP que le llegan y que no es capaz de atender rápidamente por estarlas autenticando.

Pues bien, una solución a este problema es relegar toda la carga bruta de SIP hacia un SIP proxy como lo es OpenSIPS o Kamailio (ambos derivados de OpenSER), y es precisamente lo que Daniel-Constantin Mierlahace en este muy bien explicado tutorial sobre como interconectar Kamailio y Asterisk, el cual es bastante explicativo y te lleva de la mano.

Sin duda este es un excelente primer paso para lograr una opción de comunicación open source de alto rendimiento y plagada de funcionalidades.

Monitoreando los signos vitales de Asterisk: creando el NOC de una persona

26 May

Después de mucho sufrir, eventualmente lograremos llevar a nuestro equipo al punto donde los cambios serán mínimos. ¿Entonces que sigue? ¿Vacaciones? La respuesta es un simple «¡NO!». Nuestra labor es asegurarnos que Asterisk se mantenga arriba (recordemos que estamos hablando de una plataforma completa de comunicaciones, y sin ella, el negocio simplemente no funciona)

Si bien no podemos asegurar que un equipo nunca se caerá, si podemos tomar acciones proactivas que reduzcan al mínimo el tiempo que dure la caida en caso de una contingencia. No podemos monitorear el equipo 24/7 (somos humanos, ocasionalmente tenemos que dormir), por lo que debemos de utilizar alguna herramienta de monitoreo que nos informe en el momento en que algo esté funcionando mal. Una solución muy decente (y mejor aún, open source), es Argus

Argus se trata de una herramienta escrita en Perl. Es muy ligera, pero muy versátil, y nos permite monitorear diferentes métricas del equipo. Inclusive, si no tenemos manera de medirla, podemos desarrollar un script (por ejemplo en PHP) que le entregue a Argus los datos que necesita para validar si el equipo se encuentra en buen estado. Dichos datos pueden ser por ejemplo, la cantidad de llamadas que Asterisk tenga arriba, el espacio en disco disponible o bien la carga del sistema.

Screenshot de un sistema con Argus monitoreando la carga del sistema

Para poder generar algunas de las métricas que mido, desarrollé un pequeño script llamado monitor.php que utiliza PHPAGI para hacer consultas a Asterisk y entregar el resultado. Usando este script en compañía de Argus, podemos construir una herramienta de monitoreo bastante buena, y lo mejor de todo: gratis.

Si deseas discutir más sobre el tema, te invito a participar en los foros.