taller proxy

20
Solucion de aceleracion y filtrado WEB Elaborado por: Humanlinks Tutor: Juan Camilo Lopez CESGE SENA Antioquia 2010

Upload: javier-cisneros

Post on 25-Jul-2015

259 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Taller Proxy

Solucion de aceleracion y filtrado WEB

Elaborado por:

Humanlinks

Tutor:

Juan Camilo Lopez

CESGESENA

Antioquia2010

Page 2: Taller Proxy

Indice

Licencia del documento 1Introduccion 2Objetivos 2Justificacion 3Terminos y definiciones 4Escenario de prueba 8Instalacion y configuracion basica del servidor proxy squid 9Proxy transparente 12Controles de acceso 13Aplicando reglas de filtado 18Concluciones 19

Licenciamiento del documento

Copyright (c) 2010, Andry Arroyave

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

• Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

• Neither the name of the Humanlinks nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOTLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FORA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER ORCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDINGNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

1

Page 3: Taller Proxy

Introduccion

Esta guia parte de la importancia que tienen los servidores proxies hoy en dia en nuestras redes, siendo esta una gran herramienta que nos pueden servir para diferentes implentaciones. Las motivos de las implementaciones mas frecuentes son; agregarle un grado mas de seguridad a nuestra red, politicas de filtrado de contenido, Web cache, entre otros. lo que buscamos con la siguiente guia es brindar un conocimiento basico con el cual podamos empezar en el mundo de los servidores proxies, primero tendremos unos terminos y definiciones que sirven para tener conceptos mas claros de lo que estamos hablando, posteriormente definiremos el escenario en el cual vamos a trabajar, despues abordaremos el tema de la intalacion y trabajaremos algunas configuraciones basicas hasta llegar a temas como las ACLs. esta guia busca tener un servidor proxy que tenga aceleracion web cache que sea transparente para los clientes y que ademas permita hacer un filtrado de contenido muy pero muy basico

Objetivos

Conocer terminos y definiciones en el ambito en el cual trabajan los proxy, Para conocer que tipos de proxies existen y poder identificar cuales son sus principales caracteristicas. Partiendo de estas bases podemos identificar que tipos de proxies y configuraciones son las que necesitamos en nuestros trabajos o porque no en nuestros hogares.

Diseñar un escenario tipico en el cual podemos aprender a instalar y configurar los diferente parametros hasta llegar a obtener una solucion de proxy web/cache con filtrado de contenido y que sea transparente para nuestro clientes.

2

Page 4: Taller Proxy

Justificacion

El presente trabajo parte de la importancia que tiene el internet hoy en dia. Para las empresas internet puede ser su gran aliado en cuanto a ofrecer sus servicios via web, mantenerse al dia con noticias referentes al sector, nuevos productos, buscar nuevos horizontes de negocio, mantener en contacto con sus cliente, provedores y personal. Mejor dicho internet a las empresas trae un sinfin de beneficios. Pero tambien puede ser unos de sus principales dolores de cabeza, entre los cuales podemos encontrar: descargas de videos, musica, programas, visitas a paginas de redes sociales, chat, juegos y porno etc...Todo esto lo podemos traducir a palabras como: Virus, perdida deliberada de tiempo en los empleados, degradacion de la velocidad del enlace, delicuentes informaticos (espionaje industrial), etc...

Bajo las circustancias anteriormente mencionadas nosotros empezamos a buscar soluciones a todos estos problemas. Es aqui donde nos encontramos con los proxy. El proxy es un de nuestros aliados frente a todos aquellos dolores de cabeza, ya que este trae una serie de beneficios, solo mencionare algunas como:

1. filtrado de contenido2. filtrado por direcciones IPs3. monitorear 4. reduccion del consumo del enlace5. anonimato6. seguridad

Algo a aclara es que estos y muchos mas beneficios dependeran del software (proxy) que utilizemos tambien del hardware que tengamos disponible y el dinero que estemos dispuesto a invertir.

3

Page 5: Taller Proxy

Terminos y definiciones

