Implementaciones de seguridad básica en una centralita Issabel de VOIP

Tener una centralita de VOIP es algo muy útil, pero también tiene sus riesgos. Cualquier servidor conectado a Internet recibe cientos de ataques por segundo, y los “hackers” conocen bien las maneras de entrar en un servidor de Issabel. Sobre todo si no están implementadas las medidas de seguridad básicas.

En este vídeo de hoy os dejamos varias medidas que podemos activar de manera sencilla e inmediata. Son las siguientes.

  • Activar el Firewall que viene por defecto. Después podemos implementar reglas personalizadas como evitar el acceso al SIP desde el exterior o bloquear por países.
  • Activar Fail2ban. Una herramienta muy importante para cualquier servidor. PERO tenéis que poner vuestra ip o vuestra red (mejor) en la lista blanca o os cortará el acceso web.
  • Reglas de bloqueo por extensión. Podéis poner la red desde la que permitís registrarse en cada extensión. Así nadie que entre desde fuera puede acceder a esa extensión.

Hay más reglas más avanzadas que trataremos otro día, pero estas deberían implementarse con cada instalación.

Apuntar una extensión a un móvil o fijo externo en Issabel. Follow me.

En ocasiones queremos que alguna de nuestras extensiones de nuestra centralita sean números externos. Lo más normal es que queramos que sean móviles, pero también puede ser algún fijo. El móvil de un comercial que siempre está fuera de la oficina, el fijo de la casa de un trabajador que hace teleworking, tu móvil para poder desviar las llamadas ahí a ciertas horas…

Issabel (Asterisk) tiene una función muy útil para esta y otras cosas, el Follow Me. Os enseñamos a usarla en este vídeo.

Nota: si en las llamadas externas no tienes sonido, recuerda desactivar la opción de Fax en las reglas salientes.

Desvíos a números externos en Issabel (Asterisk) no tienen sonido. Solución.

Llevamos un tiempo notando esto en algún cliente. Cuando creaban en Issabel (o en cualquier Asterisk) una extensión como un móvil, o un desvío a un móvil la llamada salía pero no se oía sonido. En ninguna dirección.

Probamos lo obvio, firewalls, puertos, antivirus etc. Y nada.

Hoy hemos estado peleándolo con un cliente hoy, probando muchas cosas y hemos encontrado la solución, así que os la dejamos para que no perdáis tanto tiempo como nosotros, y para tenerlo nosotros en consultas futuras.

Solución.

Buscando online hay dos soluciones principales. Pusimos ambas soluciones en el cliente, y no podemos asegurar que individualmente funcionen (creemos que la segunda es la única necesaria). Si lo probamos en otro cliente lo confirmaremos.

  1. Pusimos el parámetro progressinband=yes en el troncal SIP. Exáctamente en la primera sección de configuración (outgoing).
    Como decimos creemos que esto no es necesario, pero lo recomiendan y lo hicimos.
  2. Activamos en las reglas salientes la detección de fax. Si, parece mentira y absurdo. No tiene ningún sentido, pero activar el fax crea alguna opción en la configuración que hace que el sonido salga en las llamadas externas.
    Como vemos en la imagen lo activamos y ponemos cualquier destino (no lo vamos a usar). Probad y funciona.

Issabel: tamaño del disco lleno por los logs de Asterisx. Cómo reducir los logs de Asterisk.

En clientes que teníamos Issabel instalado con ciertas particiones, nos ha ocurrido varias veces que se llenaba la partición primaria. Se quedaba al 100% y no nos dejaba entrar vía web. Por culpa de los logs de Asterisk (lo podéis verificar con du –max-depth=1 -m -x por terminal).

La solución que aplicábamos era borrar los logs messages y full de la carpeta de logs de Asterisk. Pero al cabo del tiempo volvía a ocurrir.

Solución: configurar correctamente los logs de Asterisk.

El problema es que los logs de Asterisk tienen activados los modos Debug, Verbose, Warning (además de Error y Securiy) para todos los estados. Esto quiere decir que básicamente guardan registro de todo, lo que pasa, aunque no sea un error. Así que se llenan enseguida.

Para cambiar esta configuración tenemos que ir a
PBX > PBX Configuraton > Unembedded IssabelPBX > Settings > Asterisk Log Files

