Resumen squid

985 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
985
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Resumen squid

  1. 1. Resumen SquidLa palabra proxy significa intermediario en inglés. Un proxy, en una red informática, es unprograma o dispositivo que realiza una acción en representación de otro, esto es, si unahipotética máquina A solicita un recurso a una C, lo hará mediante una petición a B; Centonces no sabrá que la petición procedió originalmente de A. Está situación estratégica depunto intermedio suele ser aprovechada para soportar una serie de funcionalidades:proporcionar caché, control de acceso, registro del tráfico, prohibir cierto tipo de tráficoetcétera.De ellos, el más famoso es el servidor proxy web (comúnmente conocido solamente como«proxy»).Intercepta la navegación de los clientes por páginas web, por varios motivos posibles:seguridad, rendimiento, anonimato, etc.Tipos de proxy:• proxy local: En este caso el que quiere implementar la política es el mismo que hace lapetición. Por eso se le llama local. Suelen estar en la misma máquina que el cliente que hacelas peticiones. Son muy usados para que el cliente pueda controlar el tráfico y puedaestablecer reglas de filtrado que por ejemplo pueden asegurar que no se revela informaciónprivada (Proxys de filtrado para mejora de la privacidad).• Proxy externo: El que quiere implementar la política del proxy es una entidad externa. Poreso se le llama externo. Se suelen usar para implementar cacheos, bloquear contenidos,control del tráfico, compartir IP, etc.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 losderechos 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 parahacer esa funcionalidad. Ejemplos de recursos necesarios para hacer la función pueden ser lacapacidad 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ánprohibidas.• Modificación. Como intermediario que es, un proxy puede falsificar información, omodificarla siguiendo un algoritmo.• Anonimato. Si todos los usuarios se identifican como uno sólo, es difícil que el recursoaccedido pueda diferenciarlos. Pero esto puede ser malo, por ejemplo cuando hay que hacernecesariamente la identificación.
  2. 2. DesventajasEn 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 responderlas, es posibleque haga algún trabajo que no toque. Por tanto, ha de controlar quién tiene acceso y quién noa sus servicios, cosa que normalmente es muy difícil.• 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 quererpasar 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 antiguacuando hay una más reciente en el recurso de destino. En realidad este problema no existe conlos servidores proxy actuales, ya que se conectan con el servidor remoto para comprobar quela 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 enmuchos escenarios, en concreto los que presuponen una comunicación directa entre 1 emisory 1 receptor (como TCP/IP).SQUID permite realizar autenticación mediante diferentes métodos, Basic, Digest y NTLM.Estos métodos especifican como SQUID recibe el nombre de usuario y la clave desde losclientes. Por cada método, SQUID provee varios módulos de autenticación (helpers) que seránlos encargados de realizar la validación (NCSA, PAM, SASL, YP y SMB). Aquí veremos comoconfigurar Basic utilizando el modulo NCSA.Creación de usuariosDesde la línea de comandos, creamos un archivo en el directorio /etc/squid/claves: #touch/etc/squid/claves y luego los usuarios:# htpasswd2 /etc/squid/claves usuario1Luego se solicitaría la clave y la confirmación de la misma. Hay que tener en cuenta quehtpasswd2Debe estar instalado (pertenece a Apache2).5ConfiguraciónEn el archivo /etc/squid/squid.conf se debe configurar el tipo de autenticación (basic), la rutadel modulo NCSA y la ruta del archivo que contiene los usuarios y sus passwords.auth_param basic program /usr/sbin/ncsa_auth /etc/squid/claves
  3. 3. Luego se debe crear una acl que al ser invocada en una regla de control de acceso solicitara elusuario y la clave: acl con_clave proxy_auth REQUIRED Para comprender como se utiliza la aclque definimos veremos un ejemplo. Si se desea que todas lasPersonas que accedan al sitio www.ociosos.com ingresen un usuario y clave, y que para elresto de las paginas no haya restricción alguna:acl all src 0.0.0.0/0.0.0.0acl ocio dstdomain www.ociosos.comacl con_clave proxy_auth REQUIREDhttp_access allow ocio con_clavehttp_access allow allSi en cambio, quisieramos que para navergar por el proxy todos los usuarios de la red tenganque ingresar usuario y clave, dentro de las reglas de control de accesso basta con poner:http_access allow all con_claveLa combinación de diferentes acl nos otorga gran flexibilidad, teniendo en cuenta queagregando a cualquier regla de control de accesso la acl con_clave obligamos a validar contraSQUID para permitir el acceso a un determinado sitio, ip, en alg´un rango horario, etc.Autenticación por grupos La autenticación que vimos en el punto anterior tiene unadeficiencia, supongamos que quisiéramos subdividir un cierto grupo de usuarios para quetengan diferentes permisos de acceso a sitios web. Por ejemplo, el grupo de comunicacióndeberá poder acceder a leer los diarios, no así el grupo de desarrollo que solo tiene permitidoingresar al sitio www.lawebdelprogramador.com. Con lo visto anteriormente no podríamoshacerlo ya que tenemos todos los usuarios y sus correspondientes claves en un mismo archivo.Para solucionar este inconveniente deberíamos realizar pequeñas modificaciones a las listas deControl de acceso. La definición de los usuarios con sus claves ser´a exactamente igual que enel punto anterior, a diferencia que ahora podremos definir en un nuevo archivo los usuariosque pertenecen a un determinado grupo. Con el siguiente ejemplo quedaría mas claro.acl all src 0.0.0.0/0.0.0.0acl diario dstdomain www.litoral.com.aracl web_programar dstdomain www.lawebdelprogramador.comacl con_clave proxy_auth REQUIREDacl comunicacion proxy_auth ‘‘/etc/squid/comunicacion’’acl desarrolladores proxy_auth ‘‘/etc/squid/desarrolladores’’http_access allow desarrolladores web_programar
  4. 4. http_access allow comunicacion diarioCada usuario que pertenezca a un grupo deber´a encontrarse en una ´unica linea ya sea para elgrupo de comunicación ( /etc/squid/comunicacion) como para el grupo de desarrolladores(/etc/squid/desarrolladores). Y también debería estar creado mediante el comando htpasswd2 al igual que en el puntoanterioren /etc/squid/claves.En conclusi´on, todos los usuarios por m´as que pertenezcan a diferentes grupos deben sercreados enun archivo utilizando htpasswd2, la divisi´on de grupos se realizar´a guardando los nombres delosusuarios en diferentes archivos, uno por linea y luego se aplicar´an como se vio en el ejemplomediantelas acl y las reglas de control de acceso (http_access ).63.5. Verificaci´on de logsSQUID almacena en el directorio /var/log/squid informaci´on sobre los accesos, di´alogos conotrosservidores SQUID, etc. Existen varios archivos de logs, el que nos brinda informaci´on sobre elaccesoal servidor es access.log. Cuando se entrega a un cliente un objeto que se encontrabaalmacenado, seproduce un HIT y si el objeto debe ser consultado hacia internet entonces es un MISS.El analisis de los logs por lo general se realiza con herramientas de software independientes deSQUID.Dos de las m´as utilizadas son SARG (Squid Analysis Report Grpahics) y Webalizer, las mismasgeneranreportes gr´aficos con estad´ısticas en un archivo html. Son una excelente herramienta parallevar uncontrol detallado sobre la utilizaci´on de la navegaci´on web.3.6. Un ejemplo simpleUna servidor proxy simple podr´ıa definirse de la siguiente manera:
  5. 5. Listas de control de acceso:#---parametros globales---#visible_hostname squid1http_port 3128icp_port 3130cache_dir ufs /var/cache/squid 400 16 256#---consulta de cach´es---##cache_peer <host> <type> <http_port> <icp_port> <options>cache_peer 192.168.1.252 parent 3128 7 no-query defaultcache_peer 192.168.1.108 sibling 3128 3130 proxy-only#--- ACL---#acl all src 0.0.0.0/0.0.0.0acl manager proto cache_objectacl localhost src 127.0.0.1/255.255.255.255acl webserver dst 192.168.1.10/255.255.255.255acl todalared src 192.168.1.0/255.255.255.0#--- Reglas de control de acceso---#http_access allow manager localhosthttp_access deny managernever_direct allow !webserverhttp_access allow todalaredhttp_access deny allicp_access allow allSquid es un sistema de admistracion que está bajo la distribución de Linux este nos permitetener un control de usuarios conectados a la red local Una de las funciones principales de un
  6. 6. servidor proxy es actuar como cache de contenido principalmente Web (http). Esto mejora eldesempeño de una red consumiendo menos recursos, debido que frente a un Nuevo pedidode un sitio que ya ha sido realizado, en vez de generar tráfico hacia internet se entrega El sitiocuyo contenido se encuentra almacenado en el servidor.Squid es el software para servidor Proxy más popular y extendido entre los sistemas operativos basadossobre UNIX®. Es muy confiable, robusto y versátil. Al ser software libre, además de estar disponible elcódigo fuente, está libre del pago de costosas licencias por uso o con restricción a un uso condeterminado número de usuarios.

×