Para los terminos y definiciones nos vamos apoyar un poco en nuesta gran amiga la wikipedia y otro sitios web.

Seguridad Perimetral: es un conjunto de elementos y sistemas, tanto electronicos como mecanicos para la proteccion del perimetro fisico. El perimetro es el limite que tenemos entre estar afuera o adentro ejemplo: los muros, puertas y ventanas de nuestra casas que dan hacia afuera nos marcan el perimetro de esta. La correcta implementacion nos permite la deteccion de tentativas de intruciones y/o disuacion de intrusos. Pero recordemos que cuando hablamos de seguridad perimetral en un contexto de redes tambien debemos de contrar con la proteccion del perimetro logico ya que este es un poco mas complejo. Para proteger el perimetro fisico podemos se utiliza:Puertas, muros, camaras, detectores de movimiento, smartcards, alarmas etc...para proteger el perimetro logico podemos implementar:IDS, IPS, Firewall, Proxy, VPN, etc...

Proxy : es un programa o dispositivo trabaja en la capa 7 del modelo OSI este es el que realiza una accion en reprentacion de otro, su proposito es permitir el acceso internet a todos los equipos de una organizacion, cuando navegamos a travez de un proxy, nosotros en realizadad no estamos accediendo directamente al servidor sino que realizamos la solicitud al proxy y este es quien se conecta con el servidor el servidor de devuelve la solicitud al proxy y posteriormente nos la envia a nosotros.

Proxy web / proxy de cache WEB : su aplicacion es mas especifica. Se utiliza para el acceso solo a la WEB. Este me permite o deniega las consultas a ciertas paginas web. Este proxy tambien proporciona una caracteristica la cual se conoce como cache para las paginas web y los contenidos descargados, la cual consiste en mejorar los tiempos de acceso para las consultas que fueron hechas posteriormente, el proxy guarda las consulta en su cache local para cuando otro cliente consulte la misma pagina, el proxy busca en su cache resolviendo asi la consulta, se estaria ahorrando tiempo y tambien liberando de carga los enlaces hacia internet. Nota: existen proxy para cada servicio o protocolo que deseamos

Proxy transparente : este combina un proxy con NAT(Network Address Tranlation) de manera que la conexiones son enrutadas dentro del proxy sin que se haga ninguna configuracion por parte del cliente y habitualmente sin que el mismo cliente conozca de su existencia. Porque cuando el usuario configura el proxy manualmente este puede evadir el proxy cambiando simplemente la configuracion.

Reverse proxy / proxy inverso : este proxy se intala cerca o antes de que llegen las consulta a los servidores web, con el fin, de que todo el trafico entrante de internet y con destino a cualquiera de los servidores pase atravez del servidor proxy, esto le brinda a una mayor proteccion a los servidores web

4

Page 6: Taller Proxy

ademas este puede distribuir la carga entre diferentes servidores web tambien pueden ayudar a los servidores web almacenando imagenes u otro contenido grafico.

Proxy abierto o anonimo : este tipo de proxy que acepta peticiones desde cualquier ordenador, este o no este 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 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.

Proxy ARP: es una técnica para usar ARP para proporcionar mecanismos de enrutamiento un dispositivo de varios puertos, como un router que implemente proxy ARP respondera a las peticiones de ARP en una interfaz como delegado o encargado de las direcciones de un dispositivo de otra interfaz el dispositivo puede entonces recibir y remitir paquetes dirigido a los demas dispositivos. El tráfico “capturado” entonces se encamina típicamente al anfitrión de la destinación vía otro interfaz o vía a tunel. Un ejemplo en el cual se puede aplicar es cuando tenemos un unico punto de falla para el proxy y queremos agregar otro proxy para cuando uno falle el otro entre en funcionamiento. Podemos implementar proxy ARP para colocarle la misma direccion IP a los 2 proxy y que no halla ningun conflicto ya que se basa en la direcciones MAC.

