viernes, 27 de diciembre de 2013

Elastix

Como parte fundamental de toda buena empresa, es importante administrar las redes de datos y voz; Por ello como otra solución a la parte compleja del Asterisk, decidí instalar un servicio de Elastix, ya que está basado en Asterisk con una plataforma Centos, pero tiene una parte gráfica que nos permite realizar toda la manipulación de este vía Web.

Elastix viene en formato ISO, es decir, solo hay que descomprimir la imagen e instalarla en el ordenador que deseemos utilizar para este servicio.

1. Descargamos la ISO desde su pagina principal. http://www.elastix.org/index.php/es/descargas.html

2. La descomprimimos en donde queramos, ya sea un CD por que no es pesado o en un pendrive (USB)

3. La Instalación es muy sencilla solo se siguen los pasos del asistente, leyendo detalladamente lo que vamos a realizar y esperamos la instalación.

4. Ahora desde un equipo remoto que este en la red en la que se encuentra en servidor Elastix, vamos a abrir un navegador y escribimos la dirección IP del servidor Elastix.

La IP en el momento de la instalación nos da la opción de que si en enrutamiento se hará por DHCP o será Estático; en mi caso lo configura estático lo cual es lo más recomendable, si lo hacen por DHCP cuando el equipo inicie tandrán que ver la IP con IFCONFIG.

Ahora dentro del navegador cliente digite la IP, salio un mensaje de que el sitio parecia no ser seguro, pero como es nuestra maquina sabemos que si lo es por ello vamos a realizar la navegación de todas formas y cuando sigamos en la navegación nos sale este cuadro, el cual nos pide el usuario y la contraseña la cual le dimos al momento de la instalación.



Acá ingresa a la parte gráfica del Elastix y podemos ver una gran cantidad de parámetros los cuales nos van ayudar a ver el estado del servidor. (Para cambiar el idioma de la interfaz nos ubicamos en Sistem > Prefence y allí podemos cambiar el idioma, pero no todo cambia)


Configuración básica de una extensión

Nos ubicamos en la pestaña PBX y donde muestra el cuadro desplegable podemos escoger el tipo de extensión que queremos  configurar (SIP, IAX2, etc.) y luego damos click en Submit



En la siguientes imágenes se mostraran unos parámetros, solo vamos a configurar los básicos, como lo son:
User Extension => Es el número de la extensión
Display Name => Es el nombre que aparecerá en cada llamada
Secret => Es la clave con la cual se identifica el usuario en el softphone (Opcional)


Para cada extensión hay que crear un usuario, así que no ubicamos en Sistema > Usuarios y damos click en Crear usuarios nuevo.


Al momento de crear el usuario hay varios campos obligatorios, los llenamos y damos click en guardar , estos campos obligatorios son:
Login => Es el nombre del usuarios con el cual vamos a ingresar en la plataforma (Futuras funciones)
Contraseña (Confirmación) => Es la contraseña del Login
Grupo => Este campo define al usuario como administrador, Operador o Extensión, lo cual limita ciertas funciones dentro de la interfaz Web.
Extension => Es el número de la extensión que le vamos a dar al usuario (la anterior creada)

Los otros parámetros se explican más adelante.


Este es un cuadro en el cual se muestra las funciones que son otorgadas a cada tipo de usuarios (Grupo)


Cuando el usuarios este creado nos dirigimos a PBX  y allí nos muestra este cuadro al cual le damos click para aplicar la configuración suministrada.


Confirmación de extensiones.

Descargamos el softphone que más nos guste, para mi será este, si lo llegan a escoger se harán los siguientes pasos.

1. De primera parte el sistema nos da la opción de añadir un usuario, si vamos a añadir otro usuario solo será dar click derecho sobre el nombre del usuario (en mi caso donde dice admin)


2. Si queremos editar el usuario lo seleccionamos y damos click en Edit, si queremos crear uno nuevo damos click en New.


3. Rellenamos los espacios que son necesarios:
Account name => Nombre del la ubicación del usuario o como lo queremos identificar
Caller ID => Nombre de que aparecerá en la pantalla cuando el usuario haga las llamas
Extesion => Número de extensión del usuario
ID => Número de extensión (este con tiene la información del usuario)
Ahora habilitamos la opción que sea necesaria, arriba si estamos dentro de la empresa, dentro del rango local y abajo si estamos fuera de la red local (esto será con la IP publica o la IP privaba si tenemos una VPN que conecta a la empresa). Luego damos click en OK.


4. Esperamos que este cargue y nos aparecerá el nombre de la cuenta y veremos que dice Colgado (se refiere a que estamos enlazados con el servidor).


Creación del domino y cuentas de correo.

Este dominio es esencial para poder administrar la parte donde interceptan las llamadas, donde se envían las notificaciones de mensajes de voz, etc.

Para ello vamos a Email > Domains y damos click en Crear dominio. (Pueden haber varios dominios)


Allí escribimos en el nombre de nuestro domino, en mi caso será gcentral.com y luego damos click en Guardar.


