servidor proxy

14
RESUMEN PROXY Y SQUID

Upload: ramiro-alfonzo-gomez

Post on 30-Nov-2014

896 views

Category:

Education


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: servidor proxy

RESUMEN PROXY Y SQUID

Page 2: servidor proxy

¿Qué el proxy?

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.

Page 3: servidor proxy

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.

Page 4: servidor proxy

proxy local:

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

Page 5: servidor proxy

Proxy externo:

Se suelen usar para implementar cacheos, bloquear contenidos, control del tráfico, compartir IP, etc.

Page 6: servidor proxy

ventajas

• Control.• Ahorro. • Velocidad.• Filtrado. • Modificación• Anonimato.

Page 7: servidor proxy

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 usuario1Luego 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).

Page 8: servidor proxy

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

Page 9: servidor proxy

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

Page 10: servidor proxy

claves

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

Page 11: servidor proxy

Claves

http_access allow comunicación diarioCada usuario que pertenezca a un grupo debera 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 conclusion, todos los usuarios por mas que pertenezcan a

diferentes grupos deben ser creados en un archivo utilizando htpasswd2, la division de grupos se realizara guardando los nombres de los usuarios en diferentes archivos, uno por línea y luego se aplicaran como se vio en el ejemplo mediante las acl y las reglas de control de acceso (http_access ).

Page 12: servidor proxy

Verificación 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áficos con estadísticas en un archivo html. Son una excelente herramienta para llevar un control detallado sobre la utilización de la navegación web.

Page 13: servidor proxy

ejemplo

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---#

Page 14: servidor proxy

ejemplo

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 all