Proxy SOCKS: es un protocolo de internet que permite a las aplicaciones cliente servidor usar de manera transparente los servicios de un firewall de red. SOCKS es una abreviación de "SOCKetS".Los clientes que hay detrás de un firewall, los cuales necesitan acceder a los servidores del exterior, pueden conectarse en su lugar a un servidor proxy SOCKS. Tal servidor proxy controla que cliente puede acceder al servidor externo y pasa la petición al servidor. SOCKS puede ser usado también de la forma contraria, permitiendo a los clientes de fuera del firewall conectarse a los servidores de dentro del firewall.

Esquema padre-hijo: si establecemos una jerarquia padre-hijo el padre debe proporcionar el objeto pedido tanto si está en la caché como si no lo está. Para utilizar el proxy-cache padre este tiene que darnos permiso para utilizar su línea externa.

Esquema hermano-hermano: Si establecemos una jerarquía entre hermanos , el proxy hermano sólo sirve el objeto si lo tiene en caché, nunca irá a Internet a buscarlo. Esto sólo es útil para redes con proxys en el mismo nivel.

Appliance : Los dispositivos integrados de seguridad, o appliances, son elementos robustos que integran tanto el hardware de conexión como un sólido sistema operativo, sobre el cual se colocan diversos bloques de seguridad. La composición exacta depende de cada fabricante, o de cada modelo, pero entre estas se cuentan algunas básicas, como el cortafuegos o la protección contra intrusiones y

5

Page 7: Taller Proxy

otras más o menos opcionales como antivirus, anti spam, VPN. Lo necesario para contar con una buena línea de defensa perimetral de la empresa.

ACLs : Las ACLs permiten controlar el flujo del tráfico en equipos de redes, tales como enrutadores y conmutadores. Su principal objetivo es filtrar tráfico, permitiendo o denegando el tráfico de red de acuerdo a alguna condición.

Navegadores o browsers : es un programa que permite ver la información que contiene una pagina web este interpreta el código, HTML generalmente, en el que está escrita la página web y lo presenta en pantalla permitiendo al usuario interactuar con su contenido y navegar hacia otros lugares de la red mediante enlaces o hipervínculos. La funcionalidad básica de un navegador web es permitir la visualización de documentos de texto, posiblemente con recursos multimedia incrustados. Algunos navegadores mas famosos son: firefox, internet explorer, chrome, opera y safari entre otros.

Tuneling : esta tecnica consiste en encapsular un protocolo de red sobre otro (protocolo de red encapsulador) creando un tunel dentro de la red de computadoras, con el objetivo de transmitirla desde un extremo al otro del túnel sin que sea necesaria una interpretación intermedia, el tunel queda definido por los puntos extremos y el protocolo de comunicación empleado, un ejemplo de este es las conexiones VPNs o SSH.

Squid : es un popular programa de software libre que implementa un servidor prox y un dominio para cache de páginas web, con licencia GPL. Una de sus utilidades es la de acelerar el tiempo de respuesta de un servidor web, guardando en cache peticiones repetidas a DNS y otras búsquedas para un grupo de gente que comparte recursos de la red,además de añadir seguridad filtrando el tráfico. Está especialmente diseñado para ejecutarse bajo entornos tipo UNIXSquid ha sido desarrollado durante muchos años y se le considera muy completo y robusto. Aunque orientado a principalmente a HTTP y FTP es compatible con otros protocolos. Implementa varias modalidades de cifrado como TLS, SSL, y HTTPS.

ISA Server : Internet Security and Acceleration (ISA) Server. es el gateway integrado de seguridad perimetral que le permite proteger su entorno de TI frente a amenazas procedentes de Internet y proporciona a sus usuarios un acceso remoto seguro y rápido a sus aplicaciones y datos.

Vyatta : es open source con un enfoque basado en software para las redes por esto se decidió crear un sistema operativo completo para redes que se puede conectar y asegurar las redes físicas como virtuales y de las infraestructuras de computación en nube. Esta es una solucion escalable, integrado para redes de clase empresarial que ofrece funcionabilidad avanzada de enrutamiento y seguridad de la red, este incluye firewall, enrutamiento dinamico , VP.N, proteccion contra amenzas, gestion del trafico. La arquitectura en la que trabaja es x86, tiene una CLI y GUI basada en web.Principales características del Software:

6

Page 8: Taller Proxy

Como RouterBGP, OSPF, and RIP routing protocols, static routesNAT and PAT translationQoS (Quality of Service)WAN load-balancingEqual-cost multipath routing

Como FirewallStateful firewallComo VPNRemote Access VPN (PPTP, L2TP+IPsec)Site-to-Site VPN (IPsec)

Aplicaciones de seguridad avanzadaLa detección y prevención de intrusiones (Snort)Anti-virus capabilities (ClamAV)

Smoothwall : es un sistema operativo que proporciona servicios de firewall, enrutamiento, NAT, Logging server, DNS Proxy server, SSH, IDS, gráficos de seguimiento de tráfico de red y VPN basada en IPSEC entre otros. en un solo paquete fácil de configurar. smoothwall viene como una distribución compacta de linux por lo que no hay necesidad de instalar el sistema operativo aparte, además después de instalado todas las tareas administrativas se realizan desde una interfaz web desde cualquier computadora conectada al servidor.SmoothWall al igual que IPCop tienen una filosofía en la marcación la cual es la siguiente

• GREEN: Quiere decir que es una conexión segura, que está en una zona segura detrás de la máquina donde tenemos instalado SmoothWall.

• RED: Zona externa a nuestra máquina son SW, puede ser externa de estar conectada a un router monopuesto o multipuesto como me ha pasado a mí.

• ORANGE: Zona DMZ. Zona Desmilitarizada, es decir, otro segmento de nuestra Red que donde se suelen alojar los servidores de servicios

• PURPLE: Creo que es una zona dedicada a interfaces WiFi.

IPcop : es una distribución de Linux orientada a cortafuegos. Tambien trae muchas algunas aplicaciones como las de smoothwall. los paquetes y servicios que se instalan. Es liberada bajo licencia GPL. Originalmente nació como una extensión (fork) de la distribución SmoothWall cuyo desarrollo había estado congelado bastante tiempo.

Pfsense : pfSense es una distribución basada en FreeBSD, derivada de m0n0wall. Su objetivo es tener un cortafuegos (firewall) fácilmente configurable a través de una interfase web e instalable en cualquier PC, incluyendo los miniPC de una sola tarjeta. se trata, por tanto, de una solución bajo licencia BSDEl cortafuegos forma parte del Kernel del sistema. De hecho, se trata del Packet Filter (PF) originario de OpenBSD, considerado como el sistema operativo más seguro del mundo. Pfsense tambien trae muchas aplicaciones las cuales podemos utilizar para asegurar un poco mas nuestra red.

7

Page 9: Taller Proxy

Escenario de prueba

Para esta prueba vamos a utilizar varias maquinas virtuales, en una ellas vamos a tener el sistema operativo OpenBSD ejecutando la aplicacion squid que es la que permite hacer las funciones de servidor proxy tambien en esa misma maquina virtual vamos a tener 2 interfaces de red, las cuales son; 1 para la red interna (LAN) y la otra es la que nos va a conectar a internet (WAN). Con el fin, de que cuando la LAN envie una peticion hacia la WAN tenga que pasar por nuestro servidor proxy, para que este tome las decision de permitir o denegar el trafico segun su contenido y/o reglas que hallamos preestablecio, recordemos que si permite el trafico el servidor proxy inmediatamente hace la peticion por nosotros hacia WAN, despues este mismo es el que la recibe y nos hace llegar la peticion.Las otras 2 maquinas virtuales las vamos a utilizar como clientes desde los cuales haremos las pruebas, uno de los cliente va hacer un S.O con windows XP y la otra una distribución de linux (Ubuntu). Pero a manera de aclaracion quiero decir que esta guia solo se basa en la instalacion y configuracion de la aplicacion de proxy squid, las configuraciones que hice posteriomente no seran parte de esta guia como ejemplo; la puesta en marcha del OpenBSD, servicio DCHP para dar direcciones a los clientes, reenvio de paquetes entre interfaces etc... si quieres aprender mas hacerca de OpenBSD les recomiendo el sitio web www. openbsdcolombia .org alli podran encontrar documentacion referente a OpenBSD. Entonces nuestro diseño de red queda de la siguiente manera:

