Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

Solucion de aceleracion y filtrado WEB

Elaborado por: Humanlinks

Tutor: Juan Camilo Lopez

CESGE SENA

Antioquia 2010

Indice

Licencia del documento Introduccion Objetivos Justificacion Terminos y definiciones Escenario de prueba Instalacion y configuracion basica del servidor proxy squid Proxy transparente Controles de acceso Aplicando reglas de filtado Concluciones

1 2 2 3 4 8 9 12 13 18 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 NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 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, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

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. Disear 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.

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 contenido 2. filtrado por direcciones IPs 3. monitorear 4. reduccion del consumo del enlace 5. anonimato 6. 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.

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

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 configuracin el proxy ejecutar cualquier peticin de cualquier ordenador que pueda conectarse a l, realizndola como si fuera una peticin del proxy. Por lo que permite que este tipo de proxy se use como pasarela para el envo masivo de correos de spam. Un proxy se usa, normalmente, para almacenar y redirigir servicios como el DNS o la navegacin 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 configuracin "abierta" a todo internet, se convierte en una herramienta para su uso indebido. Proxy ARP: es una tcnica 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 trfico capturado entonces se encamina tpicamente al anfitrin de la destinacin va otro interfaz o va 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 abreviacin de "SOCKetS". Los clientes que hay detrs 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 peticin al servidor. SOCKS puede ser usado tambin 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 lnea externa. Esquema hermano-hermano: Si establecemos una jerarqua entre hermanos , el proxy hermano slo sirve el objeto si lo tiene en cach, nunca ir a Internet a buscarlo. Esto slo 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 conexin como un slido sistema operativo, sobre el cual se colocan diversos bloques de seguridad. La composicin exacta depende de cada fabricante, o de cada modelo, pero entre estas se cuentan algunas bsicas, como el cortafuegos o la proteccin contra intrusiones y 5

otras ms o menos opcionales como antivirus, anti spam, VPN. Lo necesario para contar con una buena lnea de defensa perimetral de la empresa. ACLs : Las ACLs permiten controlar el flujo del trfico en equipos de redes, tales como enrutadores y conmutadores. Su principal objetivo es filtrar trfico, permitiendo o denegando el trfico de red de acuerdo a alguna condicin. Navegadores o browsers : es un programa que permite ver la informacin que contiene una pagina web este interpreta el cdigo, HTML generalmente, en el que est escrita la pgina web y lo presenta en pantalla permitiendo al usuario interactuar con su contenido y navegar hacia otros lugares de la red mediante enlaces o hipervnculos. La funcionalidad bsica de un navegador web es permitir la visualizacin 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 tnel sin que sea necesaria una interpretacin intermedia, el tunel queda definido por los puntos extremos y el protocolo de comunicacin 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 pginas 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 bsquedas para un grupo de gente que comparte recursos de la red,adems de aadir seguridad filtrando el trfico. Est especialmente diseado para ejecutarse bajo entornos tipo UNIX Squid ha sido desarrollado durante muchos aos 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 rpido 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 fsicas como virtuales y de las infraestructuras de computacin 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 caractersticas del Software:

Como Router BGP, OSPF, and RIP routing protocols, static routes NAT and PAT translation QoS (Quality of Service) WAN load-balancing Equal-cost multipath routing Como Firewall Stateful firewall Como VPN Remote Access VPN (PPTP, L2TP+IPsec) Site-to-Site VPN (IPsec) Aplicaciones de seguridad avanzada La deteccin y prevencin 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, grficos de seguimiento de trfico de red y VPN basada en IPSEC entre otros. en un solo paquete fcil de configurar. smoothwall viene como una distribucin compacta de linux por lo que no hay necesidad de instalar el sistema operativo aparte, adems despus 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 filosofa en la marcacin la cual es la siguiente GREEN: Quiere decir que es una conexin segura, que est en una zona segura detrs de la mquina donde tenemos instalado SmoothWall. RED: Zona externa a nuestra mquina 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 distribucin 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 extensin (fork) de la distribucin SmoothWall cuyo desarrollo haba estado congelado bastante tiempo. Pfsense : pfSense es una distribucin basada en FreeBSD, derivada de m0n0wall. Su objetivo es tener un cortafuegos (firewall) fcilmente configurable a travs de una interfase web e instalable en cualquier PC, incluyendo los miniPC de una sola tarjeta. se trata, por tanto, de una solucin bajo licencia BSD El cortafuegos forma parte del Kernel del sistema. De hecho, se trata del Packet Filter (PF) originario de OpenBSD, considerado como el sistema operativo ms seguro del mundo. Pfsense tambien trae muchas aplicaciones las cuales podemos utilizar para asegurar un poco mas nuestra red.

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 distribucin 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 diseo de red queda de la siguiente manera:

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

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 maano de la memoria cache en este caso el tamao 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

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

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 $LAN tcp from $red_lan to any port www: con protocolo tcp desde la red interna con destino hacia cualquier parte por el puerto 80/www rdr-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

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 acl Una ACL es una definicin 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 srcdomain dstdomain url_regex urlpath_regex req_mime

