Manual Instalacion Asterisk - Centos 6

download Manual Instalacion Asterisk - Centos 6

of 13

Transcript of Manual Instalacion Asterisk - Centos 6

TemucoInformtica

Taller de Sistemas Operativos I

Manual de Instalacin Asterisk en Centos 6

Nombre Alumno (s): Juan Negrier Pablo Wenger Nombre Profesor: Roy Alvear Fecha: 29 de Noviembre de 2011

Introduccin

Con este manual se pretende lograr la instalacin y utilizacin satisfactoria de un servidor VoIP a nivel empresarial, mediante Asterisk en Centos 6, adems de conocer las teorias del funcionamiento de la tecnologa VoIP y se proveern ciertas pautas para proteger el servidor de forma bsica mediante Iptables. El creador de Asterisk es Mark Spencer, fundador de Digium quien es el principal desarrollador de las actuales versiones. Pero como se trata de software libre, tiene miles de programadores y contribuyentes alrededor del mundo, es por este motivo que Asterisk es considerado la Navaja Suiza de los sistemas VoIP, ya su gran comunidad de usuarios mantienen este software siempre al da, y con una versatilidad que la mayora de las soluciones comerciales no poseen, si a eso le sumamos un entorno de trabajo como Centos, nos encontraremos ante un sistema completamente estable, estable y seguro.

Justificacin de servicio

Asterisk es un programa de software libre con licencia GNU GPL, que permite funcionalidades de centrales telefnicas conocidas como PBX adems del ya mencionado servicio VoIP. Recomendamos la utilizacin de Asterisk ya que es de fcil uso, es bien soportado mediante servidores de Centos 6. Adems reconoce muchos protocolos VoIP como lo son SIP, H.323, IAX y MGCP. Tambin cabe mencionar que Asterisk est siendo utilizado para entornos corporativos, de bajo costo y un ambiente seguro en el cual trabajar, la cual se puede configurar y ensearemos ms adelante. No menor es mencionar que el programa es soportado para varios Sistemas Operativos, como por ejemplo, BSD, Mac OS X, Solaris, y Microsoft Windows aunque destacando que la plataforma nativa (GNU/Linux) es la que mejor soporta Asterisk de todas las mencionadas anteriormente

Teora de funcionamiento del servicio

VoIP viene de las palabras en ingls Voice Over Internet Protocol. Como dice el trmino, VoIP intenta permitir que la voz viaje en paquetes IP y obviamente a travs de Internet. La telefona IP conjuga dos mundos histricamente separados: la transmisin de voz y la de datos. Se trata de transportar la voz previamente convertida a datos, entre dos puntos distantes. Esto posibilitara utilizar las redes de datos para efectuar las llamadas telefnicas, y por ende desarrollar una nica red convergente que se encargue de cursar todo tipo de comunicacin, ya sea voz, datos, video o cualquier tipo de informacin. La VoIP por lo tanto, no es en s mismo un servicio sino una tecnologa que permite encapsular la voz en paquetes para poder ser transportados sobre redes de datos sin necesidad de disponer de los circuitos conmutados convencionales conocida como la PSTN, que son redes desarrolladas a lo largo de los aos para transmitir las seales vocales. La PSTN se basaba en el concepto de conmutacin de circuitos, es decir, la realizacin de una comunicacin requera el establecimiento de un circuito fsico durante el tiempo que dura sta, lo que significa que los recursos que intervienen en la realizacin de una llamada no pueden ser utilizados en otra hasta que la primera no finalice, incluso durante los silencios que se suceden dentro de una conversacin tpica. En cambio, la telefona IP no utiliza circuitos fsicos para la conversacin, sino que enva mltiples conversaciones a travs del mismo canal (circuito virtual) codificadas en paquetes y en flujos independientes. Cuando se produce un silencio en una conversacin, los paquetes de datos de otras conversaciones pueden ser transmitidos por la red, lo que implica un uso ms eficiente de la misma. Segn esto son evidentes las ventajas que proporciona las redes VoIP, ya que con la misma infraestructura podran prestar ms servicios y adems la calidad de servicio y la velocidad seran mayores; pero por otro lado tambin existe la gran desventaja de la seguridad, ya que no es posible determinar la duracin del paquete dentro de la red hasta que este llegue a su destino y adems existe la posibilidad de prdida de paquetes, ya que el protocolo IP no cuenta con esta herramienta.

Arquitectura de un Servidor VoIP:

Instalacin del servidor