8

Page 10: Taller Proxy

Instalacion y configuracion basica del servidor proxy squid

Antes de empezar con la instalacion debemos primero aclarar que para instalar paquetes en OpenBSD lo debemos hacer con la herramienta pkg, que es el metodo mas recomendado para instalar paquetes, hay que tener muy encuenta que si vamos a instalar cualquier paquete se debe de tener una consistencia entre los paquetes y la version de OpenBSD, esto quiere decir que como nosotros tenemos la version 4.7 de OpenBSD debemos instalar los paquetes adecuados para esta version, de lo contrario vamos a tener conflictos. Para esto existen unos mirros en los cuales podemos encontrar los paquetes que necesitamos y dependiendo de la version que tengamos exportaremos sus rutas.

En nuestro caso el mirror que utilizaremos es el siguiente:export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.7/packages/i386/

Como podemos ver en la direccion vamos a utilizar los paquetes que son para la version 4.7 y tambien para la arquitectura que tengamos.

Ahora si vamos a instalar la aplicacion squid con el comando pkg_add pero squid trae varias versiones como podemos ver en la imagen, nosotros seleccionamos la que aparecen como opcion 1.

Cuando termina la instalacion nos muestra algo como lo que vemos en la imagen. Que nos dice que recordemos iniciar la cache con el comando “squid -z” antes de poner a correr el squid. Tambien nos dice que podemos editar el archivo /etc/rc.local para que el squid pueda iniciar automaticamente con el sistema.

Antes de que se me olvide voy a editar el archivo /etc/rc.local para que el squid me inicie automaticamente para esto solo tenemos que poner la sentencia que nos recomendan en la imagen

9

Page 11: Taller Proxy

anterior.

El fichero de configuracion de squid lo encontramos en la ruta /etc/squid/squid.conf este lo vamos a configurar segun nuestra necesidades y requerimiento de seguridad. Vamos a configurar algunos parametros minimos para que empezar a utilizarlo

verificamos que el squid tenga el puerto 3128 descomentado, o si quieremos utilizar otro puerto entonces se lo debemos especificar

Por defecto squid en la siguiente linea esta especificado el mañano de la memoria cache en este caso el tamaño maximo es de 500Mb

Para que Squid loguee la actividad es necesario descomentar la siguiente linea, esta habilita un formato de logs para que se mas facil de entender ademas tambien con este formato puede utilizar sarg para que me analize y me haga reporter de los logs

ya que definimos el formato en el cual se guardaran los logs ahora vamos a definir las rutas de los archivos en los que se guardaran los logs, para esto tenemos que descomentar las siguiente lineas:

Ahora vamos a ejecutar el siguiente comando que es el que nos permite crear las carpetas de la cache.

Cuando queramos hacer cambios en la configuracion del squid sin pararlo, basta con modificar los archivos de configuracion y luego usar el comando.

10

Page 12: Taller Proxy

Si llegase el caso de que necesitemos limpiar la cache. Podemos hacer el siguiente procedimiento.

Hasta este momento ya tenemos nuestro servidor proxy instalado y configurado con unas opciones basica dentro de estas opciones se encuentra el proxy sin ninguna restriccion.

Vamos a realizar un prueba con el windows XP, abrimos el navegador web en el menu herramienta > opciones de internet > conexiones > configuracion de LAN y alli dentro configuramos el proxy, este quedara de la siguiente manera y por ultimo clic en aceptar

navegamos a google

11

Page 13: Taller Proxy

por ultimo voy a mirar los logs de acceso del servidor proxy este se encuentra en la ruta /var/squid/logs/access.log. Recordemos que para visualizar los archivos de logs los hacemos el comando tail -f, en la imagen que hay una consulta a google

Proxy transparente

Como explicamos anteriormente uno de los grandes beneficios del proxy transparente es que los clientes no se enteren de la existencia de este para evitar que empiecen a buscar tecnicas para saltarsen el proxy, como tambien nos ahorra la laboriosa tarea de ir a configurar la direccion y puerto en cada uno de los computadores ademas de concientizar a las personal evitando llamadas a la mesa de ayuda.