srcdom_regex macaddress dstdom_regex password Regla Tipo src Esta reglas especifica una o varias direccin 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 tendra 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 dts Especifica una direccin de destino en formato IP y mascara o el nombre del sitio a visitar. 13

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 resolucin 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 mquinas de nuestra red local estn 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_regex Esta regla se encarga de evaluar palabras de entrada a nuestra red, ocupndose expresiones regulares. Nomenclatura: acl [Nombre] srcdom_regex [Contenido] Ejemplo: La regla intranet anlisis todas la posibles palabras de factor en maysculas y minsculas de nuestra red local. acl intranet srcdom_regex -i factor\..* Regla Tipo dstdom_regex Esta regla se encarga de evaluar palabras de salida, ocupndose expresiones regulares. Nomenclatura acl [Nombre] dstdom_regex [Contenido] Ejemplo: La regla google_todos anlisis todas la posibles palabras de google en maysculas y minsculas. acl google_todos dstdom_regex -i google\..* 14

Regla Tipo time Esta regla estable un tiempo limite de conexin dentro de una semana. Parmetros por das de la semana: Parmetros Das S M T W H F Domingo Lunes Martes Mircoles Jueves Viernes

A Sbado En el manejo de las horas se establece un horario de 24:00 hrs Nomenclatura: acl [Nombre] time [das][horas] Ejemplo: La regla horario estable que esta habilitada los das 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_regex Permite 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: Sex xxx adult pornotube chicas porn playboy lolitas Ejemplo: Esta regla se llama porno el cual manda a llamar aun archivo que contiene palabras relacionadas a pornografa. acl porno url-regex /etc/squid/listas/porno.txt Regla Tipo urlpath_regex Esta regla nos permite la administracin de descargas por medio de la extensin de los archivos, se 15

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_mime Esta regla nos permite comprobar el tipo de peticin 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 macaddress Este 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 mquinas clientes . acl adminmac arp 09:00:2b:23:45:67 00:1f:3c:5f:fd:b1 00:1e:ec:70:7e:24 Regla Tipo password Este tipo de regla, se controla el acceso a internet por medio de un usuario y password, para poder habilitar este mtodo tendremos que hacer lo siguientes pasos de configuracin. 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)Creacin de usuario y password para el acceso a internet. [root@mantis squid]# htpasswd claves clientes

16

4) Habilitaremos las siguientes opciones dentro del fichero de configuracin del servidor squid, busquemos el primer parmetro llamado auth_param basic. #auth_param basic program <uncomment and complete this line> Este parmetro lo modificaremos de la siguiente manera. auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/claves Estamos enlazando la aplicacin que nos permitira 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 autenticacin de password. #acl password proxy_auth REQUIRED por acl password proxy_auth REQUIRED Con esto ya tendremos habilitada la regla para la autenticacin de los usuarios. Control de Acceso El 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 tendrn acceso a todo el internet. http_access allow jefes Toda los de mas clientes de la red no tendrn acceso a internet. http_access deny redlocal Dentro de la configuracin http_access, existe una expresin ! que significa no, esto permite que una regla se permitida o denegada. Es lo contrario a la primera definicin 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

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 si 2. ninguno de las 2 pc pueden entrar a hotmail facebook y al resto de pagina si 3. denegar todo el trafico por defecto y solo permitir entrar a gmail 4. que el proxy filtre por palabras claves para sitio que contengan contenido sexual. Solucion 1 acl windows src 192.168.200.33 acl youtube dst www.youtube.com acl our_networks src 192.168.200.0/24 http_access deny youtube !windows http_access allow our networks 2 acl hotmail dst www.hotmail.com acl our_networks src 192.168.200.0/24 http_access deny hotmail http_access allow our networks 3 acl gmail dst gmail.com acl our_networks src 192.168.200.0/24 http_access allow gmail http_access deny our networks 4 acl palabras url_regex /etc/squid/palabras acl our_networks src 192.168.200.0/24 http_access deny palabras http_access deny our networks

18

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

You might also like