Nota: puede que no tengas permisos para acceder a Unembedded Issablel PBX y debas aplicar dichos permisos, pero te indica dónde ir ( Security >> Advanced Security Settings )

Como veis tiene puesto guardar todo en el registro.

Desactivad Debug, Verbose y Warning para todos.

Con esto el log debería mostrar sólo los errores y problemas de seguridad y crecer más lento.

Cómo cambiar la IP de un PBX Issabel por línea de comandos y por web.

Issabel es una solución excelente para VoIP y muy intuitiva. Pero en ocasiones necesitamos hacer alguna modificación por línea de comandos, como la que vamos a ver hoy: cambiar la IP.
Hoy vamos a enseñaros a hacerlo tanto por web como por línea de comandos.

Cambiar la IP de Issabel por la interfaz web.

Esto es sencillo, no sería motivo para escribir el artículo. Pero lo ponemos para que tengáis toda la información aquí.
Para cambiar la IP por la interfaz web hay que entrar como el administrador eir a Sistema>Red >Parámetros de Red> Editar Parámetros de red.
Ahí pincháis en el interfaz de red (normalmente eht0) y ponéis si lo queréis Static o por DHCP (no recomendado salvo para poder acceder en una red desconocida), con los parámetros que necesitéis.

Cambiar la IP de Issabel por línea de comandos.

Esto es lo que suele ser más complicado. Hemos cambiado nuestra red, o la máquina virtual, y tenemos que cambiar la IP de Issabel. Pero no podemos acceder a la parte web hasta que la cambiemos, ¿como lo hacemos?

Issabel está montado en CentOS, así que si controlas ese sistema deberías poder cambiarlo. Y hay varias maneras. Pero como encima de CentOS están todas las aplicaciones de Asterisx e Issabel, os recomendamos que uséis el siguiente comando: nmtui

Este comando abre un asistente gráfico (antiquísimo pero sencillo de usar). Sólo tienes que elegir el interfaz y seguir los pasos para cambiar la IP (tabulador para cambiar de un campo a otro)

  • Modificar una conexión
  • Eth0->Editar
  • IIPv4-> Mostrar
  • Ahí podemos cambiar a Manual y añadir las direcciones que tenemos que añadir en Direcciones, Puerta de Enlace y DNS.
  • Bajar a Aceptar
  • Luego Back y Aceptar

Una vez cambiada no hace falta reiniciar el sistema, podemos reiniciar la red con systemctl restart network.service

Con esto deberíamos tener la nueva IP.

Cómo cambiar la contraseña de administrador en Issabel.

¿Quieres cambiar la contraseña de Issabel por web, o por línea de comandos?
Te enseñamos cómo.

Dónde se guardan las contraseñas en Issabel.

Lo primero es dónde se guardan las contraseñas. Para verlas edita el fichero /etc/issabel.conf.
Ahí encontrarás tanto la de administración por web como la de Mysql (apúntala si no la tienes porque te la van a pedir para cambiar la primera).

Cómo se cambia la contraseña en Issabel.

Por Web.

Tienes que ir Sistema->Usuarios->Usuarios elegir el usuario admin y ahí cambiar los campos “Contraseña” y “Confirmar contraseña”. Después pinchar en Guardar.

Por línea de comandos.

Puedes elegir dos comandos (los dos llevan al mismo sitio)