La configuracion que realizaremos no la haremos directamente en el servidor proxy, sino que la tenemos que hace en el packet filter. Packet filter el firewall de OpenBSD entonces la configuracion la tenemos que hacer en el archivo de configuracion /etc/pf.conf

vamos a ingresar la linea que vemos siguiente imagen. Voy a explicar un poco la regla:

pass in on $LAN : quiere todo el trafico que entre en la interfaz $LANtcp from $red_lan to any port www: con protocolo tcp desde la red interna con destino hacia cualquier parte por el puerto 80/wwwrdr-to 127.0.0.1 port 3128 : lo redireccione a mi por el puerto 3128 que es el que tiene configurado el proxy

despues vamos a editar el archivo de configuracion squid.conf y donde esta en numero de puerto ponermos transparent

y ahora procedemos a quitarle la direcion del proxy en el windows XP

12

Page 14: Taller Proxy

Controles de acceso

Una de las caracteristicas mas importantes del servidor proxy squid es la de poder establecer reglas de control de acceso las cuales nos permiten tener control de todos lo paquetes de la red. En estas listas de control yo puedo definir reglas de filtrado ya sea para permitir o denegar el acceso a la red o internet. Tambien puedo especificar que direcciones de red, dominios o contenidos a filtrar.

El siguiente tutorial sobre listas de control de acceso y el control de acceso fue recopilado del sitio web http://www2.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/wiki/Base%20de%20Conocimiento/Servidor+Proxy

fue la mejor explicacion que encontre para este tema y quise darle un merito a su autor, al poner su explicacion en esta guia tal cual el lo escribio.

Reglas aclUna ACL es una definición de control de acceso, que utiliza squid para especifica mediante el, existen varios tipos de reglas ACL que comentaremos en la tabla.

src time

dts url_regex

srcdomain urlpath_regex

dstdomain req_mime

srcdom_regex macaddress

dstdom_regex password

Regla Tipo srcEsta reglas especifica una o varias dirección IP de origen o un segmento de red con su mascara de red. Nomenclatura: acl [Nombre] src [Contenido]

Ejemplos: 1) El nombre de la regla es llamada redlocal la cual tendría asignada un segmento de red 192.168.1.0 a 24 bits. acl redlocal src 192.168.1.0/24

2) Esta regla es llamada jefes de los cuales solamente se le proporcionan algunas IP de nuestro segmento de red. acl jefes src 192.168.1.10 192.168.1.20

3) Esta regla que se llama sistemas en la cual manda a llamar al archivo permitidos el cual se encuentra en /etc/squid, contiene las IP de la gente que trabaja en el area de sistemas. acl sistemas src “/etc/squid/permitidos”

Regla Tipo dtsEspecifica una dirección de destino en formato IP y mascara o el nombre del sitio a visitar.

13

Page 15: Taller Proxy

Nomenclatura: acl [Nombre] dts [Contenido]

Ejemplos: 1)En esta regla es llamada webmail la cual contendrá como destino final las direcciones de webmail mas conocidos de internet. acl webmail dst www.gmail.com www.hotmail.com www.yahoo.com

2)En esta regla es llamada iplocales la cual contendrá algunas de la IP de nuestro segmento de red. acl iplocales dst 192.168.1.109 192.168.1.103

Regla Tipo srcdomain.La regla de tipo srcdomain se establecen permisos sobre dominios web de origen y se determina por la resolución de DNS inversa. Para poder ocupar esta regla es necesario contar un DNS local. Nomenclatura: acl [Nombre] srcdomain [Contenido]

Ejemplo: La regla repos indica que máquinas de nuestra red local están agregadas a la misma. acl repos srcdomain repoubu.dyndns.net repodeb.dyndns.net repocen.dyndns.net

Regla Tipo dstdomain La regla de tipo dstdomain se establecen permisos sobre dominios web de destino. Nomenclatura: acl [Nombre] dstdomain [Contenido]

