SlideShare a Scribd company logo
1 of 6
Resumen Squid

La palabra proxy significa intermediario en inglés. Un proxy, en una red informática, es un
programa o dispositivo que realiza una acción en representación de otro, esto es, si una
hipotética máquina A solicita un recurso a una C, lo hará mediante una petición a B; C
entonces no sabrá que la petición procedió originalmente de A. Está situación estratégica de
punto intermedio suele ser aprovechada para soportar una serie de funcionalidades:
proporcionar caché, control de acceso, registro del tráfico, prohibir cierto tipo de tráfico
etcé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 la
petición. Por eso se le llama local. Suelen estar en la misma máquina que el cliente que hace
las peticiones. Son muy usados para que el cliente pueda controlar el tráfico y pueda
establecer reglas de filtrado que por ejemplo pueden asegurar que no se revela información
privada (Proxys de filtrado para mejora de la privacidad).

• Proxy externo: El que quiere implementar la política del proxy es una entidad externa. Por
eso 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 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.
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 responderlas, es posible
que haga algún trabajo que no toque. Por tanto, ha de controlar quién tiene acceso y quién no
a 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 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).

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 los
clientes. Por cada método, SQUID provee varios módulos de autenticación (helpers) que serán
los encargados de realizar la validación (NCSA, PAM, SASL, YP y SMB). Aquí veremos como
configurar Basic utilizando el modulo NCSA.

Creación de usuarios

Desde 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 usuario1

Luego se solicitaría la clave y la confirmación de la misma. Hay que tener en cuenta que
htpasswd2

Debe estar instalado (pertenece a Apache2).

5

Configuración

En el archivo /etc/squid/squid.conf se debe configurar el tipo de autenticación (basic), la ruta
del 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
Luego se debe crear una acl que al ser invocada en una regla de control de acceso solicitara el
usuario y la clave: acl con_clave proxy_auth REQUIRED Para comprender como se utiliza la acl
que definimos veremos un ejemplo. Si se desea que todas las

Personas que accedan al sitio www.ociosos.com ingresen un usuario y clave, y que para el
resto de las paginas no haya restricción alguna:

acl all src 0.0.0.0/0.0.0.0

acl ocio dstdomain www.ociosos.com

acl con_clave proxy_auth REQUIRED

http_access allow ocio con_clave

http_access allow all

Si en cambio, quisieramos que para navergar por el proxy todos los usuarios de la red tengan
que ingresar usuario y clave, dentro de las reglas de control de accesso basta con poner:

http_access allow all con_clave

La combinación de diferentes acl nos otorga gran flexibilidad, teniendo en cuenta que
agregando a cualquier regla de control de accesso la acl con_clave obligamos a validar contra
SQUID 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 una
deficiencia, supongamos que quisiéramos subdividir un cierto grupo de usuarios para que
tengan diferentes permisos de acceso a sitios web. Por ejemplo, el grupo de comunicación
deberá poder acceder a leer los diarios, no así el grupo de desarrollo que solo tiene permitido
ingresar al sitio www.lawebdelprogramador.com. Con lo visto anteriormente no podríamos
hacerlo 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 de

Control de acceso. La definición de los usuarios con sus claves ser´a exactamente igual que en
el punto anterior, a diferencia que ahora podremos definir en un nuevo archivo los usuarios
que pertenecen a un determinado grupo. Con el siguiente ejemplo quedaría mas claro.

acl all src 0.0.0.0/0.0.0.0

acl diario dstdomain www.litoral.com.ar

acl web_programar dstdomain www.lawebdelprogramador.com

acl con_clave proxy_auth REQUIRED

acl comunicacion proxy_auth ‘‘/etc/squid/comunicacion’’

acl desarrolladores proxy_auth ‘‘/etc/squid/desarrolladores’’

http_access allow desarrolladores web_programar
http_access allow comunicacion diario

Cada usuario que pertenezca a un grupo deber´a encontrarse en una ´unica linea ya sea para el
grupo 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 punto
anterior

