La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Autores: Lucas Alejandro

Presentaciones similares


Presentación del tema: "SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Autores: Lucas Alejandro"— Transcripción de la presentación:

1 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Autores: Lucas Coudureslucas.coudures@gmail.com Alejandro Casasale.casas@ar.ibm.com Hernan Fernandezhernangana@yahoo.com.ar Autores: Lucas Coudureslucas.coudures@gmail.com Alejandro Casasale.casas@ar.ibm.com Hernan Fernandezhernangana@yahoo.com.ar Universidad Nacional de La Matanza Squid Optimizando el Acceso a Internet Squid Optimizando el Acceso a Internet

2 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Copyright © 2007 Lucas Coudures Copyright © 2007 Alejandro Casas. Copyright © 2007 Hernan Fernandez Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with with the Invariant Sections being “Carátula”(slide 1), one Front-Cover Texts being “iTALC, Probando una nueva herramienta de software libre para la enseñanza“, and no Back-Cover Texts. A copy of the "GNU Free Documentation License" is available at http://www.gnu.org/copyleft/. Copyright © 2007 Lucas Coudures Copyright © 2007 Alejandro Casas. Copyright © 2007 Hernan Fernandez Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with with the Invariant Sections being “Carátula”(slide 1), one Front-Cover Texts being “iTALC, Probando una nueva herramienta de software libre para la enseñanza“, and no Back-Cover Texts. A copy of the "GNU Free Documentation License" is available at http://www.gnu.org/copyleft/.

3 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. ● ¿ Quienes somos? ● ¿Qué es un Proxy? ● ¿Qué es un Proxy-Cache? ● Presentando Squid ● Instalando Squid ● Access Control List ● Access Control Rules ● Bloqueando dominios destino ● Ejemplo de Implementación ● KRILL ● Contacto ● ¿ Quienes somos? ● ¿Qué es un Proxy? ● ¿Qué es un Proxy-Cache? ● Presentando Squid ● Instalando Squid ● Access Control List ● Access Control Rules ● Bloqueando dominios destino ● Ejemplo de Implementación ● KRILL ● Contacto Contenido

4 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. ¿Quienes somos? Un grupo formado por docentes y alumnos de las carreras de ingeniería en informática y en electrónica de la Universidad Nacional de La Matanza, interesados en el estudio y la aplicación del software libre. Apoyados por el LACIE “ Laboratorio Abierto de Ingeniería”. Un grupo formado por docentes y alumnos de las carreras de ingeniería en informática y en electrónica de la Universidad Nacional de La Matanza, interesados en el estudio y la aplicación del software libre. Apoyados por el LACIE “ Laboratorio Abierto de Ingeniería”.

5 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Un Servidor Proxy se define como una computadora o dispositivo que ofrece un servicio de red que consiste en permitir a los clientes realizar conexiones de red indirectas hacia otros servicios de red como internet. ¿Qué es un Proxy?

6 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Algunos servidores proxy, proporcionan un cache para las páginas web y los contenidos descargados, que es compartida por todos los equipos de la red, con la consiguiente mejora en los tiempos de acceso para consultas coincidentes. Al mismo tiempo libera la carga de los enlaces hacia Internet. ¿Qué es un Proxy- Cache?

7 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Squid es un popular programa de software libre que implementa un servidor Proxy y un demonio para Web caché, publicado bajo licencia GPL. Tiene una amplia variedad de utilidades, desde acelerar un Servidor Web, guardando en caché peticiones repetidas a DNS y otras búsquedas para un grupo de gente que comparte recursos de la red. Introduce un caché de Web, además de añadir seguridad filtrando el tráfico. Está especialmente diseñado para ejecutarse bajo entornos Linux, aunque se encuentran disponibles versiones win32. Presentando Squid

8 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Presentando Squid En un principio fue el CERN HTTP Server, con el agregado de un proxy cache. Dicho modulo fue escrito por Ari Luotonen en 1994. A finales de 1994 Duane Wessels se une al proyecto Harvest, que poseía tres de las mayores ventajas de CERN: ● Uso del file system ● Un proceso simple de diseño ● Jerarquía de Cache vía el protocolo Cache de Internet Los autores originales de Harvest convierten a este en un producto comercial al final de 1995. A principios de 1996 Duane Wessels se une al National Laboratory for applied Network research (NLANR) inicial el proyecto IRCache fundado por National Science Foundation. Bajo este proyecto, Duane toma el código fuente de Harvest, lo renombra a Squid y lo libera con Licencia GPL.

