16

Smart assistant manual de administrador sss

Embed Size (px)

Citation preview

Page 1: Smart assistant manual de administrador sss
Page 2: Smart assistant manual de administrador sss

Elastix Smart Assistant Manual de Administrador

Objetivo: Permitir al administrador la configuración inicial de Smart Assistant en un servidor Elastix. Descripción:

Smart Assistant es una aplicación para Smartphone que permite realizar la asignación de llamadas de manera eficiente a un usuario sobre un servidor de comunicaciones unificadas Elastix. La aplicación permite crear varios escenarios donde podemos decidir como re-direccionar una llamada entrante. Smart Assistant determina de manera inteligente donde estamos, a través de la tecnología wireless del teléfono, y aplica una condición predeterminada con éxito. Funcionamiento de Smart Assistant

Fig. 1 Diagrama de flujo de funcionamiento de Smart Assistant

Page 3: Smart assistant manual de administrador sss

Instalación Para instalar el Addon “Smart Assistant” debemos ir al módulo de Addons, buscar el módulo y hacer clic en instalar.

Fig. 2 Market Place de Elastix

Es importante mencionar que paralelamente, el (los) usuario(s) deben instalar Smart Assistant en sus dispositivos móviles o Smartphone, disponibles en “Google Play”. Cuando estos dos pasos se hayan completado vamos al menú Smart Assistant en la interfaz de administración de Elastix.

Fig.3 Seleccionando el menú Smart Assistant

Una vez en el menú hacemos clic en “Añadir Dispositivo”. Inmediatamente obtendremos un formulario donde ingresamos el “Device ID” de un usuario y lo asociamos con su extensión. Los datos necesarios para completar el registro son:

§ Device ID: un identificador de caracteres alfa numéricos que se genera en la aplicación en el dispositivo móvil del usuario

§ Extensión: La extensión del usuario en Elastix Ej.: 1100

Page 4: Smart assistant manual de administrador sss

§ Permitir Crear Objetivos: Habilitar la creación de destinos al usuario, siempre que este tenga la licencia Premium.

§ Archivo de Licencia: El administrador puede introducir la licencia generada en el momento que el usuario realizó la compra.

Fig.4 Añadiendo usuarios

El administrador, de acuerdo a las políticas de la empresa, puede habilitar la creación de Targets para el usuario. Esta funcionalidad está disponible en la versión estándar de la aplicación en el móvil. Hacemos clic en “Guardar” y el módulo ingresará al nuevo usuario a la base de datos del servidor.

Fig.5 Usuarios registrados

Configuración de Sígueme (Follow me) Esta configuración permite que el servidor redirija las llamadas al usuario utilizando la aplicación Smart Assistant. En la interfaz de administración de Elastix vamos a: PBX à Configuración PBX à Sígueme Seleccionamos la extensión del usuario y obtendremos un formulario donde configuramos los siguientes parámetros:

§ Ring Strategy: Seleccionar la opción Ringall § Follow-Me list: Escribir una extensión no existente, para que la llamada se

dirija a la opción “Destination if no answer”. § Destination if no answer: Seleccionar Custom Destination à SmartAssistant

Page 5: Smart assistant manual de administrador sss

Fig.6 Formulario “Sígueme” / “Follow Me”

Creación de Destinos /Targets en el módulo “Otros Destinos” Para agregar destinos disponibles en Elastix, nos dirigimos a: PBX à Configuración PBX à Otros Destinos El administrador del servidor Elastix puede crear los destinos genéricos y específicos para los usuarios. Los destinos genéricos están disponibles para todos los usuarios de Smart Assistant que tenga la organización. Los destinos específicos están disponibles únicamente para el usuario para el que se crearon. Destinos Genéricos

§ Descripción: Este campo debe tener necesariamente el formato “SMART-NombreDelDestino”, en este ejemplo tenemos SMART-CONFROOM, cuyo destino es el número de la sala de conferencias de la empresa.

§ Marcar: Este campo contiene el número de teléfono del destino SMART-CONFROOM, 100 en el ejemplo.

Page 6: Smart assistant manual de administrador sss

Fig.7 Creación de destinos.

Como observamos en la imagen, al crear el destino llamado “CONFRROM” (SMART-CONFROOM), estará disponible en el menú de destinos de la aplicación de usuario. Hay que considerar que en la versión gratuita de Smart Assistant todos los usuarios comparten el destino CONFROOM, es decir que si hay 10 usuarios de Smart Assistant, los 10 podrán seleccionar este destino entre sus opciones. Destinos Específicos La configuración para los destinos específicos es bastante parecida, la diferencia radica en el prefijo que se usa para añadir el destino, en lugar de “SMART”, colocamos como prefijo la extensión del usuario, ejemplo: 230-Celular.

Fig.8 Creación de destinos específicos

