Una guía básica de pasos a tomar en tu servidor Elastix
Cuando uno descubre las posibilidades de Elastix no se para a pensar lo que personas malintencionadas podrían hacer con esta aplicación. Y casi todo es así en la vida, esa dualidad que permite pervertir lo útil hasta convertirlo en
Sin embargo, el mayor enemigo de la seguridad es el administrador del servidor.
Nadie te puede garantizar el 100% de la seguridad, pero con unas pequeñas prácticas puedes estar tranquilo ante una amplísima mayoría de los riesgos.
La principal estrategia para que no te roben la casa es asegurar las puertas y las ventanas… pues aquí es lo mismo.
El primer paso para cualquier estrategia es documentar lo que se está haciendo. Recomiendo abrir un archivo de texto donde se vea reflejado cada punto crítico de la instalación, principalmente claves. Si el editor de texto es plano (texto sin apenas formato) mucho mejor para poder utilizarlo con Putty u otra consola sin riesgo de errores tipográficos. Mis consejos para asegurar Elastix “para novatos” son los siguientes:
1. En la instalación coloca contraseñas lo más complicadas posibles: mayúsculas, minúsculas, números,…Siempre hay que huir de palabras con sentido que puedan encontrarse en un diccionario. Mucho mejor el idioma de “los marcianos”: rBh78Yg1244, por ejemplo. Y recuerda que el archivo de texto está para apuntar estas cosas.
2. Trata de quitar los módulos que no utilices, para ello hay que “abrir la puerta” del FreePBX dentro de las opciones de seguridad del interfaz. Una vez realizadas las desinstalaciones hay que “cerrar la puerta” y comprobar que no se puede acceder a la dirección (ipservidor/admin). La puerta del FreePBX es un lugar recurrente de “hackeo”.
3. Aprender a utilizar Iptables, permitiendo conectarse al servidor sólo a los clientes de la red, y sólo teniendo relación con Internet a través de los proveedores SIP. Las Iptables son el mejor firewall de tu servidor.
4. Si existen extensiones que se conectan fuera de la red estás exponiendo la central al mundo. Para mitigar el suceso, restringir con Iptables la entrada a IP Fijas concretas o en su defecto (IP Dinámicas) recurrir a servicios de DNS. Lo mejor para externos es conectarse a través de VPN al router del servidor y recibir una IP Local como cualquier extensión interna. Es decir, con VPN conviertes una extensión externa en interna, neutralizando los riesgos.
5. Crear las extensiones con claves complejas y restringiendo su uso a la red (opciones Deny/Permit). Teniendo siempre en cuenta el punto anterior.
6. Si no estás muy versado en Linux, utiliza herramientas como Webmin para controlar el tema de los usuarios del servidor. Aquí podrás eliminar y crear los usuarios junto con los grupos que desees. Es una buena opción para cambiar root por otro usuario con los mismos privilegios y despistar a “los malvados”. Recomiendo desinstalar Webmin después de utilizarlo, pero antes también recomiendo encarecidamente comprobar que todo ha resultado satisfactorio antes de salir de él.
7. Los ataques de “fuerza bruta” son aquellos que se producen por intentar meter la clave millones de veces hasta que se acierta. Es decir: si sabemos el nombre de usuario, sólo habrá que probar con la contraseña. Por eso es recomendable quitar la opción del logueo de root por defecto. Además herramientas como Fail2ban “marginan” a los usuarios que fallan con las claves. Es interesante configurarlo para SSH.
8. Mi último consejo es un poco contradictorio: no intentes ser “demasiado seguro” y comprueba siempre antes que las nuevas claves de cada usuario funcionan. No es el primer caso de persona que “blinda” tanto su casa…que luego no puede entrar en ella.
Con estas pautas sólo se podrán intentar loguear en el servidor y en la interfaz gráfica aquellas personas que tengan una dirección IP Privada, dentro de la red del servidor. Sin duda, así los riesgos se reducen mucho.
Además, si alguien de la red intenta entrar se llevará la sorpresa de no estar root para loguearse, y a los pocos intentos (recomiendo tres) Fail2ban lo baneará y nos enviará un informe con la IP del “amigo de lo ajeno” que ha querido entrar.
Incluso se puede poner la cosa más complicada, sencillamente cambiando los puertos de conexión SSH y HTTP…
Como digo, hay varias opciones simples que pueden ahorrarte muchos dolores de cabeza y bolsillo en los primeros pasos con Elastix. Una vez que se tenga experiencia con el software es recomendable extenderse en la seguridad de la central con cursos específicos, pero sin duda esto puede ser un buen comienzo para un uso seguro.