implementacion informe
Transcripción
implementacion informe
Informe Implementación Proyecto de Tı́tulo Tareas a Realizar Esteban De La Fuente y Eduardo Dı́az 2 nov 2009 Índice general 1. Introducción 3 2. Objetivos 2.1. Objetivos generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Objetivos especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 3. Solución 5 4. Software a utilizar 4.1. Debian GNU/Linux 4.2. IPTables . . . . . . 4.3. OpenVPN . . . . . 4.4. Squid . . . . . . . . 4.5. Asterisk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Etapas de implementación 5.1. Estudios protocolos y software . . . . 5.2. Reunión implementación . . . . . . . 5.3. Firewall Fundo . . . . . . . . . . . . 5.3.1. Instalación Sistema Operativo 5.3.2. Configuración IPTables . . . . 5.3.3. Configuración Squid . . . . . 5.3.4. Instalación y Pruebas . . . . . 5.4. VPN Fundo . . . . . . . . . . . . . . 5.4.1. Instalación OpenVPN . . . . 5.4.2. Configuración tele trabajo . . 5.4.3. Instalación y pruebas . . . . . 5.5. Central telefónica Fundo . . . . . . . 5.5.1. Instalación Sistema Operativo 5.5.2. Instalación Asterisk . . . . . . 5.5.3. Habilitación cuentas . . . . . 5.5.4. Estadı́sticas de llamadas . . . 5.5.5. Acceso a la PSTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 8 8 8 . . . . . . . . . . . . . . . . . 9 9 9 9 9 10 10 10 10 10 11 11 11 11 11 11 12 12 ÍNDICE GENERAL 5.5.6. Instalación y Pruebas . . . . . 5.6. Firewall Melipilla . . . . . . . . . . . 5.6.1. Instalación Sistema Operativo 5.6.2. Configuración IPTables . . . . 5.6.3. Configuración Squid . . . . . 5.6.4. Instalación y Pruebas . . . . . 5.6.5. Capacitación SysAdmin . . . 5.7. VPN Melipilla . . . . . . . . . . . . . 5.7.1. Instalación OpenVPN . . . . 5.7.2. Configuración tele trabajo . . 5.7.3. Instalación y pruebas . . . . . 5.8. Central telefónica Melipilla . . . . . . 5.8.1. Instalación Sistema Operativo 5.8.2. Instalación Asterisk . . . . . . 5.8.3. Habilitación cuentas . . . . . 5.8.4. Instalación y Pruebas . . . . . 5.9. VPN Sitio a Sitio . . . . . . . . . . . 5.9.1. Habilitación en OpenVPN . . 5.9.2. Instalación y Pruebas . . . . . 5.10. Trocal IAX . . . . . . . . . . . . . . 5.10.1. Configuración Troncal . . . . 5.10.2. Instalación y Pruebas . . . . . 5.11. Documentación . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 6. Factores crı́ticos de éxito 16 7. Anexos 7.1. WBS: lista de actividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2. Carta gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 17 17 Capı́tulo 1 Introducción Este informe que se presenta a continuación nos mostrará las etapas que deberán llevarse a cabo para la implementación del proyecto diseñado para la empresa Fundo Santa Rosa. Especı́ficamente se detallaran los pasos que se realizarán, identificando las actividades y tareas necesarias según sea necesario. De esta forma al final del informe se tendrá una herramienta con la cual nos podremos guiar para la implementación del proyecto de tı́tulo en la empresa. 3 Capı́tulo 2 Objetivos 2.1. Objetivos generales Generar un informe el cual identifique la etapa de implementación del Proyecto Sistema de Telefonı́a IP y Seguridad Perimetral. Realizar un listado con las actividades que se desprenden en la implementación del proyecto. Presentar el estado de implementación. 2.2. Objetivos especı́ficos Generar una carta gantt con las actividades y tareas que se obtuvieron del proyecto Detallar cada actividad listando las tareas que se ejecutaron en la implementación de esta Realizar la implementación de cada tarea en los tiempos determinados al inicio del proyecto. Al término de cada implementación realizar las respectivas pruebas de funcionamiento en el cliente. 4 Capı́tulo 3 Solución Estudiando la problemática detectada en la empresa se preparó una solución al problema. En este capı́tulo se muestra la topologı́a de la solución que cumple con los requerimientos del cliente. Para una visión completa de la solución del problema referirse al documento Solución Final (entregado en una etapa anterior). En la figura 3.1 se puede apreciar una visión global del diseño final a implementar, el cual incluye la solución al problema de telefonı́a, seguridad perimetral y conexión remota. 5 CAPÍTULO 3. SOLUCIÓN Figura 3.1: Modelo de red propuesto 6 Capı́tulo 4 Software a utilizar 4.1. Debian GNU/Linux Se utilizará el sistema operativo Debian GNU/Linux para la configuración de los equipos necesarios dentro del proyecto, tanto firewalls como centrales telefónicas. Este sistema soportará las demás aplicaciones que se utilizarán. El utilizar este tipo de software presenta una serie de ventajas, entre las cuales se pueden destacar: Rapidez del sistema. Licencia de software libre. Casi nula existencia de virus. 4.2. IPTables IPTables es parte de un software llamado NetFilter disponible en el núcleo de las distribuciones GNU/Linux. Corresponde a una herramienta, principalmente de capa 3 en el modelo OSI de redes, que permitirá generar diversar reglas de seguridad y usos de la red. Entre estas se encuentran: Enmascaramiento de IPs privada con la IP pública para la utilización de NAT. Bloqueo de puertos e IP desde y hacia Internet. Redireccionamiento de solicitudes web al proxy Squid. Con esto se permitirá que el administrador de la red pueda definir nuevas polı́ticas de una manera sencilla y efectiva comparado con lo que se podrı́a lograr con un equipo SOHO1 1 SOHO: Small Office Home Office, equipos de menor rendimiento y capacidades de configuración. 7 CAPÍTULO 4. SOFTWARE A UTILIZAR 4.3. 8 OpenVPN Se ha elegido utilizar OpenVPN por su simpleza, tanto en su configuración y administración. Además será sencillo para el administrador de red poder expandir el sistema, creando nuevos usuarios que requieran conectarse. Un punto a favor es que permite transportar protocolos como IPX, el cual es utilizado por otra aplicación dentro de la empresa. Si bien el uso de IPX en la VPN no es parte de los requerimientos entregados por el cliente, es un tema que se podrı́a implementar en el futuro. 4.4. Squid Se utilizará Squid que corresponde a un proxy2 para realizar el filtrado de contenido, este tiene diferentes caracterı́sticas, las cuales se pueden resumir en dos grupos: Caché para sitios web: mediante esta opción cuando un usuario solicita un sitio, si existe almacenado en el servidor proxy se obtiene desde ahı́, sino se busca en Internet. Ayuda a optimizar el uso de la conexión hacia Internet. Filtro de contenidos: permite o deniega contenido web a los usuarios de la red. Además permitirá llevar un registro de los sitios web visitados por los usuarios. 4.5. Asterisk Se ha definido la utilización de la central telefónica IP Asterisk, dentro de sus principales ventajas están: Control eficiente de las cuentas de telefonı́a. Comunicación desde cualquier lugar con una única cuenta de telefonı́a. Utiliza insfraestructura de red por lo cual no es necesario recablear. Escalable, ya que permite un gran crecimiento. Interconexión entre centrales telefónicas. 2 Usuarios podrán acceder a Internet a través de este equipo Capı́tulo 5 Etapas de implementación 5.1. Estudios protocolos y software Es necesario realizar un estudio de los protocolos que se utilizarán, el software y el diseño, de tal forma de estar preparados para realizar una instalación y configuración rápida. Durante esta etapa se hará un estudio teórico. 5.2. Reunión implementación Durante esta reunión se definiran aspectos que tienen relación con los objetivos y necesidades que se buscan cumplir. Por ejemplo se han de indicar el tipo de sitios webs que serán restringidos, la cantidad de anexos que deberán ser habilitados o el tipo de tráfico que se deberá permitir hacia Internet. Aspectos relacionados directamente con el uso que se le dará a los sistemas instalados. 5.3. 5.3.1. Firewall Fundo Instalación Sistema Operativo Se debe realizar la instalación del sistema operativo Debian GNU/Linux. Ya que el uso será para un ambiente servidor se utilizará una instalación por red, de esta forma se instalarán solo los paquetes básicos del sistema. Cualquier otro software será instalado cuando sea necesario. Los pasos, básicos, para realizar la instalación son: Configuración tarjeta de red. Particionamiento disco duro (se separará en /, /var y /tmp). Selección de paquetes a instalar. Configuración de usuarios y contraseñas. 9 CAPÍTULO 5. ETAPAS DE IMPLEMENTACIÓN 5.3.2. 10 Configuración IPTables Según los requerimientos entregados por el cliente y polı́ticas definidas con el cliente, ver sección 5.2, se deberán realizar las siguientes tareas mediante IPTables: Enmascaramiento de la LAN y DMZ para utilizar NAT. Restriccion del acceso a puertos no conocidos desde la red local. Bloquear el acceso a puertos desde Internet. Bloqueo en capa 3 del acceso de usuarios a Internet. Redirección de solicitudes web al servidor proxy. 5.3.3. Configuración Squid Squid será utilizado por petición del cliente para funcionar como un filtro de contenidos de la red. Para tal objetivo se crearan tres ACL1 , estas permitiran manejar las siguientes opciones: Usuarios VIP: usuarios que no deben ser bloqueados. Sitios aceptados: webs que no deben ser bloqueadas. Sitios bloqueados: sitios web prohibidos. Además se deberá contar con alguna forma de supervisar el acceso web, para esto se utilizarán los logs que genera Squid. Se desarrollará un script que permita de una forma simple acceder a los contenidos visitados por los usuarios. 5.3.4. Instalación y Pruebas Durante esta etapa se instalará fı́sicamente el equipo en las dependencias de la empresa y se realizarán las mismas pruebas hechas para el documento Casos de Prueba (entregado anteriormente) pero esta vez en un ambiente real (no de laboratorio). 5.4. 5.4.1. VPN Fundo Instalación OpenVPN Se deberá realizar la instalación del software Open VPN el cual será configurado, en esta etapa, para permitir el acceso de usuarios desde Internet al interior de la red. 1 Lista de control de acceso CAPÍTULO 5. ETAPAS DE IMPLEMENTACIÓN 5.4.2. 11 Configuración tele trabajo Se definiran usuarios mediante certificados digitales, los cuales podrán acceder a través de un cliente VPN a la red corporativa. Todo el tráfico cursado a través de la VPN será encriptado y comprimido, de esta forma se busca disminuir la cantidad de tráfico efectivo cursado por Internet. 5.4.3. Instalación y pruebas Referise a la sección 5.3.4. 5.5. 5.5.1. Central telefónica Fundo Instalación Sistema Operativo Referise a la sección 5.3.1. 5.5.2. Instalación Asterisk Se debe realizar la instalación de la central telefónica Asterisk. Actualmente la versión estable dentro del sistema Debian GNU/Linux corresponde a la 1.4 y será la que se utilizará. 5.5.3. Habilitación cuentas Se deben crear las cuentas de usuario y sus extensiones, es importante destacar que Asterisk hace diferencia entre ambos puntos, ya que un usuario puede poseer muchas extensiones, por ejemplo podemos tener el usuario Juan que tendrá la extensión 10 y 11 apuntando a él. A pesar de lo anterior se utilizará un esquema donde un usuario tendra una extensión y una casilla de correo. El nombre de usuario corresponderá al número de extensión. Con estas consideraciones se procederá a la habilitación de las cuentas. Cuentas SIP Definición de usuarios dentro del sistema en el archivo /etc/asterisk/sip.conf Ejemplo: [113] callerid="delaf" md5secret=754ee2a8de2d24e4e7956e7237a2b174 context=anexos type=friend host=dynamic ; ; ; ; ; ; id del usuario nombre del usuario clave encriptada contexto al que pertenece tipo de peer desde donde se conectará CAPÍTULO 5. ETAPAS DE IMPLEMENTACIÓN 12 Habilitación extensiones Corresponde a la asociación que se realizará entre un número de extensión y un usuario, se define en el archivo /etc/asterisk/extensions.conf Ejemplo: exten exten exten exten => => => => 113,1,Dial(SIP/113,30) 113,n,Voicemail(113,u) 113,n,Voicemail(113,b) 113,n,Hangup ; ; ; ; marcar extensión no disponible ocupado colgar Buzón de Voz Se creará una casilla de buzón de mensajes, donde los mensajes serán enviados vı́a correo electrónico al usuario dueño de la extensión. Esto se define en el archivo /etc/asterisk/voicemail.conf Además se debe modificar el archivo extensions.conf para permitir el traslado a buzón en caso de no disponible o ocupado. Esto se puede ver en el ejemplo anterior. Ejemplo: 113 => 113,Esteban De La Fuente Rubio,[email protected] 5.5.4. Estadı́sticas de llamadas Se debe configurar las estádisticas mediante CDR, esto permitirá almacenar las llamadas realizadas por los usuarios de la central. Por defecto Asterisk solo crea un log, por lo cual se deberá cambiar la configuración para que se utilice una base de datos, por ejemplo mysql. 5.5.5. Acceso a la PSTN Configuración mediante un proveedor de servicios externos, en el caso del proyecto se utilizará la empresa RedVoiss. Mediante la cual se tendrá acceso a la PSTN. Enlace RedVoiss Se deberá modificar el archivo sip.conf para permitir el registro de la central en la red de telefonı́a IP externa. Además se modificará extensions.conf para permitir que usuarios dentro de la red puedan salir hacia la PSTN. Menú Interactivo Se debe crear un menú que reciba las llamadas entrantes desde la PSTN y permita que el llamante digite una extensión, para posteriormente ser redireccionado a esta. CAPÍTULO 5. ETAPAS DE IMPLEMENTACIÓN 5.5.6. 13 Instalación y Pruebas Referise a la sección 5.3.4. 5.6. 5.6.1. Firewall Melipilla Instalación Sistema Operativo Referise a la sección 5.3.1. 5.6.2. Configuración IPTables Referise a la sección 5.3.2. 5.6.3. Configuración Squid Referise a la sección 5.3.3. 5.6.4. Instalación y Pruebas Referise a la sección 5.3.4. 5.6.5. Capacitación SysAdmin La empresa solicitó, posteriormente al análisis de requerimientos del proyecto, que se capacitará a un empleado de planta ubicado en la oficina de Melipilla, esto con el objetivo de que pudiese solucionar problemas en caso de presentarse alguno. Se deberá instruir a un empleado sobre el uso del firewall, especı́ficamente: Comándos básicos de GNU/Linux. Manejo de demonios en GNU/Linux. Redireccionamiento de puertos en IPTables. Bloqueo de alguna IP para acceder a Internet en IPtables. Modificación de las ACL en Squid. 5.7. VPN Melipilla Referise a la sección 5.4. CAPÍTULO 5. ETAPAS DE IMPLEMENTACIÓN 5.7.1. Instalación OpenVPN 5.7.2. Configuración tele trabajo 14 Referise a la sección 5.4.2. 5.7.3. Instalación y pruebas Referise a la sección 5.3.4. 5.8. 5.8.1. Central telefónica Melipilla Instalación Sistema Operativo Referise a la sección 5.3.1. 5.8.2. Instalación Asterisk Referise a la sección 5.5.2. 5.8.3. Habilitación cuentas Referise a la sección 5.5.3. Cuentas SIP Referise a la sección 5.5.3. Habilitación extensiones Referise a la sección 5.5.3. 5.8.4. Instalación y Pruebas Referise a la sección 5.3.4. 5.9. 5.9.1. VPN Sitio a Sitio Habilitación en OpenVPN En las secciones 5.4 y 5.7 se describieron los pasos para la implementación de una VPN para usuarios remotos. En esta etapa se deberá configurar el software OpenVPN para unir las redes CAPÍTULO 5. ETAPAS DE IMPLEMENTACIÓN 15 del Fundo y Melipilla. De esta forma se contará con un acceso desde cualquier punto de una red a la otra. Se utilizará una clave precompartida la cual la conocerán ambos firewalls, quienes deberán proporcionar además las rutas necesarias para acceder a la red ubicada en el otro extremo de la VPN. Al igual que en el caso del tele trabajo, el tráfico será comprimido. 5.9.2. Instalación y Pruebas Referise a la sección 5.3.4. 5.10. Trocal IAX 5.10.1. Configuración Troncal En las secciones 5.5 y 5.8 se describieron los pasos para la implementación de las centrales telefónicas con su propia red de anexos. En esta etapa se deberá crear el troncal IAX en ambas centrales para permitir las llamadas entre una central y otra. Se deberán modificar los archivos iax.conf y extensions.conf, respectivamente definiendo usuarios IAX y como se realizarán las llamadas. Se debe considerar que en el fundo los anexos estarán en el rango 100 a 199 y en Melipilla en el rango 200 a 299, esto permitirá definir en extensións.conf el redireccionamiento hacia el canal IAX. 5.10.2. Instalación y Pruebas Referise a la sección 5.3.4. 5.11. Documentación Durante todo el proceso de implementación se deberá ir documentando lo realizado, realizar respaldos de las configuraciones y estas debidamente comentadas. Todo esto con el objetivo de al momento de confeccionar la memoria de titulación disponer de los datos de manera más fácil. Además se deberán crear pequeños tutoriales que indiquen los pasos realizados para obtener el funcionamiento global del sistema. Capı́tulo 6 Factores crı́ticos de éxito Responder a los tiempos dispuestos o estipulados al inicio del proyecto. Tener a disposición el hardware necesario antes de la fecha dispuesta para la configuración de estos. Realizar pruebas de funcionalidad en las etapas correspondientes de la implementación. Responder a lo requerimientos funcionales solicitados por la empresa. El cliente realice pruebas de satisfacción luego de las pruebas internas de implementación. Realizar correcciones a los problemas encontrados al realizar la implementación. Realizar capacitación al personal antes dispuesto, para que opere el equipamiento instalado. 16 Capı́tulo 7 Anexos 7.1. WBS: lista de actividades Ver archivo wbs.pdf adjunto en la carpeta del informe. 7.2. Carta gantt Ver archivo gantt.pdf adjunto en la carpeta del informe. 17