Ejemplo: La regla permitos indicamos que dominios pueden estan hacia la salida a internet acl pemitidos dstdomain .linuxparatodos.net .factor.com.mx .eluniversal.com .reforma.com

Regla Tipo srcdom_regexEsta regla se encarga de evaluar palabras de entrada a nuestra red, ocupándose expresiones regulares. Nomenclatura: acl [Nombre] srcdom_regex [Contenido]

Ejemplo: La regla intranet análisis todas la posibles palabras de factor en mayúsculas y minúsculas de nuestra red local. acl intranet srcdom_regex -i factor\..*

Regla Tipo dstdom_regexEsta regla se encarga de evaluar palabras de salida, ocupándose expresiones regulares. Nomenclatura acl [Nombre] dstdom_regex [Contenido]

Ejemplo: La regla google_todos análisis todas la posibles palabras de google en mayúsculas y minúsculas. acl google_todos dstdom_regex -i google\..*

14

Page 16: Taller Proxy

Regla Tipo timeEsta regla estable un tiempo limite de conexión dentro de una semana. Parámetros por días de la semana:

Parámetros Días

S Domingo

M Lunes

T Martes

W Miércoles

H Jueves

F Viernes

A Sábado

En el manejo de las horas se establece un horario de 24:00 hrs Nomenclatura: acl [Nombre] time [días][horas]

Ejemplo: La regla horario estable que esta habilitada los días Lunes a Viernes de 09:00 a 18:00 hrs. acl horario time MTWHF 09:00-18:00 Esta regla es muy útil en las escuelas, universidades ya que con esto podemos tener un control de horarios en laboratorios.

Regla Tipo url_regexPermite especificar expresiones regulares para comprobar dicha url, a este tipo de regla se recomienda tener un archivo en cual agregamos todas la palabras que nosotros creamos que importantes. Nomenclatura: acl [Nombre] url_regex “Path”

Ejemplo de archivo porno.txt: Sexxxxadultpornotubechicaspornplayboylolitas

Ejemplo: Esta regla se llama porno el cual manda a llamar aun archivo que contiene palabras relacionadas a pornografía. acl porno url-regex “/etc/squid/listas/porno.txt”

Regla Tipo urlpath_regexEsta regla nos permite la administración de descargas por medio de la extensión de los archivos, se

15

Page 17: Taller Proxy

recomienda tener Nomenclatura: acl [Nombre] urlpath_regex “Path” Ejemplo de archivo extensiones.txt: \.avi$\.mpg$\.mpeg$\.avi$\.flv$\.exe$\.bat$\.zip$\.mp3$

Ejemplo: Esta regla se llama extensiones la cual administrara las descargas por medio de la extensiones de los archivos. acl extensiones urlpath_regex “/etc/squid/listas/extensiones.txt”

Regla Tipo req_mimeEsta regla nos permite comprobar el tipo de petición mime que realiza un cliente. Nomenclatura: acl [Nombre] req_mime “mime”

Ejemplo: Esta regla se llame MSN la cual contiene el mime del mensajero MSN. acl MSN req_mime type application/x-msn-messenger

Regla Tipo macaddressEste tipo de regla nos permite administrar squid por medio de Mac Address. Nomenclatura: acl [Nombre] arp “Mac Address” Ejemplo: Esta regla se llama adminmac en la cual nosotros proporcionamos las Mac Address de las máquinas clientes . acl adminmac arp 09:00:2b:23:45:67 00:1f:3c:5f:fd:b1 00:1e:ec:70:7e:24Regla Tipo password

Este tipo de regla, se controla el acceso a internet por medio de un usuario y password, para poder habilitar este método tendremos que hacer lo siguientes pasos de configuración. 1) Creamos el archivo que contendrá las claves.[root@mantis squid]# touch claves

2) Le asignamos permisos de Lectura/Escritura y el usuario encargado del archivo. [root@mantis squid]# chmod 600 claves[root@mantis squid]# chown squid.squid claves

3)Creación de usuario y password para el acceso a internet. [root@mantis squid]# htpasswd claves clientes

16