9 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Página oficial de Squid http://www.squid-cache.org/ Presentando Squid

10 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Instalando Squid Requerimientos de Hardware: Aunque los requerimientos son mínimos, se debe de analizar la infrastructura de red cual utilizará este servicio, y realizar una proyección para saber con mayor exactitud, cantidad de disco, memoria y procesador, aunque ese último requerimiento puede no ser el más importante. Hoy en día las distribuciones más conocidas, al igual que Microsoft, tienen disponible sus paquetes binarios para ser instalados. En caso de compilar en sistemas GNU/Linux, los requerimientos son los siguientes ● GNU GCC ++ Compiler

11 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Instalando Squid ● Compilar las fuentes: Evaluar opciones de configuración antes de realizar la compilación de Squid #./configure #make #make install

12 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Una vez instalado Squid, debemos de ubicar los archivos importantes del mismo. ● /usr/local/squid => Directorio del Aplicativo ● /usr/local/squid/bin => Herramientas necesarias para Squid ● /usr/local/squid/sbin => Binarios de ejecución del Servidor Squid ● /usr/local/squid/var/cache => Almacenamiento base de datos Squid ● /usr/local/squid/etc/squid.conf => Archivo de configuración squid ● /usr/local/squid/var/log => Registros de funcionamiento Instalando Squid Nota: La locación de estos directorios son por defecto para el caso de los fuentes descargados y compilados. En la instalación mediante paquetes binarios, esta locación puede variar de una distribución a otra. Es necesario leer las notas de instalación antes de realizar dicho proceso.

13 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Instalando Squid Comprendiendo squid.conf ● cache_dir 100 16 256: Tamaño del directorio cache, en este ejemplo 100 Mb ● http_port 3128: Puerto http de nuestro proxy. ● http_port 192.168.123.98:3128 transparent (proxy transparente) ● cache_effective_user: Definición de usuario que posee permiso de escritura en el cache ● cache_effective_group: Definición de grupo que posee permiso de acceso en el cache Configuración Estandar Configuración Proxy Transparente

14 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Access Control List (ACL) Las Access control list son la parte más importante de Squid. Son usadas para prevenir o restringir acceso a cierto material, controlar peticiones, redirigirlas y soportar diferente calidad de de servicios. Se componen de dos partes, ● Serie de elementos de ACL (IP, Hostname, URL, request method, etc) ● Estos elementos se combinan con una serie de Access Control Rules

15 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Access Control Rules (ACR) Las ACL son el primer paso en el desarrollo del control de acceso. El segundo paso son las Access Control Rules donde se combinan ciertos elementos para permitir o denegar ciertas acciones. Algunas Access List se definen a continuación http_access http_reply_access icp_access no_cache miss_access ident_lookup_access always_direct Sintaxis básica access_list allow|deny [!]ACLname...

16 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Instalando Squid Trabajando con ACL's (Ejemplo básico) acl red 192.168.123.0/20 http_access allow red http_access deny all Se pueden definir una serie de reglas dependiendo del ambiente. ● Filtro por fuente de acceso ● Filtro por Horario ● Filtro por tipo de página ● Filtro por control de Velocidad Entendiendo squid.conf

17 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Este tipo de ACL es muy útil a la hora de bloquear el acceso a determinadas páginas acl pagina_denegada dstdomain www.hotmail.comwww.hotmail.com Con esa línea y colocando las reglas de control de acceso (ACR) para denegar esta ACL, bastará para que los equipos seleccionados no ingresen a dicha página. Bloqueando dominios de destino

18 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Bloqueando dominios de destino Si se desea tener un control de acceso sobre muchas páginas, una solución sería crear un archivo de texto plano que contenga las URLs que se desean evitar o permitir. Por ejemplo, se puede crear un archivo llamado: /usr/local/squid/paginas_denegadas Que contenga las siguientes líneas www.hotmail.com www.yahoo.com www.microsoft.com