Debido a que un servidor Voip con Asterisk es un PBX (Central Telefnica Privada), y como tal, representa un servicio primario para cualquier tipo de organizacin, se recomienda realizar una instalacin mnima de Centos para de ese modo ahorrar recursos y no desperdiciarlos en una interface grfica, sin embargo, tambin es posible realizar el proceso de instalacin y configuracin del servidor con una GUI, pero se recomienda la desinstalacin de esta una vez terminado el proceso. Adems se debe considerar la incorporacin de hardware que permita ampliar la funcionalidad del servidor en una organizacin, el software que permite esto y que debe ser instalado aparte, y antes que Asterisk se llama DAHDI.

Instalacin del servicio

Instalamos el programa wget:yum install wget

Bajamos el fuente de Asterisk:wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.7.1.tar.gz

Lo descomprimimos:tar -xvzf asterisk-1.8*

Instalamos el software necesario para su compilacin y configuracin:yum install kernel-devel gcc make gcc-c++ libxml2-devel perl ncurses-devel

Entramos en el directorio del cdigo fuente de Asterisk:cd asterisk-*

Limpiamos el cdigo fuente y lo configuramos la generacin de Asterisk:make clean ./configure

Construimos el programa (Si retorna un error de ausencia de sources del Kernel, actualice el sistema y reinicie):make menuselect make make install

Generamos archivos de configuracin de ejemplo, estos estn en /etc/asterisk/ :make samples make config

Hacemos que se ejecute al iniciar el servidor:chkconfig asterisk on

Probamos Asterisk:asterisk -vvvvc

Para detenerlo ingresamos el siguiente comando:core stop now

Iniciamos Asterisk como servicio:/etc/init.d/asterisk start Nota: Existe una instalacin alternativa basada en repositorios, no obstante, no se encuentra actualmente disponible para Centos 6, solo est disponible para Centos 5. Para ms informacin respecto a esto, revisar el siguiente enlace:

https://wiki.asterisk.org/wiki/display/AST/Asterisk+Packages#AsteriskPackagesYUM%28CentOS%2FRedHat%29 FreePBX: Es una Interface Grfica Web que permite configurar de manera fcil y sencilla un servidor VoIP basado en Asterisk, si necesita informacin sobre su instalacin, le recomendamos visitar el siguiente enlace: http://www.freepbx.org/support/documentation/installation Para una configuracin manual de Asterisk, modificando directamente los archivos de configuracin le recomendamos el siguiente enlace: https://wiki.asterisk.org/wiki/display/AST/Getting+Started

Directivas de seguridad y de cortafuegos asociada

Iptables debe estar en modo Permisivo, bajo ningn punto de vista es recomendable su desactivacin.

Filtrar trfico de paquetes basndonos en su origen Bloquear el trfico proveniente de redes que no son confiables puede parecer sencillo, pero an existe la posibilidad de que el atacante encubra su ataque al cambiar la direccin IP de origen del paquete por una IP vlida de alguien ms (Spoofing) o alguna de las direcciones IP de propsito especial. A continuacin se listan algunas redes comnmente empleadas para este propsito y que deben filtrarse exhaustivamente. Nuestra propia IP: Es ilgico ver paquetes provenientes del exterior que contengan nuestra misma direccin IP como direccin de origen. Generalmente este es un intento de ataque haciendo uso de nuestra propia direccin de red y por lo tanto se debe bloquear el ingreso desde maquinas que quieran usurpar nuestra IP. Direcciones privadas de las clases A, B y C - Estas direcciones son reservadas para uso en LAN's privadas y no deben publicarse en Internet, por lo tanto cualquier paquete proveniente de Internet con una direccin de cualquiera de estos rangos es sospechoso. o Rango 10.0.0.0 - 10.255.255.255 o Rango 172.16.0.0 - 172.31.255.255 o Rango 192.168.0.0 - 192.168.255.255 Direcciones clase D (Multicast) - Las direcciones de la clase D se emplean como direcciones de destino para quienes deseen participar o suscribirse a una emisin de flujos de medios en multidifusin o (Multicast), tal como una videoconferencia. El rango que abarca la clase D es el que va de la 224.0.0.0 a la 239.255.255.255 y nuestra mquina nunca debera recibir paquetes cuyo origen diga ser una de estas direcciones. Direcciones clase E (Experimentales) - Probablemente nunca veremos anunciarse a una red de este rango en nuestro entorno, ya que su uso es reservado de forma exclusiva a agencias de investigacin y defensa asociadas a la milicia, mas es conveniente tomar nuestras reservas y filtrar trfico proveniente de estas direcciones que van de la 240.0.0.0 a la 247.255.255.255. Direccin de Loopback - Los sistemas tipo Unix/Linux desempean procesos internos que requieren del uso de conexiones TCP/IP. Son flujos dirigidos hacia sockets internos del host. Para evitar que esos flujos salgan del sistema se cuenta con la interfaz de Loopback o de bucle interno. Esta hace las veces de una interfaz real, adems de evitar trfico sensible hacia la red y generar trfico intil. El rango destinado a las interfaces virtuales de Loopback es el 127.0.0.0 - 127.255.255.255, sin embargo la direccin IP estandarizada es la 127.0.0.1 asociada al dominio "localhost". Un paquete proveniente del exterior cuya direccin IP caiga en el rango de las interfaces de Loopback, es a todas luces un intento de intrusin que debe ser anulado. Direcciones de difusin (broadcast) - Direcciones especiales como la 0.0.0.0 son direcciones que tambin deben considerarse.