Page 18: Taller Proxy

4) Habilitaremos las siguientes opciones dentro del fichero de configuración del servidor squid, busquemos el primer parámetro llamado auth_param basic.

#auth_param basic program <uncomment and complete this line>

Este parámetro lo modificaremos de la siguiente manera. auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/claves

Estamos enlazando la aplicación que nos permitiría autenticarnos y en donde se encuentra el archivo donde se encuentran las cuentas de los usuarios. acl password proxy_auth REQUIRED

5) Por ultimo tendremos que habilitar la regla acl encargada de la autenticación de password.

#acl password proxy_auth REQUIRED por acl password proxy_auth REQUIRED

Con esto ya tendremos habilitada la regla para la autenticación de los usuarios.

Control de AccesoEl control de acceso define si se permite o deniega el acceso a las reglas para que empecemos a crear el filtrado. Nomenclatura: http_access allow/Deny Regla

Ejemplo: Como sabemos la regla jefes contendrá la IP de la personas encargadas de cada area de la empresa y tendrán acceso a todo el internet. http_access allow jefes

Toda los de mas clientes de la red no tendrán acceso a internet. http_access deny redlocal

Dentro de la configuración http_access, existe una expresión “!” que significa no, esto permite que una regla se permitida o denegada. Es lo contrario a la primera definición del control de acceso.

Ejemplo: Esta regla permite navegar a todo la red en un horario de 09:00 a 18:00 Hrs y solamente a la paginas permitidas por el administrador. Pero no pueden entrar hacia los otros recursos de internet. http_access deny redlocal !horario !permitidos

17

Page 19: Taller Proxy

Aplicando reglas de filtado

Ahora lo que vamos a aplicar algunas de las reglas que aprendimos anteriomente para ellos vamos a definir algunas entradas como:

1. la pc windows puede entrar a youtube y el Linux no pero a las otras paginas si2. ninguno de las 2 pc pueden entrar a hotmail facebook y al resto de pagina si3. denegar todo el trafico por defecto y solo permitir entrar a gmail4. que el proxy filtre por palabras claves para sitio que contengan contenido sexual.

Solucion 1 acl windows src 192.168.200.33acl youtube dst www.youtube.com acl our_networks src 192.168.200.0/24

http_access deny youtube !windowshttp_access allow our networks

2acl hotmail dst www.hotmail.com acl our_networks src 192.168.200.0/24

http_access deny hotmailhttp_access allow our networks

3 acl gmail dst gmail.comacl our_networks src 192.168.200.0/24

http_access allow gmailhttp_access deny our networks

4acl palabras url_regex “/etc/squid/palabras”acl our_networks src 192.168.200.0/24http_access deny palabrashttp_access deny our networks

18

Page 20: Taller Proxy

Concluciones

La finalidad de esta guia es fortalezer nuestro conocimiento frente al tema expuesto. Uno de los temas que mas me impacto y que esta fuera de este guia es el firewall (packet filter) de OpenBSD, porque las sentecias para filtrar son muy faciles de entender y aplicar, lo malo es que en la nueva version de OpenBSD cambiaron la sintaxis y cuando nos encontramos consultadon sobre este tema existen mucha documentacion con la sintaxis vieja entonces es un poco frustrante sentir que ninguno de esa documentacion nos sirve. Hasta despues de un buen rato entender cual es el problema. Tambien hace poco empeze con OpenBSD y la motivacion hasta ahora es bastante alta, ya que me distribucion vale la pena ya que en realidad es muy facil de usar. Asi pues, les hago la invitacion para que se animen a utilizarlo y a enamorarsen.

Ya entrando en materia otra vez es muy importante conocer las diferentes configuraciones de los proxies para entender como funcionan y asi poder asimilar cual solucion es la que necesitamos para nuestra red. Nosotros escojimos la aplicacion squid porque es una de las mas antiguas y estables que existen en el mundo de los proxies. Aprender a hacer configuraciones basicas en los proxies cada vez nos alienta mas a ir avanzando es nuevos niveles de aprendizaje. Los cuales en el futuro se nos va haber retribuido.

19