Como siempre controlamos el /etc/apt/sources.list y descomentamos todo aquello que empiece con deb.
Hacemos
1-)apt-get update
2-)apt-get install squid libpam-mysql
3-)Configurar el pam para que acceda a la BBDD mysql colocando lo que sigue en /etc/pam.d/squid
auth required /lib/security/pam_mysql.so user=userdb passwd=passdb host=localhost db=squid_auth table=user usercolumn=user passwdcolumn=password crypt=0
account required /lib/security/pam_mysql.so user=root passwd=29881111 host=localhost db=squid_auth table=user usercolumn=user passwdcolumn=password crypt=0
session required /lib/security/pam_mysql.so user=root passwd=29881111 host=localhost db=squid_auth table=user usercolumn=user passwdcolumn=password crypt=0
Estas tres sentencias auth, account, session hacen referencia a los tres filtros que debera pasar para autenticarse a la bd y el posfijo required da a idea de que si o si debe pasar cada uno de ellos para establecaer conexión
Acuerdense que la ubicación /lib/security/pam_mysql.so varia de acuerdo a la version del linux.
Aseguren esto ejecutando
find / -iname pam_mysql.so
los parametros como
user=Aqui se coloca el usuario que tiene los permisos de accesos a la BBDD
passwd= El password asociado al user correspondiente
db= Base de datos que contiene a la tabla de autenticación
host=Puede ir localhost o un IP, atender que si ponemos un ip tendremos que colocar al servidor BBDD escuchando por la interfaz del IP.
table= tabla que contiene a los usuarios
usercolumn= Columna de la tabla que contiene al nombre del usuario.
passwdcolumn= columna que contiene el password del usuario asociado.
Una ves realizado esto vayamos al squid para decirle que los usuarios deberan autenticarse a traves del modulo libpam-mysql
nano /etc/squid/squid.conf
visible_hostname 0.0.0.0 #Ip de nuestra maquina
http_port 3128
cache_mem 16 MB
cache_dir ufs /etc/squid/cache 100 16 256
#para autenticar contra mysql usando pam
auth_param basic program /usr/lib/squid/pam_auth
auth_param basic children 5
auth_param basic realm Sistema de Authenticación FCA
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
#Decimos que se requiere password para autenticar
acl password proxy_auth REQUIRED
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl miredlocal src 10.154.50.0/255.255.255.0
#aplicacion de aut con mysql a un determinado grupo de maquinas
http_access allow miredlocal password
#Fin de Autenticación
#Denegar el resto
http_access deny all
cache_mgr
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
# Fin archivo
Ya esta cerramos squid.conf y reiniciamos squid
/etc/init.d/squid restart