Esta configuración asegura que solo el usuario cuya extensión es 230 tendrá este objetivo de destino en la aplicación móvil Smart Assistant. El administrados puede crear los destinos que sean necesarios, los cuales se mostrarán en un listado.

Page 7: Smart assistant manual de administrador sss

Fig.9 Listado de destinos disponibles

Para que el usuario pueda seleccionar un destino específico desde la aplicación, debe adquirir la licencia Standard. Agregando una licencia a un usuario Un usuario puede adquirir una licencia Standard o Premium en: http://store.palosanto.com/index.php/elastix-addons/elastix-smartassistant.html Cada licencia tiene características adicionales que permiten extender la funcionalidad de la aplicación. Una vez que el usuario ha comprado la licencia, el recibirá un archivo con la extensión “.lic” que tiene el siguiente formato:

§ lic-numero_del_device_id_del_usuario.lic El usuario debe enviar este archivo al administrador, para que él lo pueda incluir en la configuración del dispositivo en Elastix. El administrador debe ir a PBX à SmartAssistant Luego hacer clic en el dispositivo al que debe ingresar la licencia.

Fig.10 Ingreso de archivo de licencia

Page 8: Smart assistant manual de administrador sss

Una vez en la interfaz de configuración del dispositivo, el administrador puede añadir el archivo de licencia haciendo clic en “Seleccionar archivo”, navega hasta encontrarlo, lo sube y luego hace clic en “Guardar”. De manera automática el usuario tendrá las funcionalidades disponibles en la aplicación. Configuración Avanzada Smart Assistant Cambio de puertos para envío de paquetes entre la aplicación y Smart Assistant

En la pantalla de configuración de la aplicación debemos configurar la dirección IP del servidor Elastix y el puerto donde la aplicación Smart Assistant enviará los paquetes de comunicación. El puerto por defecto es 8080.

Fig.11 Envío de paquetes al servidor Elastix

Al momento de instalar el Addon, desde el market place de Elastix, se crea una aplicación web en apache. La configuración se encuentra en el archivo: /etc/httpd/conf.d/smartassistant.conf [Continua en la siguiente página]

Page 9: Smart assistant manual de administrador sss

Fig.12 Archivo de configuración smartassistant

Nota: Podemos editar el archivo usando VIM. Si queremos cambiar el puerto debemos hacerlo en las dos instancias en que se incluye. En el siguiente ejemplo cambiamos el puerto de escucha al 39000

Fig.13 Cambio de puerto en archivo de configuración smartassistant

Guardamos los cambios y salimos del archivo, luego reiniciamos apache para que los cambios se hagan efectivos. service httpd restart Cifrado de comunicación

Para mejorar la seguridad de la aplicación, toda la comunicación entre la aplicación y el Servidor Elastix es cifrada. La clave de cifrado es única por servidor y El valor por defecto es 1234567890123456, tanto en al Addon del lado del servidor como en la aplicación en el Smartphone. Este valor puede ser editado por el administrador.

Page 10: Smart assistant manual de administrador sss

Fig.14 Comunicación cifrada

Para cambiarlo se debe de ejecutar la siguiente instrucción en el servidor Elastix. /opt/smartassistant/smart-set-secret.php clave_nueva Nota: La clave debe de ser alfanumérica de 16 dígitos. Como el método de cifrado es único para todo el servidor, se debe de ajustar todos los dispositivos que están conectados al mismo. En siguiente ejemplo, cambiamos la clave de cifrado a jk49UU23qw23rY5C

Fig.15 Cambio de clave para usuarios de Smart Assistant

Nota: Este cambio se afectará a todas las aplicaciones Smart Assistant asociadas al servidor, no es posible cambiarlo individualmente para cada usuario. Port Knocking

SmartAssistant está apto para trabajar con Port-Knocking. A partir de la versión 2.4 de Elastix, esta funcionalidad ya viene instalada por defecto.

Page 11: Smart assistant manual de administrador sss

Para versiones anteriores a Elastix 2.4, es posible instalar l servicio de Port-Knocking (knockd) siguiendo el procedimiento del manual “Seguridad en servidores CentOS con Elastix”. Un detalle de la instalación puede ser revisado en el Anexo A. El siguiente archivo muestra un ejemplo de la configuración disponible /opt/smartassistant/knockd_sample.conf

Fig.16 Archivo de configuración de Port Knocking

En este ejemplo estamos habilitando la apertura del puerto 54321, una vez que el usuario golpee en orden la secuencia de puertos 30000 – 30500 – 31000 (sequence = 30000, 30500, 31000), también le estamos dando la orden que cierre el puerto después de 10 minutos (600 segundos). cmd_timeout = 600 La apertura del puerto se realiza exclusivamente para la IP que golpea, no se realiza para todas las IPs. La configuración de Port-Knocking en la aplicación se realiza de la siguiente manera: 1. Habilitar el cuadro de selección “Port Knocking”. 2. Colocar los tres puertos a golpear. El orden es tomado desde la izquierda hacia

