Servicio Proxy en Linux Copyright 2011 por TECSUP 2 Introduccin Actualmente, muchas empresas disponen de un acceso a Internet para buscar informacin y publicar datos relacionados a su negocio. El principal problema es que muchos usuarios requieren la misma pgina web, por ejemplo www.elcomercioperu.com.pe, lo cual genera un consumo innecesario del ancho de banda de la conexin a Internet motivo por la cual se utiliza un servidor Proxy. Durante esta unidad se analizarn las caractersticas y la utilizacin de un servidor Proxy. Redes II TECSUP Unidad 11: Servicio Proxy en Linux 2 3 Objetivos Al completar este tema, el alumno estar en la capacidad de realizar las siguientes tareas: Identificar los componentes bsicos que conforman el servicio Proxy. Describir el funcionamiento del servicio Proxy. Realizar la implementacin del servicio Proxy. 4 Contenido En el presente texto se desarrollar los siguientes temas: Definicin del servicio Proxy. Implementacin del Proxy Server. Servicio Proxy en GNU/Linux. Ejemplos. Redes II TECSUP Unidad 11: Servicio Proxy en Linux 3 5 Conocimiento Previo Componentes del servicio Proxy Tipos de Firewall Proxy Clientes Proxy Implementacin de Proxy Computadora genrica Computadora especializada: appiiance Conexiones Proxy Cache Servicio Proxy en GNU/Linux Redes II TECSUP Unidad 11: Servicio Proxy en Linux 4 SQUID Pagina Web: Caractersticas: Software Libre Proxy cache de HTTP,HTTPS, FTP Variedad de control de acceso. Cache de paginas WEB, acelerando las consultas. Control de ancho de banda. Compatibilidad en los diferentes entornos Unix. 7 http://www.squid-cache.org/ IP TCP SQUID (SQUID-CACHE) 3128 Archivos de Configuracin Estructura de archivos y directorios importantes del Squid: 8 Archivo principal de configuracin Relacin de archivos de eventos Directorio de la cache DB DB PROXY PROXY Redes II TECSUP Unidad 11: Servicio Proxy en Linux 5 Puerto El puerto del Squid por defecto es 3128. Puede variarse en el archivo de configuracin. Prevenir que no entre conflicto con otro Servicio que use el mismo puerto al elegir para el Proxy. 9 IP TCP SQUID (SQUID-CACHE) 8080 CACHE: Generacin Generaremos la estructura de la CACHE definida en el archivo de configuracin: 10 GENERANDO DB DB PROXY PROXY VISUALIZANDO CONFIGURACION Redes II TECSUP Unidad 11: Servicio Proxy en Linux 6 Eventos Los archivos de eventos son tiles para diagnosticar o obtener reportes de estadsticas. Squid maneja los eventos en archivos de texto plano que pueden ser visualizados con un editor o monitoreados con el comando (tail) 11 squid.conf Control de acceso Los controles de acceso tendrn la finalidad de permitir o bloquear algn requerimiento dependiendo de condiciones. Para aplicar un control de acceso esta compuesta de dos procesos: Definicin de las listas de control de acceso (tipo y valores a tomar como filtro) Accin sobre las listas de control de acceso. 12 LISTAS CONTROL ACCESO (ACL) .. ... ACCION A APLICAR LA LISTA (ACL) Redes II TECSUP Unidad 11: Servicio Proxy en Linux 7 Control de acceso: Listas ACL En Squid para definir una lista ACL debemos de seleccionar el tipo de condicional y los valores a asignar. Se muestra un panorama de los diferentes condicionales (src, time, dst e otros). La eleccin de un tipo o mas tipos depender del objetivo que se busca del control. Ejemplo : Dar permiso a una determinada IP de la RED, escoger el tipo src. En la definicin de un ACL no se indica la accin. 13 SQUID SQUID IPa www.yahoo.com IP WEB DESTINO IPb IP ORIGEN RED ORIGEN TIEMPO CONTENIDO DOMINIO www.sony.com src time dstdomain url_regex dst Tipo que se asocia Squid puede tomar tipos de parmetros asociados a entrada o salida Control de acceso: Sintaxis ACL Sintaxis: 14 SQUID SQUID IPa www.yahoo.com IP WEB DESTINO IPb IP ORIGEN RED ORIGEN TIEMPO CONTENIDO DOMINIO www.sony.com acl [etiqueta] [tipo] [valores] acl PC src 192.168.10.1 acl dominio dstdomain sony.com acl palabras url_regex .mp3 .zip acl tiempo time 08:00-22:30 src time dstdomain url_regex dst Nombre a asignar a la lista de acceso Tipo: src, dst .. Valores que guardan relacin con el tipo de acl escogido EJEMPLOS Como se observa se ha declarado los ACL de determinados tipos y sus valores pero no se indica la accin de bloquear o permitir Redes II TECSUP Unidad 11: Servicio Proxy en Linux 8 Control de acceso: Accin del ACL Ahora debe indicarse que accin tomara si un requerimiento coincide con los valores del ACL. El parmetro (http_access) definir la accin del ACL, que puede ser: ALLOW(permitir) DENY (bloquear) 15 15 PROXY PROXY IPa www.yahoo.com SITE DESTINO IPb IP ORIGEN RED ORIGEN TIEMPO CONTENIDO DOMINIO www.sony.com ALLOW ALLOW DENY DENY ALLOW ALLOW DENY DENY Control de acceso: Accin del ACL Sintaxis: 16 http_access [accin] [etiqueta_access-list] Accin a aplicar al ACL: ALLOW o DENY Etiqueta asignada al ACL http_access deny invitado EJEMPLO PROXY PROXY 192.168.11.5 IP ORIGEN RED ORIGEN DENY DENY acl invitado src 192.168.14.5 CASO: Se requiere bloquear a navegacin a la IP 192.168.11.5 CASO: Se requiere bloquear a navegacin a la IP 192.168.11.5 src 11 22 Requiere www.yahoo.com Redes II TECSUP Unidad 11: Servicio Proxy en Linux 9 Anlisis de Polticas Al declarar los ACL no influyen el orden a declararlos. Al aplicar las acciones (http_access) si influyen el orden de aplicar los (http_access) porque es realmente donde se ordena los ACL y se aplica las acciones. Squid evala las polticas desde el primer (http_access) declarado y continua hasta que algn (http_access) determine alguna accin con el requerimiento. 17 Requerimiento Poli 1 Poli 2 Poli 3 accin SI SI SI no no A C C E P T ? Coincide con la poltica accin DROP accin A C C E P T Anlisis de Polticas: Ejemplo Para ver el efecto de la importancia del orden de la aplicacin de las polticas, evaluaremos un caso: 18 CASO: Permitir acceso a la red lan 192.168.90.0 a excepto de la IP 192.168.90.114 CASO: Permitir acceso a la red lan 192.168.90.0 a excepto de la IP 192.168.90.114 SI CUMPLE NO CUMPLE 192.168.90.114 Requerimiento Al revisar el paquete y al buscar alguna relacin con los valores de ACL, se encuentra que la IP origen (192.168.90.114) encaja con los ACL : all, redlocal y I2 A L L O W D E N Y Cumple con el ACL (redlocal) y la accin es (allow). Quiere decir que ha permitido . Cumple con el ACL (I2) y la accin es (deny). Quiere decir que ha bloqueado. Redes II TECSUP Unidad 11: Servicio Proxy en Linux 10 Bloqueando a determinadas paginas 19 CASO: La PC de Contabilidad (192.168.90.115) acceder nicamente a los dominios (.sunat.gob.pe) y (.elperuano.com.pe) CASO: La PC de Contabilidad (192.168.90.115) acceder nicamente a los dominios (.sunat.gob.pe) y (.elperuano.com.pe) DOMINIOS CONFIGURACION 11 22 Registrando en un archivo la relacin de dominios a restringir. Asociando el archivo de dominios a un tipo de ACL (domconta). En la aplicacin de la accin, asociamos el ACL (ipconta) y (domcomta) Bloqueando por Contenido 20 DOMINIOS CONFIGURACION 11 22 Registrando en un archivo la relacin de dominios a restringir. CASO: Restringir descargas de archivos con extensin .mp3,.exe, .zip CASO: Restringir descargas de archivos con extensin .mp3,.exe, .zip BLOQUEADO RESULTADO 33 Redes II TECSUP Unidad 11: Servicio Proxy en Linux 11 Controlando por Tiempo 21 CASO: Permitir el acceso a navegacin entre las 8am 5pm ha excepto del administrador (ipadm) CASO: Permitir el acceso a navegacin entre las 8am 5pm ha excepto del administrador (ipadm) CONFIGURACION 11 PRUEBAS 22 Reporte (SARG) Generar reporte de estadsticas va WEB del Squid de la informacin obtenida del archivo (access.log) 22 http://sarg.sourceforge.net ESTADISTICAS MOVIMIENTO DESCARGAS Estadsticas en general de todos los usuarios en cantidad de consumo de BYTES Informacin de las paginas visitadas y que paginas fueron prohibidos Relacin de archivos descargados (.exe, .zipn, .mp3) Redes II TECSUP Unidad 11: Servicio Proxy en Linux 12 TEMA 3 CALIDAD DE SERVICIO 23 Control de ancho de banda Beneficios: Limitar consumo de ancho de banda. Repartir el canal del ancho de banda segn las prioridades de las aplicaciones. Evitar que una aplicacin sature el canal. 24 ANCHO BANDA 128K HTTP HTTP SMTP ANCHO BANDA 128K HTTP SMTP HTTP 64K SMTP 64K SIN CONTROL CONTROL Segn los datos que lleguen irn copando el canal Segn los datos que lleguen se asigna segn la aplicacin a una cola que se determino con un respectivo ancho de banda limitado Redes II TECSUP Unidad 11: Servicio Proxy en Linux 13 Squid: Control de ancho de banda Squid permite gestionar el trafico HTTP, FTP asignando ancho de banda que son representados por tuberas. Formas de cmo se asignara las tuberas y como se usara estas asignaciones: Asignar una tubera que representa una velocidad mxima, y que ser asignada a un grupo. Los participantes del grupo usaran segn el consumo que necesiten hasta llegar al Tope. Asignacin de la tubera que se reparte en forma equitativa entre los usuarios, asignado a los participantes un consumo mximo. 25 ANCHO BANDA 128K HTTP 64K Squid: Configuracin de Ancho de Banda 26 ANCHO BANDA 128K HTTP HTTP 64K CASO: Restringir el acceso a navegacin a usar un canal de 64Kbps CASO: Restringir el acceso a navegacin a usar un canal de 64Kbps TIPO DE POOL 11 Se indica cuantas tuberas (pool) y de que tipo (Clase de pool) va manejarse los datos al entrar a esta tubera La tubera (pool) definimos el ancho de banda a usar. Segn el tipo (Clase de pool) tiene una sintaxis de los datos a ingresar ASIGNACION DE ANCHO DE BANDA AL POOL 22 Redes II TECSUP Unidad 11: Servicio Proxy en Linux 14 Squid: Configuracin de Ancho de Banda 27 REGISTRAR UN ACL A LA RED 33 ASOCIAR LA ACL AL POOL 44 APLICAR LA ACCION AL ACL 55 ANCHO BANDA 128K HTTP 64K Equipos de la RED 192.168.90.0 TEMA 4 AUENTICACION 28 Redes II TECSUP Unidad 11: Servicio Proxy en Linux 15 Autenticacin Principalmente las polticas de restriccin que se aplica a los Clientes con el Proxy, esta asociado con la identificacin de la IP del Cliente. El optar las restricciones por un mtodo de autentificacin basados en cuenta y password tiene sus ventajas: Los usuarios adquieren sus perfiles del Proxy desde cualquier PC que estuvieran. No esta fijos a una PC. Definir un grupo de polticas basados en cuentas de usuarios. Incorporando propiedades avanzadas de sistemas de autenticacin como LDAP se puede integrar un nico sistema de autenticacin a usarse en la empresa para todos sus Servicios. 29 Autenticacion: Squid Squid soporta dos modos de autenticacin: LDAP Sistema de Directorios Ncsauth Basado en un archivo de texto que contendr las cuentas de usuarios y passwords. Parecido al archivo (shadow) del Sistema Linux. 30 Redes II TECSUP Unidad 11: Servicio Proxy en Linux 16 Autenticiacion NCSAUTH: Paso 1 Generando el archivo y agregando las cuentas de usuarios. 31 C U E N T A S PROCESOS Autenticiacion NCSAUTH: Paso 2 Personalizando el SQUID para soporte de NCSAUTH 32 Redes II TECSUP Unidad 11: Servicio Proxy en Linux 17 Autenticiacion NCSAUTH: Paso 3 Prueba de validacion: 33 34 Sntesis El Proxy permite acelerar el acceso de Paginas Web y descargas de archivos. Las listas de control de acceso permiten gestionar un control sobre los recursos de navegacin y descargar. El identificador principal de un Cliente es la IP, pero usando mtodos de autenticacin puede usarse cuentas de usuarios y password. Redes II TECSUP Unidad 11: Servicio Proxy en Linux 18 35 Enlaces Como configurar Squid: http://barrapunto.com/article.pl?sid=03/12/02/0938219& mode=thread. Configuracin de Squid: http://es.tldp.org/Tutoriales/doc-servir-web-escuela/doc- servir-web-escuela-html/x518.html. 36 Cuestionario Qu archivos son necesarios para configurar Squid? Qu protocolos controla un servidor proxy? En que mbitos de negocios se puede aplicar un servidor proxy?