Tuesday, 26 May 2009 06:42

Squid+Mysql Backend Featured

Este tutorial le servira para instalar Squid, un cache proxy muy usado, Hay varias formas de autenticar usuarios, esta es una de ellas.

Caracteristicas de la Maquina

Version de Linux: Linux Ubuntu 8.04 Hardy Heron
Version del Kernel: 2.6.24-19-generic
Version del squid: 2.6.18
Version del pam: 0.8

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

Last modified on Sunday, 05 July 2009 12:45
Juan Pablo González

Juan Pablo González

Diseñador de paginas web, administrador de redes y un apasionado por el software libre y la difusión de conocimientos

Website: www.juanpablo.netne.net E-mail: This e-mail address is being protected from spambots. You need JavaScript enabled to view it

Subscripciones

Cursos
Programación
Linux

Receive HTML?
Gracias..

Buscar

Estan en linea

We have 9 guests online