Ahora nos ubicamos en Email > Accounts (Cuentas), seleccionamos el dominio y damos click en Crear una nueva cuenta.



Allí podemos crear la cuenta en el sistema, rellenamos los campos y damos click en guardar:
Dirección de correo => Escribimos la denominación del usuario (el dominio ya está)
Cuota => Es el espacio que se le otorga al usuario en el correo
Contraseña (Confirmación) => Contraseña del correo



Podemos ver como quedo el usuario registrado y podemos ver como está el espacio del correo y que se puede modificar y restablecer.



En la parte izquierda se ve este menú, en el cual damos click en Usuarios, para configurar los componentes.


Ahora si escribimos los parámetros del Webmail, como se ven en la imagen y damos click en Aplicar cambios:
Nombre Webmail => Denominación del usuario en el correo
Dominio Webmail => El domino al cual va pertenecer el correo 
Contraseña Webmail => Contraseña del correo


Ya que está todo listo podemos revisar que el correo este funcionando, para ello nos ubicamos en Email > Webmail, allí nos mostrará un cuadro le login, escribimos el correo y su respectiva contraseña para ingresar al correo.


La interfaz del correo es muy similar a la de Hotmail, Gmail, como cualquier correo establecido.


Configurar Buzón de voz

Siguiendo el ejemplo anterior vamos a salir del usuario admin e ingresamos a stiven



Ahora nos ubicamos en PBX > Voicemail y seleccionamos el usuario y escribimos:
Email => Correo electronico del usuario en el dominio
Contraseña (confirmación) => Contraseña del correo
Habilitamos las opciones que queramos realizar desde la estación al momento de revisar los correos de voz


Ahora en la parte de la extensión del usuario vamos a editar los campos:
Ring Time => Es el tiempo que toma para que la llamada se vaya al buzón
Voice password => Es la clave que digitaremos en el softphone o teléfono para ingresar al buzón. estos tiene que ser números por obvias razones
Email address , Pager Email address => Acá va la dirección de correo en la cual se guardaran los mensajes y se notificaran sobre ellos.
Habilitamos las opciones las cuales queremos realizar desde el buzón de voz.


Hacesmo click en Submit para guardar los cambios y damos click en Apply Configuration Changes Here para aplicar los cambio realizados.


Configuración de IVR personalizado

Primero vamos a crear la extensión del IVR  y su usuario respectivo (explicado anteriormente).


Como yo hablo castellano (Español), puedo realizar un cambio en el lenguaje de los mensajes que vienen por defecto en el sistema realizando los siguientes comandos.

1. Nos ubicamos en el directorio de los ficheros de audio
2. Cambiamos el nombre del directorio que guarda los ficheros de audio por defecto para guardar como reserva
3. Cambiamos el nombre del directorio que contiene los ficheros de audio en español por el nombre del directorio reconocido por defecto del sistema.
4. Reiniciamos el servicio de Asterisk



Ahora vamos a grabar un mensaje, ya sea de bienvenida o introducción, o lo que queramos. Nos ubicamos en Grabaciones del sistema.

                                                    

Desde esta interfaz tenemos 2 opciones:
1. Podemos grabar un mensaje desde nuestra propia extensión y este quedara en el sistema para ser utilizado
2. Podemos seleccionar un mensaje ya grabado de nuestro ordenador y este se alojará en el servidor luego y será utilizado después por el sistema

En este ejemplo vamos a grabar nuestro propio mensaje desde nuestro softphone, siguiendo los pasos que nos muestra el asistente, añadiendo el número de la extensión del IVR.


Ahora desde el softphone vamos a marcar *77 o mejor vamos a la fija con *99, para grabar y escuchar lo grabado.


Luego de grabar el mensaje vamos a darle un nombre al mensaje y damos click en guardar. Este mensaje será vera en la parte izquierda de la pantalla.















miércoles, 11 de diciembre de 2013

Proxy (Squid + Dansguardian) - Debian



Lo primero que debemos de hacer es actualizar los repositorios
#apt-get update

Luego configuramos las interfaces del servidor. La eth0 está conectada a Internet y la eth1 está conectada a la Red local.
# nano /etc/network/interfaces


Ahora vamos a descargar el Squid y una vez instalado verificamos que este funcionando. 
# apt-get install squid
# service squid status


Para la configuración del servidor proxy tenemos el fichero squid.conf, pero como este tiene tanta información y puede ser algo confuso cambiamos de nombre el fichero squid.conf por squid.conf.original y creamos uno nuevo.

#mv /etc/squid/squid.conf /etc/squid/squid.conf.original
#nano /etc/squid/squid.conf

El fichero creado debe quedar con una configuración básica como la que parece en las imágenes.
NOTA: OJO con el orden ya que es muy importante para su funcionamiento.
PDT: El servidor proxy puede ser transparente (no es necesario configurar cliente por cliente) colocando el comando http_port 3128 transparent


Ahora vamos a descargar el Dansguardian para filtrar la paquetería Web


