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/