en /etc/squid/claves.

En conclusi´on, todos los usuarios por m´as que pertenezcan a diferentes grupos deben ser
creados en

un archivo utilizando htpasswd2, la divisi´on de grupos se realizar´a guardando los nombres de
los

usuarios en diferentes archivos, uno por linea y luego se aplicar´an como se vio en el ejemplo
mediante

las acl y las reglas de control de acceso (http_access ).

6

3.5. Verificaci´on de logs

SQUID almacena en el directorio /var/log/squid informaci´on sobre los accesos, di´alogos con
otros

servidores SQUID, etc. Existen varios archivos de logs, el que nos brinda informaci´on sobre el
acceso

al servidor es access.log. Cuando se entrega a un cliente un objeto que se encontraba
almacenado, se

produce 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 de
SQUID.

Dos de las m´as utilizadas son SARG (Squid Analysis Report Grpahics) y Webalizer, las mismas
generan

reportes gr´aficos con estad´ısticas en un archivo html. Son una excelente herramienta para
llevar un

control detallado sobre la utilizaci´on de la navegaci´on web.

3.6. Un ejemplo simple

Una servidor proxy simple podr´ıa definirse de la siguiente manera:
Listas de control de acceso:

#---parametros globales---#

visible_hostname squid1

http_port 3128

icp_port 3130

cache_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 default

cache_peer 192.168.1.108 sibling 3128 3130 proxy-only

#--- ACL---#

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl webserver dst 192.168.1.10/255.255.255.255

acl todalared src 192.168.1.0/255.255.255.0

#--- Reglas de control de acceso---#

http_access allow manager localhost

http_access deny manager

never_direct allow !webserver

http_access allow todalared

http_access deny all

icp_access allow all




Squid es un sistema de admistracion que está bajo la distribución de Linux este nos permite
tener un control de usuarios conectados a la red local Una de las funciones principales de un
servidor proxy es actuar como cache de contenido principalmente Web (http). Esto mejora el
desempeño de una red consumiendo menos recursos, debido que frente a un Nuevo pedido
de un sitio que ya ha sido realizado, en vez de generar tráfico hacia internet se entrega El sitio
cuyo contenido se encuentra almacenado en el servidor.



Squid es el software para servidor Proxy más popular y extendido entre los sistemas operativos basados
sobre UNIX®. Es muy confiable, robusto y versátil. Al ser software libre, además de estar disponible el
código fuente, está libre del pago de costosas licencias por uso o con restricción a un uso con
determinado número de usuarios.

More Related Content

What's hot

Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...ChanCHIMAL
 
Manual servidor proxy
Manual servidor proxyManual servidor proxy
Manual servidor proxyarjonagleydi
 
Investigacion y practica servidor proxy
Investigacion y practica servidor proxyInvestigacion y practica servidor proxy
Investigacion y practica servidor proxykarla1108
 
Configuracion proxy Windows server 2008
Configuracion proxy Windows server 2008Configuracion proxy Windows server 2008
Configuracion proxy Windows server 2008teresi0101
 
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...ChanCHIMAL
 
Programación web 1er dept
Programación web 1er deptProgramación web 1er dept
Programación web 1er deptLeonardo Moreno
 
Squid3 - Servidor Proxy
Squid3 - Servidor ProxySquid3 - Servidor Proxy
Squid3 - Servidor ProxyTotus Muertos
 
Instalación y Configuración de un Servidor Proxy en Linux Ubuntu
Instalación y Configuración de un Servidor Proxy en Linux UbuntuInstalación y Configuración de un Servidor Proxy en Linux Ubuntu
Instalación y Configuración de un Servidor Proxy en Linux UbuntuMarcelo Alcivar
 
Filtrado der contenido web con GNU/Linux y Squid
Filtrado der contenido web con GNU/Linux y SquidFiltrado der contenido web con GNU/Linux y Squid
Filtrado der contenido web con GNU/Linux y SquidJorge Medina
 
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...Fragatacante
 