issabel-admin-passwords –change (si no lo encuetra ve a /usr/bin y lo ejecutas ahí.
change-passwords

Se va a abrir un asistente muy básico en el que pregunta primero (dos veces) la contraseña de MYSQL. Después te deja cambiar la contraseña del usuario admin de Issabel.

Una vez cambiado, entra por vía web y prueba la contraseña.
Mucho más fácil que en el antiguo Elastix.

Por cierto, si de repente no entra en el interfaz web, comprobad primero el espacio libre en disco. A nosotros nos ha pasado a veces que estaba lleno y por eso no entraba.

VOIP: Configurar un troncal para la fibra de Movistar en Issabel

Dentro de nuestra serie tutorial de configurar centralitas de VOIP con Issabel (Asterisk), hoy os dejamos cómo configurar un troncal para la fibra de Movistar. Recomiendo leer el artículo sobre la instalación de nuestro sistema en una máquina virtual como paso previo.

Configuración de un troncal para la fibra de Movistar en Issabel.

Una vez instalada la máquina virtual, con una IP fija y nuestro Issabel, entramos a través web. Ahí vamos a ir a PBX > Configuración PBX y vamos a empezar creando los troncales.

Para empezar uno de Movistar, pero podemos tener los que queramos (por ejemplo que unos números salgan por un operador y otros por otro). Normalmente entrantes tendremos el mismo.

En el vídeo explicamos todo el proceso, pero os dejamos aquí los datos necesarios para la fibra de Movistar (otros operadores necesitan otros datos) .

Outgoing —–

type=peer
fromuser= 91XXXXXXX
secret= 91XXXXXXX
fromdomain=telefonica.net
host=telefonica.net
outboundproxy=10.31.255.134:5070
port=5070
nat=yes
insecure=port,invite
dtmfmode=auto
disallow=all
allow=ulaw,alaw

Incoming——–

user context: from trunk

USER DETAILS:

type=peer
username= 91XXXXXXX
secret= 91XXXXXXX
fromdomain=telefonica.net
host=10.31.255.134
port=5060
outboundproxy=10.31.255.134
qualify=no
nat=yes
insecure=port,invite
dtmfmode=auto
canreinvite=no
disallow=all
allow=ulaw,alaw
outboundproxyport=5070

REGISTER STRING:

9XXXXXXXX@telefonica.net:9XXXXXXXX@10.31.255.134:5070

 

Que puertos hay que abrir en el router o firewall con centralitas VOIP Asterisk ( Issabel, Elastix…)

Poco a poco vamos escribiendo artículos sobre la configuración de una centralita de VOIP Asterisk (ya sabéis que en nuestro caso usamos Issabel). Hoy toca qué puertos hay que abrir en un router o firewall cuando queremos instalar una centralita de este tipo.

Puertos a abrir en el router con centralitas VOIP Asterisk ( como Issabel).

Para saber los puertos hay que entender un poco el flujo de información entre la centralita y los teléfonos en el momento de la llamada. Esto, además, os ayudará a encontrar las causas de problemas en vuestra configuración.

Para ello os dejamos esta imagen que lo resume.

La idea es que cuando hacemos una llamada, toda la comunicación de inicio de llamada, invitaciones y otros procesos de establecimiento entre el teléfono y la centralita se hacen por el protocolo SIP/SDP. En ese caso usan normalmente el puerto de UDP 5060 (aunque conviene abrir el TCP 5060 también).

Una vez establecida la llamada, los paquetes de voz, la conversación, se retransmite, entre los teléfonos, por dos puertos aleatorios del protocolo SIP/RTP. Normalmente estos son cualquier puerto UDP entre el 10000 y el 20000.

Por lo tanto (y supongo que has dado ip fija a la centralita), tienes que abrir, y apuntar a la IP de la centralita, los puertos:

  • UDP/TCP 5060. In and out.
  • UDP 10000:20000 . In and out.

Si quieres habilitar IAX/2 es el puerto 4569 UDP.

Nota: Movistar se comunica con su proxy por el puerto 5070 y ese es el que se configura en el troncal, así que en fibras de Movistar también hay que abrir el 5070 (UDP/TCP).

Recuerda que estos puertos hay que abrirlos en todos los firewall que tengas. Es decir en el router para hacer nateo, en el del equipo de la centralita si tiene, y en los firewall de Issabel (os indicaremos cómo).
Y verás que en la configuración de Issabel tienes que poner Nat=yes si estás detrás de un nateo.

 

 

Instalación de Issabel en una máquina virtual Virtual Box. Centralita VOIP Paso 1

Vamos a intentar guiaros en la instalación y configuración de una centralita VOIP paso a paso. En este caso basada en Issabel. Para ello este es el primer vídeo tutorial: cómo instalar el sistema Issabel (que viene en una ISO) en una máquina virtual basada en Virtual Box.

¿Por qué Issabel?

Porque tras el paso a comercial de Elastix, nos parece la solución que más está siendo desarrollada. La hemos probado y estamos muy contentos con ella. Al final, no son más que “front-end” para el Asterisk que va debajo.

¿Por qué en Virtual Box?

En vez de configurar un servidor con la iso de Issabel, solemos preferir configurar una máquina virtual. ¿Por qué?

  • Se puede configurar en nuestras oficinas y luego llevar al cliente.
  • Es fácil tener una máquina de prueba en nuestra oficina con la misma configuración.
  • Las copias de seguridad son sencillas.
  • Si falla algo se restaura la máquina que funciona y punto.
  • Si necesitamos cambiar de equipo sólo hay que mover la máquina virtual.
  • Si falla el servidor, siempre podemos usar otro equipo y seguir funcionado.

Usamos Virtual Box porque es Open Source. Si estás en tu casa puedes usar otras opciones como Vmware.

Cómo instalar Issabel en una máquina virtual para tener una centralita VOIP.

En este vídeo os enseñamos a instalar la máquina virtual. Luego instalar la ISO de Issabel y configurar la básico para tener acceso a la interfaz gráfica de gestión.

Cuidado porque cometemos un pequeño error en la configuración de la red de la MV que se puede arreglar antes (cambiarla a tipo bridge) aunque es sencillo de arreglar.

Y obviamente la contraseña de 1234 y para la demo….poned contraseñas seguras y diferentes. En vídeos posteriores os enseñaremos a configurar la centralita VOIP Issabel.

 

Comandos para gestionar centralitas Asterisk como Issabel (Elastix…) por cli

La interfaz web de las centralitas tipo Issabel basadas en Asterisk es muy sencilla de usar y muy potente. Pero, en ocasiones, tendremos que usar la línea de comandos para poder ver que está pasando en nuestra centralita. Hoy os (y nos) dejamos, un resumen de comandos que podéis usar y cómo acceder a dicha línea de comandos.

Cómo acceder a la línea de comandos.

Issabel (la distribución que más usamos nosotros ahora) dispone de una manera de introducir comandos a través de la interfaz web. Tienes que ir a PBX->herramientas->Asterisk-CLI.  El problema es que sólo permite poner una. Si quieres algo más complejo tendrás que ir a la terminal de tu servidor.

En la termina linux de tu servidor, entrando con tu usuario root, puedes entrar en el cli de Asterisk con el siguiente comando:

asterisk -r

También vale rasterisk.

Comandos más usados.

Obviamente hay muchos comandos. Puedes ver la ayuda con  core show help .
Para ver las aplicaciones que puedes añadir al fichero extensions.conf puedes poner core show applications.

Recordad que funciona como linux, con la tecla TAB te completa los comandos y da opciones.

Os voy a dejar los comandos que más usamos:

COMANDOS SIP.

  • sip show registry: Muestra el estado de registro del SIP.
  • sip show peers: Muestra los peers, los clientes registrados en tu centralita (las extensiones). Su estado, IPs etc.
  • sip show channel: Muestra información del canal SIP.
  • sip show channels: Muestra los canales activos SIP.
  • sip set debug on o sip debug (dependiendo de las versiones): activa el modo debug.
  • sip set debug off o sip no debug (dependiendo de las versiones): desactiva el modo debug.
  • sip show users: Muestra los usuarios

COMANDOS SISTEMA ASTERISK.

  • core show version: Versión de Asterisk.
  • core show uptime: Cuanto tiempo ha estado activo Asterisk.
  • core stop now: detiene Asterisk inmediatamente.
  • core stop gracefully: Para Asterisk cuando cuelguen las llamadas en curso.
  • core restart now: Reinicia Asterisk inmediatemente.
  • core restart gracefully: Reinicia Asterisk cuando se acaben las llamadas activas y no permite más llamadas entrantes hasta reiniciar.
  • core reload: recarga la configuración.
  • core dialplan reload: recarga sólo las extensiones.
  • core show channels: muestra los canales de todo tipo.

 COMANDOS CONSOLE.

  • console dial: Llama a la extensión que pongas detrás.
  • console answer: responde una llamada a la consola.
  • console hangup: cuelga una llamada a la consola.

 

 VARIOS.

  • voicemail show users: muestra una lista de los buzones de voz.
  • Puedes ejecutar y ver el resultado de comandos de linux desde la CLI de Asterisk (sin salir) si los antecedes con una !. Es decir !comandolinux. Por ejemplo !ls /home
  • exit: sale del CLI de Asterisk.

Más comandos aquí (algunos pueden variar con la versión).