la derecha.

Fig.17 Habilitación de Port Knocking

Page 12: Smart assistant manual de administrador sss

Fail2Ban

Podemos encontrar un ejemplo de configuración para fail2ban, en el directorio /opt/smartassistant/

§ Ejemplo de configuración: fail2ban_filter_smartAssistant.conf § Ejemplo de Jail: fail2ban_jail.sample

Soporte / Consultas Para soporte o consultas adicionales, puedes escribirnos a:  

   [email protected]

@_SmartAssistant

Page 13: Smart assistant manual de administrador sss

Anexo A Port-knocking o Golpeo de Puertos: “Llamar antes de entrar” Instalación y configuración Tomado de: Seguridad en Servidores CentOS con Elastix ® + Buenas Prácticas V. 0.8.6 Autor: Rodrigo Martín Disponible en: http://www.elastix.org/index.php/es/informacion-del-producto/manuales-libros.html Instalación

Descargamos el paquete RPM (para plataformas de 32 bits):

# wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/knock-0.5-1.el5.rf.i386.rpm

Instalamos el paquete

# rpm -i knock-0.5-1.el5.rf.i386.rpm

Identificamos el archivo “/etc/knockd.conf”, borramos su contenido y agregamos las siguientes líneas para cerrar/abrir el puerto ssh y https quedando de la siguiente manera: [options] logfile = /var/log/knockd.log [openSSH] sequence = 7000,8000,9000 seq_timeout = 5 tcpflags = syn command = iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT [closeSSH] sequence = 9000,8000,7000 seq_timeout = 5 tcpflags = syn command = iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT [openHttps] sequence = 7001,8001,9001 seq_timeout = 5 tcpflags = syn

Page 14: Smart assistant manual de administrador sss

command = iptables -I INPUT -s %IP% -p TCP --dport 443 -j ACCEPT [closeHtttps] sequence = 9001,8001,7001 seq_timeout = 5 tcpflags = syn command = iptables -D INPUT -s %IP% -p TCP --dport 443 -j ACCEPT Ahora ingresamos a /etc/rc.d/init.d y creamos el archivo “knock” y en el mismo copiamos las siguientes líneas para manejar el demonio como un servicio. #!/bin/bash # # chkconfig: 345 92 08 # description: Demonio de Knockd # http://www.zeroflux.org/projects/knock # process name: knockd # # # Author: Rodrigo Martin # # Source function library. . /etc/init.d/functions # Check that the config file exists #[ -f /etc/knockd.conf] || exit 0 KNOCKD="/usr/sbin/knockd -d" RETVAL=0 getpid() { pid=` ps -eo pid,comm | grep knockd | awk '{ print $1 }'` #echo $pid } start() { echo -n $"Starting knockd: " getpid if [ -z "$pid" ]; then $KNOCKD start > /dev/null RETVAL=$? fi if [ $RETVAL -eq 0 ]; then touch /var/lock/subsys/knockd echo_success else echo_failure fi echo return $RETVAL } stop() { echo -n $"Stopping knockd: " getpid RETVAL=$?

Page 15: Smart assistant manual de administrador sss

if [ -n "$pid" ]; then #$KNOCKD stop > /dev/null sleep 1 getpid if [ "$pid" ]; then kill "$pid" rm -f /var/lock/subsys/knockd echo_success else echo_failure fi else echo_failure fi echo return $RETVAL } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) getpid if [ -n "$pid" ]; then echo "knockd (pid $pid) is running..." #$KNOCKD status else RETVAL=1 echo "knockd is stopped" fi ;; restart) stop sleep 2 start ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 ;; esac exit $RETVAL Damos permiso de ejecución al mismo: # chmod 755 /etc/rc.d/init.d/knock Establecemos que se cargue siempre cuando inicie nuestro servidor # chkconfig knock on Iniciamos el servicio

Page 16: Smart assistant manual de administrador sss

# service knock start Para probar el port-knocking debemos tener cerrados los puertos involucrados por defecto desde Iptables. Desde Linux en un equipo remoto hacemos el “golpeo de puertos” para abrir por ejemplo el puerto https de la siguiente manera: # telnet ip.del.server.elastix 7001 ; telnet ip.del.server.elastix 8001 ; telnet ip.del.server.elastix 9001 Luego presionamos Ctrl+C 4 veces y nuestro servidor abrirá el puerto indicado para nuestra ip; podemos cerrarlo ingresando la otra combinación. Si necesitamos “golpear” desde Windows podemos llevarlo a cabo con la aplicación “knock-win32-port” (para 32 bits).