Instalacion de un servidor proxy
Instalacion de un servidor proxyInstalacion de un servidor proxy
Instalacion de un servidor proxyalfredoariasjimenez
 

What's hot (15)

Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
 
Manual servidor proxy
Manual servidor proxyManual servidor proxy
Manual servidor proxy
 
Investigacion y practica servidor proxy
Investigacion y practica servidor proxyInvestigacion y practica servidor proxy
Investigacion y practica servidor proxy
 
Configuracion proxy Windows server 2008
Configuracion proxy Windows server 2008Configuracion proxy Windows server 2008
Configuracion proxy Windows server 2008
 
Servidor proxi
Servidor proxiServidor proxi
Servidor proxi
 
Servidor web apache
Servidor web apacheServidor web apache
Servidor web apache
 
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
 
Programación web 1er dept
Programación web 1er deptProgramación web 1er dept
Programación web 1er dept
 
Squid3 - Servidor Proxy
Squid3 - Servidor ProxySquid3 - Servidor Proxy
Squid3 - Servidor Proxy
 
Instalación y Configuración de un Servidor Proxy en Linux Ubuntu
Instalación y Configuración de un Servidor Proxy en Linux UbuntuInstalación y Configuración de un Servidor Proxy en Linux Ubuntu
Instalación y Configuración de un Servidor Proxy en Linux Ubuntu
 
Filtrado der contenido web con GNU/Linux y Squid
Filtrado der contenido web con GNU/Linux y SquidFiltrado der contenido web con GNU/Linux y Squid
Filtrado der contenido web con GNU/Linux y Squid
 
Radius
RadiusRadius
Radius
 
Manual
ManualManual
Manual
 
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
 
Instalacion de un servidor proxy
Instalacion de un servidor proxyInstalacion de un servidor proxy
Instalacion de un servidor proxy
 

Viewers also liked

servidor proxy squid
servidor proxy squidservidor proxy squid
servidor proxy squidmanu betran
 
Laboratorio Squid
Laboratorio SquidLaboratorio Squid
Laboratorio SquidLuis Maza
 
Comandos básicos para utilizar squid o squid3
Comandos básicos para utilizar squid o squid3Comandos básicos para utilizar squid o squid3
Comandos básicos para utilizar squid o squid3ALBERTO CHUICA
 
Curso Avanzado Seguridad Redes
Curso Avanzado Seguridad RedesCurso Avanzado Seguridad Redes
Curso Avanzado Seguridad RedesAntonio Durán
 
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)Max Morales
 
Autenticación de usuarios proxy pfsense 2.1
Autenticación de usuarios proxy pfsense 2.1Autenticación de usuarios proxy pfsense 2.1
Autenticación de usuarios proxy pfsense 2.1Mauricio Arcas H.
 
Configuracion de proxy squid en centos
Configuracion de proxy squid en centosConfiguracion de proxy squid en centos
Configuracion de proxy squid en centosmurilloyair
 
Administracion servidores
Administracion  servidoresAdministracion  servidores
Administracion servidoresIsaac Gonzalez
 
Herramientas de Monitorizacion y Administracion Web
Herramientas de Monitorizacion y Administracion WebHerramientas de Monitorizacion y Administracion Web
Herramientas de Monitorizacion y Administracion Webmaesefernando
 

Viewers also liked (20)

servidor proxy squid
servidor proxy squidservidor proxy squid
servidor proxy squid
 
Tutorial Instalacion Openvpn
Tutorial Instalacion OpenvpnTutorial Instalacion Openvpn
Tutorial Instalacion Openvpn
 
Laboratorio Squid
Laboratorio SquidLaboratorio Squid
Laboratorio Squid
 
Byspass Proxy
Byspass ProxyByspass Proxy
Byspass Proxy
 
taller-proxy
taller-proxytaller-proxy
taller-proxy
 
Comandos básicos para utilizar squid o squid3
Comandos básicos para utilizar squid o squid3Comandos básicos para utilizar squid o squid3
Comandos básicos para utilizar squid o squid3
 