Redes vecinas molestas - La Internet es una red de redes que agrupa a usuarios de mltiples tipos e intenciones. A parte de las redes que mencionamos en la seccin anterior, existirn redes vecinas desde las que recibiremos ataques, la poltica estandarizada en este tipo de casos es agregar todo el bloque de direcciones de la red en cuestin a la lista de redes no confiables y bloquear sus paquetes mientras sigan representando una amenaza.

Reglas bsicas de iptables para VoIPLas siguientes reglas son para VoIP, en especial nos enfocamos a algunos de los protocolos que usa para Asterisk:/* SIP / UDP puerto 5060 */ iptables I INPUT 1 -p udp -m udp --dport 5060 -j ACCEPT /* IAX2-protocolo IAX */ iptables I INPUT 2 -p udp -m udp --dport 4569 -j ACCEPT /* IAX */ iptables I INPUT 3 -p udp -m udp --dport 5036 -j ACCEPT /* RTP */ iptables I INPUT 4 -p udp -m udp --dport 10000:20000 -j ACCEPT /*DUNDi */ iptables I INPUT 5 -p udp -m udp --dport 4520 -j ACCEPT

Script con las reglas bsicas de iptables para VoIP Para generar este script con iptables, se deben seguir los siguientes pasos: 1) Se crea un archivo de texto en este caso le llamaremos "reglasfirewall" con un editor de texto plano cualquiera.#!/bin/bash iptables I INPUT 1 -p udp -m udp --dport 5060 -j ACCEPT iptables I INPUT 2 -p udp -m udp --dport 4569 -j ACCEPT iptables I INPUT 3 -p udp -m udp --dport 5036 -j ACCEPT iptables I INPUT 4 -p udp -m udp --dport 10000:20000 -j ACCEPT iptables I INPUT 5 -p udp -m udp --dport 4520 -j ACCEPT

2) Se le da permiso de ejecucin con el comando chmod. 3) Se coloca en el directorio /etc/init.d/reglasfirewall 4) Se hace una liga suave en el directorio /etc/rc"x".d, "x" se sustituye por el runlevel en el cual queremos que se ejecute nuestro script.

chmod 755 reglasfirewall

ln -s /etc/init.d/reglasfirewall S99z Nota: En ocasiones el orden de ejecucin es importante para iniciar o matar ciertos procesos as que se recomienda que si no se sabe bien este orden ponga su script para ser ejecutado hasta el final, esto se logra con el nombre de la liga. Se utiliza el prefijo "S" para indicar que es un proceso que se va iniciar y "K" para un proceso que se va matar, despus de este prefijo un nmero que generalmente indica el orden de ejecucin por eso es que a la liga que hace referencia al script se nombro como S99z para garantizar que sea el ltimo en ejecutarse y no afectar a los dems procesos.

Para ms detalles sobre la seguridad el servidor se recomiendan las siguientes paginas: http://www.voip-info.org/wiki/view/Asterisk+firewall+rules http://www.voip.unam.mx/mediawiki/index.php/FIREWALL_Configuraci%C3%B3n_b%C 3%A1sica_de_iptables_para_VoIP

Epilogo

Una vez terminada la instalacin y siguiendo todas las indicaciones correctamente, tenemos un servidor VoIP funcionando satisfactoriamente, el cual una vez agregando los datos requeridos, se podr conectar y comunicar simultneamente entre computadores. Una vez teniendo todo listo, dependiendo cuales son las necesidades de la empresa (usuario), se puede implementar configuraciones de DNS mediante BIND, o agregar soporte de videoconferencias y telfonos ip fsicos utilizando DAHDI, entre otras, adems de poder ser utilizado para conferencias privadas dentro de una empresa, o prestar servicios a empresas o usuarios externos. El servidor de VoIP tiene un sinfn, de usos que se le puede dar, dependiendo de la finalidad o necesidad de la empresa (usuario), como se explic en los ejemplos anteriores, agregando varias funcionalidades adicionales o simplificando el uso principal, por lo cual se concluye que es un servicio muy til el cual se puede modificar a lo que se necesite como producto final.