19 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. acl jefe src 192.168.123.10 acl red src 192.168.123.11 192.168.123.12 acl pagina_denegada dstdomain www.chicaslindas.comwww.chicaslindas.com http_access allow jefe http_access deny red pagina_denegada http_access deny all Nota: como las ACL actúan en orden descendente, siempre debemos definirlas desde lo puntual hasta lo general, ya que en cuanto encuentra una que coincida, no sigue en busca de otro valor. Ejemplo ACL squid.conf

20 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Al utilizar Delay Pools, evitamos que un grupo de usuarios consuma indiscriminadamente el ancho de banda, dejando al resto con conexión nula o reducida delay_pools 1 delay_class 1 2 delay_parameters 1 120000/120000 10000/10000 delay_access 1 allow permitidos donde: 120.000 bytes [120 kb/seg] = ancho de banda total 10.000 bytes [10 kb/seg] =ancho de banda máximo para descargas NOTA: la conexión del ejemplo es de 1MB, con una descarga de 120kb/seg aproximadamente. NOTA2: al compilar Squid, se debe de habilitar la opción enable-delay-pools ene l comando configure. Al utilizar Delay Pools, evitamos que un grupo de usuarios consuma indiscriminadamente el ancho de banda, dejando al resto con conexión nula o reducida delay_pools 1 delay_class 1 2 delay_parameters 1 120000/120000 10000/10000 delay_access 1 allow permitidos donde: 120.000 bytes [120 kb/seg] = ancho de banda total 10.000 bytes [10 kb/seg] =ancho de banda máximo para descargas NOTA: la conexión del ejemplo es de 1MB, con una descarga de 120kb/seg aproximadamente. NOTA2: al compilar Squid, se debe de habilitar la opción enable-delay-pools ene l comando configure. Delay Pools

21 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Puesta en marcha de Squid Por último inicializamos el Directorio Cache: #/usr/local/squid/sbin/squid -z Iniciando servidor, podemos iniciarlo desde el binario o desde el script de inico 1) #/usr/local/squid/sbin/squid (Binario) 2) #/etc/init.d/squid start (Script)

22 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Ejecutando Squid

23 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Configurar navegadores

24 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Configurar navegadores

25 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Implementación en la UNLaM

26 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Ejemplo de implementación Se presentarán los aspectos más destacados de la configuración desarrollada por nuestro equipo. En la actualidad Squid se ha implementado en el laboratorio abierto de Ingeniería de la Universidad Nacional de La Matanza con el objetivo de optimizar el acceso a los recursos externos como Internet e intranet.

27 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Ejemplo de implementación ● Brindar acceso a internet en el laboratorio. ● Optimizar el ancho de banda. ● Utilizar una aplicación liviana y fácil de administrar Nuestro objetivo

28 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Dificultades Ejemplo de implementación ● La Universidad ya poseía un proxy que no dependía del laboratorio. ● ¿Los alumnos realmente se conectarían a recursos adecuados? ● La política actual del laboratorio se basaba en el acceso nulo a Internet dentro del área, impidiendo a los alumnos realizar busquedas en recursos como internet. ¿Como podíamos resolver este dilema?

29 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Ejemplo de implementación

30 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Ejemplo de implementación ● 19 máquinas para los alumnos. ● 3 maquinas para el/los profesor/es ● 1 servidor ● 19 máquinas para los alumnos. ● 3 maquinas para el/los profesor/es ● 1 servidor El laboratorio

31 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Ejemplo de implementación ● Procesador: Intel Celeron 2.4 Ghz ● Memoria: 256 MB ● Sistema operativo: Debian etch. ● Procesador: Intel Celeron 2.4 Ghz ● Memoria: 256 MB ● Sistema operativo: Debian etch. Pruebas realizadas

32 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. squid.conf http_port 3128 #proxy padre cache_peer 10.X.XX.50 parent 5865 0 default cache_mem 64 MB cache_dir ufs /var/spool/squid 300 16 256 http_port 3128 #proxy padre cache_peer 10.X.XX.50 parent 5865 0 default cache_mem 64 MB cache_dir ufs /var/spool/squid 300 16 256

