Squid, control de acceso

per Victor Carceler darrera modificació 2021-12-09T10:48:04+01:00

Squid-logo.webpUn aspecto importante de la configuración de Squid es el control de acceso. Normalmente debe configurarse el proxy para que atienda a sus clientes legítimos y a nadie más, pues un proxy abierto puede utilizarse con facilidad para cometer abusos. Además, en ocasiones resulta útil restringir el acceso a través del proxy a algunos dominios, contenidos, puertos, etc...

Todo esto puede lograrse con la configuración de acceso de Squid.

Vea:

En esta actividad se utilizará:

  • Una MV Squid con el proxy squid instalado. Este equipo tendrá configurado:
    • hostname: squid
    • Interfaz de red en modo puente configurada mediante DHCP.
    • Interfaz de red en modo red interna configurada con la IP 10.0.0.1/24.
    • Un disco duro (dinámico) adicional de 10GiB.
  • Una MV Invitado de escritorio con dos interfaces de red:
    • Interfaz de red en modo puente configurada mediante DHCP.
    • Interfaz de red en modo red interna configurada con la IP 10.0.0.101/24.
    • Recuerde que puede hacer ssh -X desde la máquina física a la máquina virtual para abrir firefox.
  • El navegador web del ordenador anfitrión (físico) para hacer peticiones a Squid.
  • El navegador de una MV de escritorio (llamada MV Invitado) para hacer peticiones a Squid.

El objetivo de este montaje es que Squid pueda tratar de diferente manera a los clientes (el navegador de la máquina física y el navegador de la MV Invitado) discriminando sus peticiones en la configuración de control de acceso.

Desarrollo de la actividad

Partiendo de la configuración original de Squid.

  1. Cambie el puerto de escucha a 8080y cambie el valor shutdown_lifetime a 1 segundo.
  2. Utilice acl para declarar clientes como aquellos ordenadores que tienen una IP de la LAN.
  3. Utilice http_access para permitir las peticiones de clientes.
  4. Realice las siguientes comprobaciones:
    • Utilice el navegador en la máquina física para comprobar la configuración.
    • Utilice el navegador de MV Invitado para comprobar que en este caso el proxy deniega el acceso.
  5. Utilice acl para declarar dominios de manera que coincida con las peticiones que tengan por destino: .wikipedia.org o .rebelion.org.
  6. Utilice acl para declarar invitados a aquellas máquinas que tengan una IP tal que 10.0.0.0/24.
  7. Utilice http_access para permitir a los clientes invitados el acceso a dominios. Lo que quiere decir que el usuario de MV Invitado únicamente podrá visitar los dominios que están incluidos en el elemento ACL dominios.
  8. ¿Para qué sirve el elemento de acl: acl aclname browser [-i] regexp? ¿Cree que podría permitir el acceso web a un navegador y denegarlo a otro diferente discriminando por User-Agent? Implemente dicho control de acceso.
  9. En Squid Ads Server Filter se describe cómo utilizar squid para eliminar los anuncios de las páginas web. Demuestre su funcionamiento.
  10. Realice lo necesario para que squid mantenga una cache en disco de hasta 8GiB.