Hoy he tenido que instalar Squid en un cliente de manera urgente, el proceso no tiene misterio ni se requiere saber física nuclear.

Pasos a seguir

Lo primero es tener bien actualizado nuestro sistema

sudo apt update -y && sudo apt dist-upgrade -y

Una vez que lo tenemos totalmente parcheado, ejecutamos el siguiente comando par ainstalarlo

sudo apt install squid

Cuando termine, ejecutamos el comando siguiente para que se inicie en cada reinicio:

systemctl enable squid.service

El siguiente paso es la configuración, para ello editamos el archivo de configuración con nuestro edior favorito, vi, vim, nano…

sudo vim /etc/squid/squid.conf

Por defecto permite conexiones desde localhost solo. Si queremos poner qué IPs o redes queremos que lo usen, antes de donde pone “http_access allow localhost” debemos escribirlo que necesitemos que tenga acceso.

acl [NombreACL] src [tu_dirección_ip]
acl localnet src 10.10.100.22

Securizando Squid

Para no dejar que todo el munod pueda usarlo, vamos a crear usuarios para ello. Lo primero es instalar apache2 utils.

sudo apt install apache2-utils

Ahora ya podemos generar passwords para usuarios nuevos de Squid.

sudo htpasswd -c /etc/squid/passwords [UsuarioNuevoSquid]
sudo htpasswd -c /etc/squid/passwords nosolohacking

Para comprobar que el usuario ha sido creado y almacenado su password en forma de hash, ejecutamos:

sudo cat /etc/squid/passwords

Esto mostrar algo así:

nosolohacking:$apr1$Dgl.Mtnd$vdqLYjB55todf47w42gTd.

Ahora ya devuelta al archivo de configuración de Squid, necesitamos incorporar unas líneas de configuración:

sudo vim /etc/squid/squid.conf

Ahí incorporamos:

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRE
http_access allow authenticated

Guardamos el archivo y reiniciamos el servicio de Squid

sudo systemctl restart squid.service

Para comprobar si funciona o no, debemso ejecutar el comando:

curl -v -x http://usuario_Squid_creado_antes:tu_password@IP_DE_TU_SERVER:3128 http://www.google.com/
error: ooops!