Squid
Squid Squid
Squid
 
Portal Cautivo - PfSense
Portal Cautivo - PfSensePortal Cautivo - PfSense
Portal Cautivo - PfSense
 
Curso Avanzado Seguridad Redes
Curso Avanzado Seguridad RedesCurso Avanzado Seguridad Redes
Curso Avanzado Seguridad Redes
 
SERVIDOR PROXY
SERVIDOR PROXYSERVIDOR PROXY
SERVIDOR PROXY
 
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)
 
Autenticación de usuarios proxy pfsense 2.1
Autenticación de usuarios proxy pfsense 2.1Autenticación de usuarios proxy pfsense 2.1
Autenticación de usuarios proxy pfsense 2.1
 
Cómo crear un portal cautivo con easyhotspot
Cómo crear un  portal cautivo con easyhotspotCómo crear un  portal cautivo con easyhotspot
Cómo crear un portal cautivo con easyhotspot
 
Manual Servidor Proxy Squid3
Manual Servidor Proxy Squid3Manual Servidor Proxy Squid3
Manual Servidor Proxy Squid3
 
Squid
Squid Squid
Squid
 
Configuracion de proxy squid en centos
Configuracion de proxy squid en centosConfiguracion de proxy squid en centos
Configuracion de proxy squid en centos
 
Proxy presentacion
Proxy presentacionProxy presentacion
Proxy presentacion
 
Administracion servidores
Administracion  servidoresAdministracion  servidores
Administracion servidores
 
Curso Squid avanzado
Curso Squid avanzadoCurso Squid avanzado
Curso Squid avanzado
 
Herramientas de Monitorizacion y Administracion Web
Herramientas de Monitorizacion y Administracion WebHerramientas de Monitorizacion y Administracion Web
Herramientas de Monitorizacion y Administracion Web
 

Similar to Resumen squid

Similar to Resumen squid (20)

RESUMEN PROXY
RESUMEN PROXYRESUMEN PROXY
RESUMEN PROXY
 
servidor proxy
servidor proxyservidor proxy
servidor proxy
 
Tarea proxy
Tarea proxyTarea proxy
Tarea proxy
 
Unidad 3 seguridad de redes
Unidad 3 seguridad de redesUnidad 3 seguridad de redes
Unidad 3 seguridad de redes
 
Servidores proxy
Servidores  proxyServidores  proxy
Servidores proxy
 
Qué es un servidor proxy
Qué es un servidor proxyQué es un servidor proxy
Qué es un servidor proxy
 
Network proxy
Network proxyNetwork proxy
Network proxy
 
Diagramas p2p C-S Proxy
Diagramas p2p C-S ProxyDiagramas p2p C-S Proxy
Diagramas p2p C-S Proxy
 
Preguntas respuestas t10_y_11
Preguntas respuestas t10_y_11Preguntas respuestas t10_y_11
Preguntas respuestas t10_y_11
 
SERVICIO SQUID
SERVICIO SQUIDSERVICIO SQUID
SERVICIO SQUID
 
Hoy
HoyHoy
Hoy
 
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
 
Diagramas
DiagramasDiagramas
Diagramas
 
Seguridad en rede sjuandavidvelez
Seguridad en rede sjuandavidvelezSeguridad en rede sjuandavidvelez
Seguridad en rede sjuandavidvelez
 
Instalacion de servidor proxy
Instalacion de servidor proxyInstalacion de servidor proxy
Instalacion de servidor proxy
 
Proxy
ProxyProxy
Proxy
 
Squid
SquidSquid
Squid
 
Manual de instalacion de un servidor proxy
Manual de instalacion de un servidor proxyManual de instalacion de un servidor proxy
Manual de instalacion de un servidor proxy
 
servidor squid
servidor squidservidor squid
servidor squid
 
Propuestas de proyectos fin de estudios curso 2013
Propuestas de proyectos fin de estudios curso 2013Propuestas de proyectos fin de estudios curso 2013
Propuestas de proyectos fin de estudios curso 2013
 

