Práctica Servidor Proxy
Documento Confidencial
- 1 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
SISTEMAS OPERATIVOS SERVIDORES PROXY
ING. HENRY EDUARDO BASTIDAS
INGENIERIA DE SISTEMAS - SEDE POPAYAN
POPAYAN NOVIEMBRE DE 2012
Práctica Servidor Proxy
Documento Confidencial
- 2 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Contenido Diseño de la Práctica .......................................................................................................................................... 3
INTRODUCCIÓN ................................................................................................................................................. 4
OBJECTIVO GENERAL ......................................................................................................................................... 4
OBJETIVOS ESPECIFICOS..................................................................................................................................... 5
JUSTIFICACION ................................................................................................................................................... 5
PRACTICA A DESARROLLAR. ............................................................................................................................... 6
Que es un Proxy y tipos de Proxy´s ..................................................................................................................... 6
TIPOS DE PROXY ................................................................................................................................................ 7
Ventajas y Desventajas de Utilizar Proxy´s?: ....................................................................................................... 9
Que es el Webfiltering ..................................................................................................................................... 10
SQUID .............................................................................................................................................................. 11
SARG (Squid Analysis Report Generator) ......................................................................................................... 11
SQUIDGUARD .................................................................................................................................................. 11
INSTALACION DEL SOFWARE ........................................................................................................................... 12
Práctica Servidor Proxy
Documento Confidencial
- 3 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Diseño de la Práctica
Práctica Servidor Proxy
Documento Confidencial
- 4 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
INTRODUCCIÓN
En el momento de crear un servidor de Proxy, ya sea público o privado, debemos tener claro
que servicio queremos ofrecer, además de los protocolos que soportan el tipo de software
que deseamos instalar.
La idea original del Proxy es una máquina la cual acepta conexiones devolviendo una
petición determinada y añadiendo dicha petición en su caché, de tal forma que pueda servir
más rápidamente futuras peticiones. Cabe destacar que un Proxy es a la vez cliente y
servidor.
También los Proxy son conocidos como máquinas que aceptan una conexión y que acceden
a una determinada dirección mandándonos a nosotros los datos obtenidos
Squid es el software para servidor Proxy más popular y extendido entre los sistemas
operativos porque es software libre, está libre del pago de costosas licencias por uso.
OBJECTIVO GENERAL
La investigación, documentación y pruebas e implementación de una solución de Proxy
Cache y a su vez webfiltering en un ambiente Linux utilizando para ello una solución GPL
como lo es SQUID, SARG y SQUIDGUARD.
Práctica Servidor Proxy
Documento Confidencial
- 5 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
OBJETIVOS ESPECIFICOS • Saber que es y para qué sirve un servidor Proxy
• Utilizar el software adecuado dependiendo de la necesidad del administrador
• Conocer la configuración de un servidor Proxy en ambientes Linux y Windows
• Conocer y utilizar Squid como soporte en la configuración de un servidor Proxy
• Utilizar los servicios de SquidGuard como Plug-in para mejorar el uso de Squid en
Linux
• Utilizar el servidor SARG como herramienta de monitoreo del uso del proxy.
JUSTIFICACION
La siguiente practica se realiza con el fin de tener documentado el proceso de
implementación de una herramienta tipo Proxy Cache + WebFiltering además de conocer el
funcionamiento de SQUID, SARG y SQUIDGUARD en ambientes Linux en un escenario su
utilización mas común, y así lograr familiarizarnos con herramientas con licenciamiento GPL,
de gran utilización lo cual la convierte en una alternativa excelente para realizar nuestro
trabajo de controlar el acceso de nuestros usuarios hacia contenidos publicados en Internet.
Práctica Servidor Proxy
Documento Confidencial
- 6 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
PRACTICA A DESARROLLAR.
Realizar la instalación de un sistema de Proxy Cache y Proxy Cache + filtrado web en
ambientes Linux y documentar el proceso.
Que es un Proxy y tipos de Proxy´s Un Proxy es un intermediario 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.
También almacena páginas Web que han sido solicitadas, lo cual ayuda a ver esos datos
desde un recurso local, en vez de estar bajando datos de la Web y por consiguiente reduce
el tiempo de acceso y uso del ancho de banda. Squid es un software que soporta Proxy,
hace Caché de páginas Web, de DNS y mantiene un registro completo de todos los pedidos.
Este es el proceso de conexión de un cliente al servidor Proxy:
• El cliente solicita una conexión, fichero u otro recurso disponible en un servidor
distinto.
• En algunos casos el Servidor Intermediario (Proxy) puede alterar la solicitud del cliente
o bien la respuesta del servidor para diversos propósitos.
Práctica Servidor Proxy
Documento Confidencial
- 7 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
TIPOS DE PROXY Proxy de Web / Proxy Caché de Web: Su funcionamiento se basa en el de un Proxy HTTP
y HTTPs, pero la diferencia fundamental es que la petición se realiza mediante una
Aplicación Web servida por un servidor HTTP al que se accede mediante una URL, esto es,
una página web que permite estos servicios.
Es un sistema que sirve para almacenar las páginas Web visitadas repetidamente, así en el
caso de que la pagina sea solicitada nuevamente, esta ya esta almacenada y es transferida
mas rápidamente evitando el trafico con otros servidores remotos y ahorrando así el ancho
de banda.
Reverse Proxy / Proxy inverso: Un reverse proxy es un servidor proxy instalado en el
domicilio de uno o más servidores web. Todo el tráfico entrante de Internet y con el destino
de uno de esos servidores web pasa a través del servidor proxy.
Hay varias razones para instalar un "reverse Proxy"
Seguridad: El servidor Proxy es una capa adicional de defensa y por lo tanto protege los
servidores Web.
Cifrado / Aceleración SSL: Cuando se crea un sitio Web seguro, habitualmente el cifrado SSL
no lo hace el mismo servidor Web, sino que es realizado por el "reverse Proxy", el cual está
equipado con un hardware de aceleración SSL (Security Sockets Layer).
Distribución de Carga: El "reverse Proxy" puede distribuir la carga entre varios servidores
Web. En ese caso, el "reverse Proxy" puede necesitar rescribir las URL de cada página Web
(traducción de la URL externa a la URL interna correspondiente, según en qué servidor se
encuentre la información solicitada).
Caché de contenido estático: Un "reverse Proxy" puede descargar los servidores Web
almacenando contenido estático como imágenes u otro contenido gráfico.
Práctica Servidor Proxy
Documento Confidencial
- 8 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Proxy NAT (Network Address Translation) / Enmascaramiento: También es conocida como
enmascaramiento de IPs. Es una técnica mediante la cual las direcciones fuente o destino de
los paquetes IP son reescritas, sustituidas por otras (de ahí el "enmascaramiento").
Tiene que ser compartida. Dentro de la red de área local (LAN) los equipos emplean
direcciones IP reservadas para uso privado y será el proxy el encargado de traducir las
direcciones privadas a esa única dirección pública para realizar las peticiones, así como de
distribuir las páginas recibidas a aquel usuario interno que la solicitó Mediante NAT también
se puede permitir un acceso limitado desde el exterior, y hacer que las peticiones que llegan
al proxy sean dirigidas a una máquina concreta que haya sido determinada para tal fin en el
propio proxy.
La función de NAT reside en los Cortafuegos y resulta muy cómoda porque no necesita de
ninguna configuración especial en los equipos de la red privada que pueden acceder a través
de él como si fuera un mero encaminador.
Proxy abierto: Este tipo de proxy es el que acepta peticiones desde cualquier ordenador,
esté o no conectado a su red.
En esta configuración el Proxy ejecutará cualquier petición de cualquier ordenador que pueda
conectarse a él, realizándola como si fuera una petición del Proxy. Por lo que permite que
este tipo de Proxy se use como pasarela para el envío masivo de correos de SPAM. Un
Proxy se usa, normalmente, para almacenar alimentos y redirigir servicios como el DNS o la
navegación Web, mediante el cacheo de peticiones en el servidor Proxy, lo que mejora la
velocidad general de los usuarios. Este uso es muy beneficioso, pero al aplicarle una
configuración "abierta" a todo Internet, se convierte en una herramienta para su uso indebido.
Cross-Domain Proxy: Típicamente usado por Tecnologías web asíncronas (flash, ajax,
comet, etc) que tienen restricciones para establecer una comunicación entre elementos
localizados en distintos dominios.
Práctica Servidor Proxy
Documento Confidencial
- 9 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
En el caso de AJAX, por seguridad sólo se permite acceder al mismo dominio origen de la
página web que realiza la petición. Si se necesita acceder a otros servicios localizados en
otros dominios, se instala un Cross- Domain proxy en el dominio origen que recibe las
peticiones ajax y las renvía a los dominios externos.
En el caso de flash, también han solucionado creando la revisión de archivos xml de Cross-
Domain, que permiten o no el acceso a ese dominio o subdominio.
Ventajas y Desventajas de Utilizar Proxy´s?:
Ventajas: En general (no sólo en informática), los proxies hacen posible:
• Control: sólo el intermediario hace el trabajo real, por tanto se pueden limitar y
restringir los derechos de los usuarios, y dar permisos sólo al proxy.
• Ahorro. Sólo uno de los usuarios (el proxy) ha de estar preparado para hacer el trabajo
real. Con estar preparado queremos decir que es el único que necesita los recursos
necesarios para hacer esa funcionalidad. Ejemplos de recursos necesarios para hacer
la función pueden ser la capacidad y lógica de cómputo o la dirección de red externa
(IP).
• Velocidad. Si varios clientes van a pedir el mismo recurso, el proxy puede hacer
caché: guardar la respuesta de una petición para darla directamente cuando otro
usuario la pida. Así no tiene que volver a contactar con el destino, y acaba más rápido.
• Filtrado. El proxy puede negarse a responder algunas peticiones si detecta que están
prohibidas.
• Modificación. Como intermediario que es, un proxy puede falsificar información, o
modificarla siguiendo un algoritmo.
• Anonimato. Si todos los usuarios se identifican como uno sólo, es difícil que el recurso
accedido pueda diferenciarlos. Pero esto puede ser malo, por ejemplo cuando hay que
hacer necesariamente la identificación.
Práctica Servidor Proxy
Documento Confidencial
- 10 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Desventajas: En general (no sólo en informática), el uso de un intermediario puede provocar:
• Abuso. Al estar dispuesto a recibir peticiones de muchos usuarios y Carga.
• Un proxy ha de hacer el trabajo de muchos usuarios.
• Intromisión. Es un paso más entre origen y destino, y algunos usuarios pueden no
querer pasar por el proxy. Y menos si hace de caché y guarda copias de los datos.
• Incoherencia. Si hace de caché, es posible que se equivoque y dé una respuesta
antigua cuando hay una más reciente en el recurso de destino. En realidad este
problema no existe con los servidores proxy actuales, ya que se conectan con el
servidor remoto para comprobar que la versión que tiene en cache sigue siendo la
misma que la existente en el servidor remoto.
• Irregularidad. El hecho de que el proxy represente a más de un usuario da problemas
en muchos escenarios, en concreto los que presuponen una comunicación directa
entre 1 emisor y 1 receptor (como TCP/IP).
Que es el Webfiltering
El acceso a Internet no controlado a Internet conlleva muchos retos e introduce un riesgo
innecesario. Squid y ACL es una solución líder de filtrado web que ayuda a las
organizaciones a gestionar la productividad, reducir la responsabilidad legal y mejorar el
ancho de banda para que los empleados hagan un uso eficaz de Internet.
Controles de aplicaciones avanzados
Aplicaciones como la mensajería instantánea y el P2P pueden reducir la eficacia y exponer a
las organizaciones a riesgos de seguridad y a la fuga de información. Con Squid se puede ir
desde el bloqueo hasta los controles de ancho de banda granulares, es una solución que
facilita la gestión fácil y escalable.
Práctica Servidor Proxy
Documento Confidencial
- 11 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Herramientas a Utilizar: SQUID, SARG
SQUID Squid es un popular programa de software libre que implementa un servidor proxy y un
dominio para caché de páginas web, 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, hasta
caché de web, además de añadir seguridad filtrando el tráfico. Está especialmente diseñado
para ejecutarse bajo entornos tipo Unix.
Squid ha sido desarrollado durante muchos años y se le considera muy compatible con otros
protocolos como Internet Gopher. Implementa varias modalidades de cifrado como TLS, SSL,
y HTTPS.
SARG (Squid Analysis Report Generator) Es una muy buena herramienta desarrollada por un brasileño Llamado Pedro Orso, que
permite saber dónde han estado navegando los usuarios en Internet, a través del análisis del
fichero de log “access.log” del famoso proxy Squid. El poder de esta herramienta es increíble,
pudiendo saber qué usuarios accedieron a qué sitios, a qué horas, cuantos bytes han sido
descargados, relación de sitios denegados, errores, de autentificación, entre otros. La
flexibilidad que puede obtener con Sarg es muy alta, principalmente para las empresas que
quieren tener un control de accesos y ancho de banda de acceso A internet.
SQUIDGUARD
Sistema de filtrado combinado de redireccionamiento web, y el plugin del controlador de
acceso para Squid. Utiliza una lista negra "Blacklists" como base de datos para denegar o
permitir sitos web al usuario. Su mayor utilidad es la prevención de dominios o URLs que
contengan informaciones no deseadas o nada productivas en horario laboral.
Práctica Servidor Proxy
Documento Confidencial
- 12 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
SquidGuard Se instala como servicio del sistema operativo GNU/Linux, y filtrará contenidos
de webs solicitadas por el resto de ordenadores (independientemente del sistema operativo
que tengan instalado). Para filtrar contenido usa comparación de caracteres, filtro PICS y
filtro por URLs.
INSTALACION DEL SOFWARE
Los paquetes necesarios para el funcionamiento del proxy son:
• Squid (se recomienda mayor a la la versión 2.5)
• http 2.xx
Para la instalación de squid en Red Hat se utilizo el gestor de paquetes yum y se baja desde
repositorios como se muestra en la figura 1.
CONFIGURACION BASICA PARA SQUID.
El archivo se configuración para squid se encuentra localizado en /etc/squid/squid.conf lo
abrimos por medio de un editor de texto como vi o nano y se comienza a realizar una
configuración básica para el servidor proxy de la siguiente manera. Antes de comenzar con la
configuración se recomienda realizar una copia de seguridad como se observa en la figura
siguiente
Configuración de puerto de escucha:
Práctica Servidor Proxy
Documento Confidencial
- 13 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
En esta caso el puerto para el proxy es le 3128 si esta comentada esta directiva, des
comentarla. Como se observa en la siguiente figura.
Parametro cache_mem
Es utilizada esta memoria para los objetos en tránsito, los objetos frecuentemente
utilizados y los objetos negativamente almacenados en la cache. En esta practica se
estableció un tamaño de 16Mb como se observa en la siguiente figura.
Parametro cache_dir
Especifica el tamaño en cache que se tendrá en el disco duro para squid. Para la práctica se
colocara un valor de 400Mb y se des comenta esta directiva también dentro de la directiva
se tienen otros números que se refieren al número de directorios (16) con 256 niveles cada
uno. Ver figura siguiente.
Práctica Servidor Proxy
Documento Confidencial
- 14 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Listas de control de acceso
Aquí se definen la red o direcciones ip a las cuales se les dará acceso por medio del proxy. A
estas listas se les asignara una regla de control de acceso para permitir a denegar trafico.
Para el caso en particular la red que se tienen es 10.1.1.0 255.255.255.0 y se le llama
a la lista de control de acceso laboratoriodered. Ver figura siguiente:
Reglas de control de acceso
En estas se definen el permiso a no a squid. Por tal motivo se adiciona la regla de que se
permita a la lista de control de acceso laboratoriodered acceder a squid como se observa en
la siguiente figura.
Con esta configuración básica se inicia el servicio de squid por medio del comando service como se muestra en la figura.
Despues de las configuraciones anteriores solo falta realizar pruebas.
1. En el navegador de mozilla del servidor de configura la dirección IP del proxy recién configurado y se prueba que acceda a internet. Ver figuras siguientes.
Práctica Servidor Proxy
Documento Confidencial
- 15 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Colocación de IP del servidor en el navegador
Reglas de control de acceso
En estas se definen el permiso a squid. Por tal motivo se adiciona la regla de que se permita
a la lista de control de acceso laboratoriodered acceder a squid como se observa en la
siguiente figura.
Práctica Servidor Proxy
Documento Confidencial
- 16 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Prueba de navegación
Si no se está seguro que el proxy esta funcionado se puede detener el servicio y intentar navegar desde el cliente. Ver figuras siguientes: Si no se está seguro que el proxy esta funcionado se puede detener el servicio y intentar navegar desde el cliente. Ver figuras siguientes
Práctica Servidor Proxy
Documento Confidencial
- 17 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Parando el servi-cio de squid en Red Hat por medio del comando service squid stop. Ver
figura siguiente.
En usuario XP que necesita el proxy ya no puede ingresar a internet. Ver figura.
Para realizar una análisis de y generación de reportes para squid se utiliza la herramienta
SARG (Squid
Práctica Servidor Proxy
Documento Confidencial
- 18 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Analisir Report Generator) permite ver los usuarios que van a internet a través de squid por
tal motivo procedemos a la instalación de este.
Configuracion del archivo sarg.conf
Este archivo se encuentra en /etc/sarg/sarg.conf ver figura
Lo primero que se hace es configurar el soporte de español para Sarg como se muestra en la
siguiente figura. Se des comenta la línea de lenguaje English y se coloca Spanish
Luego de esto va a permitir los computadores de donde se puede monitorear sarg para tal fin
se busca la línea allow from en /etc/httpd/conf.d/sarg.conf y se agrega la red a la cual
pertenece el servidor, squid. Ver figura
Práctica Servidor Proxy
Documento Confidencial
- 19 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Ya con las configuraciones echas solo queda mirar las reportes desde un navegador desde
un computador perteneciente a la red 10.1.1.0/24 ver figuras, colocando en el navegador
http://direccionipdelservidorquid/sarg
Página principal de SARG
Vista de maquinas conectados a squid dando click en archivo/periodo
Práctica Servidor Proxy
Documento Confidencial
- 20 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Si se quieren más detalles de un computador en específico se da click en la dirección ip del
userid y se muestra más información de las páginas visitadas por el usuario.
Práctica Servidor Proxy
Documento Confidencial
- 21 / 21 - Ing. Henry Eduardo Bastidas
Telefonos:– 315 880 81 38 [email protected]
Si se quieren más detalles de un computador en específico se da click en la dirección ip del userid y se muestra más información de las páginas visitadas por el usuario.