33 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. # mis acl #maquina con todos los privilegios acl profesor src 192.168.123.xxx #maquinas permitidas acl ip-permitidas src "/etc/squid/ip-permitidas" #paginas permitidas acl web-permitidas url_regex -i "/etc/squid/web- permitidas" #mis http_access http_access allow profesor http_access allow ip-permitidas web-permitidas http_access deny ip-permitidas visible_hostname debian never_direct allow all # mis acl #maquina con todos los privilegios acl profesor src 192.168.123.xxx #maquinas permitidas acl ip-permitidas src "/etc/squid/ip-permitidas" #paginas permitidas acl web-permitidas url_regex -i "/etc/squid/web- permitidas" #mis http_access http_access allow profesor http_access allow ip-permitidas web-permitidas http_access deny ip-permitidas visible_hostname debian never_direct allow all

34 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Proyecto KRILL

35 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Proyecto KRILL Krill es un administrador web, de código abierto, publicado bajo licencia GPL, y escrito en PHP, que permite manejar de forma sencilla las peticiones de los usuarios, sobre aquellas URL bloqueadas por una regla de acceso (acl) de Squid.

36 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Historia: Todo comenzó durante el proyecto de implementación de Squid en uno de los laboratorios de electrónica de la Universidad Nacional de La Matanza, donde se buscaba brindar acceso a Internet de forma controlada, por lo que se configuró Squid con una regla de acceso, la cual por defecto bloquea todas las páginas de Internet, excepto aquellas autorizadas por la cátedras. Proyecto KRILL

37 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez.

38 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Krill comienza a funcionar en el momento en que un usuario ingresa una página en el navegador web que no esta permitida dentro de las reglas de SQUID, en ese momento se muestra un mensaje de error explicando porque no pudo ser accedida esa URL y se le ofrece completar un formulario con sus datos en caso de que esa página fuese realmente necesaria. Al finalizarlo, automáticamente se muestra una confirmación en pantalla. Los datos del usuario junto con el pedido solicitado se almacenan en un archivo de texto plano. Proyecto KRILL

39 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Módulo Solicitudes Proyecto KRILL

40 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Confirmación de la Solicitud Proyecto KRILL

41 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. La información anteriormente almacenada es consultada por el administrador mediante un Front-End realizado integramente en HTML - PHP. El responsable del acceso a internet puede acceder fácilmente al listado de peticiones que realizaron los usuarios desde cualquier máquina dentro de la red sin importar que sistema operativo o navegador estén utilizando y decidir cuales peticiones aceptar y cuales denegar. De esta manera se facilita la tarea al administrador a cargo. Al finalizar, el sistema guarda los cambios y reinicia el servicio de Squid. Proyecto KRILL

42 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Módulo administrador Proyecto KRILL

43 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Confirmación Proyecto KRILL

44 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Wiki Proyecto Krill

45 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Muchas Gracias!!! ¿Preguntas? Muchas Gracias!!! ¿Preguntas?

46 SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Contacto Autores: Lucas Coudureslucas.coudures@gmail.com Alejandro Casasale.casas@ar.ibm.com Hernan Fernandezhernangana@yahoo.com.ar Autores: Lucas Coudureslucas.coudures@gmail.com Alejandro Casasale.casas@ar.ibm.com Hernan Fernandezhernangana@yahoo.com.ar Páginas Web: Squidwww.squid-cache.orgwww.squid-cache.org Proyecto Krillhttp://tallergnulinux.sourceforge.net/krill/http://tallergnulinux.sourceforge.net/krill/ Wiki http://tallergnulinux.sourceforge.net/wiki/index.php/Krillhttp://tallergnulinux.sourceforge.net/wiki/index.php/Krill Páginas Web: Squidwww.squid-cache.orgwww.squid-cache.org Proyecto Krillhttp://tallergnulinux.sourceforge.net/krill/http://tallergnulinux.sourceforge.net/krill/ Wiki http://tallergnulinux.sourceforge.net/wiki/index.php/Krillhttp://tallergnulinux.sourceforge.net/wiki/index.php/Krill


Descargar ppt "SQUID - Optimizando el acceso a Internet. Copyright© 2007. Coudures, Casas,Fernandez. Autores: Lucas Alejandro"

Presentaciones similares


Anuncios Google