3. Proxy amb Squid

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca

Enunciat

Farem la instal·lació bàsica i prova del servidor Squid. El muntatge és senzill. Només cal crear:

  • Un Ubuntu Server com a servidor Squid amb 2 interfícies: NAT i xarxa interna.
  • Un Ubuntu Desktop com a client Web amb targeta a xarxa interna.
  • La xarxa interna tindrà l’identificador 192.168.1.0/24.

Instal·larem Squid amb la comanda

apt install squid3

i l'engegarem i habilitarem 'on-boot amb

guillem@squid-server:~$ sudo systemctl start squid
guillem@squid-server:~$ sudo systemctl enable squid

Podeu comprovar que funciona i està escoltant pel port Comprovació que funciona i està escoltant al port 3128 (des del client):

telnet ip 3128

Un cop instal·lat:

  • Els fitxers de configuració es troben a /etc/squid o bé a /etc/squid3
  • Els fitxers de log es troben a /var/log/squid: cache.log i access.log

Previ

  • Obrir fitxer de configuració /etc/squid.conf.
  • Buscar el bloc ACCESS CONTROLS. Per a permetre als equips d’una xarxa local determinada fer servir el proxy (normalment la xarxa LAN interna):
  • tag acl: buscar la línia acl localnet src (...) i treure el comentari. Editar la xarxa si cal.
  • tag http_access: buscar la línia http_access allow localnet i treure el comentari.
  • Assegurar-se que el servidor Proxy pot anar a internet i pot resoldre noms DNS (provar amb ping a un servidor d’Internet, per exemple 8.8.8.8 i després usar nslookup per a resoldre un nom DNS com ara www.google.es).
  • Al client Web, a preferències, buscar l’opció per configurar el servidor proxy o intermediari:
  • Posar l’adreça IP del servidor Proxy i el port 3128 (si no s’ha canviat).
  • Marcar l’opció de fer servir el mateix servidor proxy per a tots el protocols.
  • Al quadre de text Sense servidor intermediari per afegirem la IP del PfSense i les que volem que es puguin accedir directament sense passar pel proxy (així si el proxy no va podem continuar configurant o accedint a màquines de la xarxa local).
  • Fer una prova de navegació des del client.
  • Podem veure com ens limita el proxy si afegim una nova ACL i la seva http_access associada; per exemple
acl prohibit url_regex youtube sex
http_access deny prohibit

L’efecte serà que si anem a youtube o una URL que contingui la paraula “sex”, es blocarà l’accés (sempre que sigui una petició http. Si és https ens tornarà un error del navegador).


IMPORTANT: Per saber quina regla es compleix, podeu activar opcions de depuració (al fitxer squid.conf):

debug_options ALL,1 33,2

Es veurà quina regla es compleix al fitxer de logs. Cal desactivar aquestes opcions de registre un cop posem el proxy en producció real, ja que consumeix molts recursos.