More from Ramiro Alfonzo Gomez (16)

Comentario Administrador de Redes
Comentario Administrador de RedesComentario Administrador de Redes
Comentario Administrador de Redes
 
Sistema operativo windows nt
Sistema operativo windows ntSistema operativo windows nt
Sistema operativo windows nt
 
Resumen Sistemas Operativos De Redes
Resumen Sistemas Operativos De RedesResumen Sistemas Operativos De Redes
Resumen Sistemas Operativos De Redes
 
Test
TestTest
Test
 
Resumen topologías
Resumen topologíasResumen topologías
Resumen topologías
 
Resumen topologías
Resumen topologíasResumen topologías
Resumen topologías
 
Resumen topologías
Resumen topologíasResumen topologías
Resumen topologías
 
Configuracion punto a punto
Configuracion punto a puntoConfiguracion punto a punto
Configuracion punto a punto
 
Cotización
CotizaciónCotización
Cotización
 
Expo profe migue
Expo profe migueExpo profe migue
Expo profe migue
 
Llamada telefonica
Llamada telefonicaLlamada telefonica
Llamada telefonica
 
Centro de computo
Centro de computoCentro de computo
Centro de computo
 
Actividad 1 ramiro
Actividad 1 ramiroActividad 1 ramiro
Actividad 1 ramiro
 
Centro de computo
Centro de computoCentro de computo
Centro de computo
 
Julio cesar
Julio cesarJulio cesar
Julio cesar
 
Actividad 1 williams
Actividad 1 williamsActividad 1 williams
Actividad 1 williams
 