Luego de instalar el dansguardian, vamos a editar su fichero de configuración: (es recomendable trabajar con un analizador/filtrador de virus como lo es el Clamav o editar en este fichero virusscan= on)
#nano /etc/dansguardia/dansguardian.conf

En la linea donde dice UNCONFIGURED la dejamos CONFIGURE o comentamos toda la linea con #. Esto se hace para que el servicio pueda arrancar.


En cada parámetro aparecen unas indicaciones para el funcionamiento del Dansguardian, estos se configuran según la necesidad.


Esta linea hay que des-comentarla para poder ver los registros que se transmiten al filtrar los ficheros, estos registros son configurables para mostrar la información de cada usuario al acceder al Internet


Como podemos ver en la siguiente imagen, tanto la aplicación de filtrado de paquetes como el proxy deben de ser especificados para que se realice un adecuado proceso.


Según mi necesidad al momento de sacar los registros


El Dansguardian viene con varios idiomas al momento de procesar y sacar informes de lo ejecutado


En está imagen podemos ver una variedad de directorios y ficheros los cuales son específicos para un buen filtrado en la Web


Archivos de filtros en /etc/dansguardian/list

bannedphraselist
contiene una lista de frases prohibidas. Las frases deben estar entre <>. Por defecto incluye una lista ejemplo en inglés. Las frases pueden contener espacios. Se puede también utilizar combinaciones de frases, que si se encuentran en una página, serán bloqueadas.

bannedmimetypelist
contiene una lista de tipos MIME prohibidos. Si una URL devuelve un tipo MIME incluido en la lista, quedará bloqueada. Por defecto se incluyen algunos ejemplos de tipos MIME que serán bloqueados.

bannedextensionlist
contiene una lista de extensiones de archivos no permitidas. Si una URL termina con alguna extensión contenida en esta lista, será bloqueada. Por defecto se incluye un archivo ejemplo que muestra como denegar extensiones.

bannedregexpurllist
contiene una lista de expresiones regulares3 que si se cumplen sobre la URL ésta será bloqueada.

bannedsitelist
contiene una lista de sitios prohibidos. Si se indica un nombre de dominio todo él será bloqueado. Si se quiere sólo bloquear partes de un sitio hay que utilizar el archivo bannedurllist. También se pueden bloquear los sitios indicados exeptuando los dados en el archivo exceptionsitelist. Existe la posibilidad de descargarse listas negras tanto de sitios como de URLs y situarlas en los archivos correspondientes. Están disponibles enhttp://dansguardian.org/?page=extras.

bannedurllist
permite bloquear partes específicas de un sitio web. bannedsitelist bloquea todo el sitio web y ésta sólo bloquea una parte.

banneduserlist
lista de los nombres de usuario que estarán bloqueados.

En mi caso voy a utilizar el Dansguardian, me dirijo al fichero bannedsitelist y a lo ultimo del fichero coloco las paginas a denegar. (No es necesario colocar http:// ni www.)
facebook.com
twitter.com
hotmail.com

Ahora hay que crear las políticas de manejo de paquetes con el IPTABLES, para que la paquetería vaya de un puerto al otro y logre realizarse el filtrado.
Este es un script de manipulación de prueba y ensayo


Estos son los comandos que no se logran ver bien. Los 2 primeros son los paquetes de Internet redireccionados al servidor proxy y el ultimo es del servidor proxy al dansguardian

iptables -t nat -A PREROUTING -i eth1 -s 192.168.2.0/24 -d 0.0.0.0/0.0.0.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -i eth1 -s 192.168.2.0/24 -d 0.0.0.0/0.0.0.0 -p tcp --dport 433 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3128 -j REDIRECT --to-port 8080

###############################################################################
Otra forma de filtrar las paginas Web es por medio del Squid, en la 4 linea podemos ver como se especifica la ruta de un fichero en el control de acceso (acl pag_prohibidas url_regex "/etc/squid/denegadas"), en este fichero van a estar las paginas y las palabras claves las cuales se van a denegar gracias a la ultima linea que dice http_access deny pag_prohibidas.

NOTA: Estos se debe hacer con el debido enrutamiento con IPTABLES



En la siguiente imagen se muestra un ejemplo:

 ################################################################################

Por ultimo vamos a reiniciar los servicios
Servidor Proxy  >>  #service squid restart / reload
Servidor dansguardian  >>  #service dansguardian restart / reload

Ahora solo será colocar un cliente en la misma red que el servidor proxy y en el navegar configurar el proxy, ingresamos las paginas de facebook, twitter y hotmail; Y podremos ver como el dansguardian filtra las paginas
Ej. facebook


En el servidor podemos ver los LOGs.
tail -l 20 /var/log/squid/access.log   >> Squid
tail -l 20 /var/log/squid/store.log  >>  Squid
tail -l 20 /var/log/dansguardian/access.log  >> Dansguardian

La siguiente imagen pertenece al Dansguardian y podemos ver que el host 192.168.2.10 intento ingresar a las 3 paginas bloqueadas y el servidor 192.168.1.2 con ayuda del Dansguardian los bloqueo.