Resumen squid

  • 1. Resumen Squid La palabra proxy significa intermediario en inglés. Un proxy, en una red informática, es un programa o dispositivo que realiza una acción en representación de otro, esto es, si una hipotética máquina A solicita un recurso a una C, lo hará mediante una petición a B; C entonces no sabrá que la petición procedió originalmente de A. Está situación estratégica de punto intermedio suele ser aprovechada para soportar una serie de funcionalidades: proporcionar caché, control de acceso, registro del tráfico, prohibir cierto tipo de tráfico etcé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 la petición. Por eso se le llama local. Suelen estar en la misma máquina que el cliente que hace las peticiones. Son muy usados para que el cliente pueda controlar el tráfico y pueda establecer reglas de filtrado que por ejemplo pueden asegurar que no se revela información privada (Proxys de filtrado para mejora de la privacidad). • Proxy externo: El que quiere implementar la política del proxy es una entidad externa. Por eso 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 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.
  • 2. 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 responderlas, es posible que haga algún trabajo que no toque. Por tanto, ha de controlar quién tiene acceso y quién no a 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 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). 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 los clientes. Por cada método, SQUID provee varios módulos de autenticación (helpers) que serán los encargados de realizar la validación (NCSA, PAM, SASL, YP y SMB). Aquí veremos como configurar Basic utilizando el modulo NCSA. Creación de usuarios Desde 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 usuario1 Luego se solicitaría la clave y la confirmación de la misma. Hay que tener en cuenta que htpasswd2 Debe estar instalado (pertenece a Apache2). 5 Configuración En el archivo /etc/squid/squid.conf se debe configurar el tipo de autenticación (basic), la ruta del 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. Luego se debe crear una acl que al ser invocada en una regla de control de acceso solicitara el usuario y la clave: acl con_clave proxy_auth REQUIRED Para comprender como se utiliza la acl que definimos veremos un ejemplo. Si se desea que todas las Personas que accedan al sitio www.ociosos.com ingresen un usuario y clave, y que para el resto de las paginas no haya restricción alguna: acl all src 0.0.0.0/0.0.0.0 acl ocio dstdomain www.ociosos.com acl con_clave proxy_auth REQUIRED http_access allow ocio con_clave http_access allow all Si en cambio, quisieramos que para navergar por el proxy todos los usuarios de la red tengan que ingresar usuario y clave, dentro de las reglas de control de accesso basta con poner: http_access allow all con_clave La combinación de diferentes acl nos otorga gran flexibilidad, teniendo en cuenta que agregando a cualquier regla de control de accesso la acl con_clave obligamos a validar contra SQUID 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 una deficiencia, supongamos que quisiéramos subdividir un cierto grupo de usuarios para que tengan diferentes permisos de acceso a sitios web. Por ejemplo, el grupo de comunicación deberá poder acceder a leer los diarios, no así el grupo de desarrollo que solo tiene permitido ingresar al sitio www.lawebdelprogramador.com. Con lo visto anteriormente no podríamos hacerlo 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 de Control de acceso. La definición de los usuarios con sus claves ser´a exactamente igual que en el punto anterior, a diferencia que ahora podremos definir en un nuevo archivo los usuarios que pertenecen a un determinado grupo. Con el siguiente ejemplo quedaría mas claro. acl all src 0.0.0.0/0.0.0.0 acl diario dstdomain www.litoral.com.ar acl web_programar dstdomain www.lawebdelprogramador.com acl con_clave proxy_auth REQUIRED acl comunicacion proxy_auth ‘‘/etc/squid/comunicacion’’ acl desarrolladores proxy_auth ‘‘/etc/squid/desarrolladores’’ http_access allow desarrolladores web_programar
  • 4. http_access allow comunicacion diario Cada usuario que pertenezca a un grupo deber´a encontrarse en una ´unica linea ya sea para el grupo 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 punto anterior en /etc/squid/claves. En conclusi´on, todos los usuarios por m´as que pertenezcan a diferentes grupos deben ser creados en un archivo utilizando htpasswd2, la divisi´on de grupos se realizar´a guardando los nombres de los usuarios en diferentes archivos, uno por linea y luego se aplicar´an como se vio en el ejemplo mediante las acl y las reglas de control de acceso (http_access ). 6 3.5. Verificaci´on de logs SQUID almacena en el directorio /var/log/squid informaci´on sobre los accesos, di´alogos con otros servidores SQUID, etc. Existen varios archivos de logs, el que nos brinda informaci´on sobre el acceso al servidor es access.log. Cuando se entrega a un cliente un objeto que se encontraba almacenado, se produce 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 de SQUID. Dos de las m´as utilizadas son SARG (Squid Analysis Report Grpahics) y Webalizer, las mismas generan reportes gr´aficos con estad´ısticas en un archivo html. Son una excelente herramienta para llevar un control detallado sobre la utilizaci´on de la navegaci´on web. 3.6. Un ejemplo simple Una servidor proxy simple podr´ıa definirse de la siguiente manera:
  • 5. Listas de control de acceso: #---parametros globales---# visible_hostname squid1 http_port 3128 icp_port 3130 cache_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 default cache_peer 192.168.1.108 sibling 3128 3130 proxy-only #--- ACL---# acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl webserver dst 192.168.1.10/255.255.255.255 acl todalared src 192.168.1.0/255.255.255.0 #--- Reglas de control de acceso---# http_access allow manager localhost http_access deny manager never_direct allow !webserver http_access allow todalared http_access deny all icp_access allow all Squid es un sistema de admistracion que está bajo la distribución de Linux este nos permite tener un control de usuarios conectados a la red local Una de las funciones principales de un
  • 6. servidor proxy es actuar como cache de contenido principalmente Web (http). Esto mejora el desempeño de una red consumiendo menos recursos, debido que frente a un Nuevo pedido de un sitio que ya ha sido realizado, en vez de generar tráfico hacia internet se entrega El sitio cuyo contenido se encuentra almacenado en el servidor. Squid es el software para servidor Proxy más popular y extendido entre los sistemas operativos basados sobre UNIX®. Es muy confiable, robusto y versátil. Al ser software libre, además de estar disponible el código fuente, está libre del pago de costosas licencias por uso o con restricción a un uso con determinado número de usuarios.