martes, febrero 14, 2006

SQUID: AUTENTIFICACION CON PAM Y NCSA

Bueno... continuando con las configuraciones "clasicas" en redes de trabajo esta vez vamos a ver dos de las maneras de autentificacion de usuarios para poder navegar por internet.

PAM:



si es necesario:
PAM source
$ tar xzvf Linux-PAM-0.77.tar.gz
$ cp Linux_PAM-0.77
$ ./configure
$ make
$ make install



Archivos a editar:
PATH/squid/squid.conf (frecuentemente /etc/squid/squid.conf)
PATH/pam.d/squid (frecuentemente /etc/pam.d/squid)
este ultimo posiblemente no exista, de ser asi crearlo

$ vi PATH/pam.d/squid

editamos el archivo para que quede solo con estas dos lineas:

auth required /lib/security/pam_unix.so
account required /lib/security/pam_unix.so

guardamos con :x y vamos a editar el fichero squid.conf

primero buscamos donde se encuentra el fichero pam_auth
$ find / -name pam_auth

normalmente se encuentra en /usr/lib/squid/pam_auth asi que para ahorrar tiempo pueden antes de buscarlo constatar si no se encuentra en esa ruta

hacemos una copia de seguridad del squid.conf.
$ cp PATH/squid/squid.conf PATH/squid/squid.conf.BKP

abrimos el fichero
$ vi PATH/squid/squid.conf

antes de donde se empieza a declarar las reglas por ejemplo:
...
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 to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563 # https, snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
...
ingresamos las lineas donde le decimos al squid contra que autentificar

auth_param basic program PATH/pam_auth
auth_param basic children 5
auth_param basic realm SQUID PROXY-SERVER

ahora debajo de las reglas ingresamos una nueva:

acl nombre_regla proxy_auth REQUIRED

y por ultimo usamos esta regla

http_access allow nombre_regla

guardamos con :x y listo

ahora solo resta reiniciar el squid:
$ /etc/init.d/squid restart
o cargamos la nueva configuracion:
$ squid -k reconfigure

probamos en alguna maquina de la red y (deberia estar) listo.

los usuarios son los usuarios del linux asi que agregamos un nuevo usuario para auntenticar en el proxy de la siguiente manera

$ adduser nombre_usuario

y bueno... creo que eso es todo.

NCSA:



si es necesario:
$ apt-get install apache2
0
Apache2 Source
$ tar xvfj PATH/httpd-2.2.0.tar.bz2
$ cd PATH/httpd-2.2.0
$ ./configure --prefix=/usr/local/apache2
$ make
$ make install


Archivos a editar:
PATH/squid/squid.conf (frecuentemente /etc/squid/squid.conf)

Archivos a crear:
vamos a crear el archivo de usuarios para la autenticacion de los usuarios, esto lo hacemos con el binario htpasswd del apache:
La sintaxis es la siguiente:
htpasswd -c PATH-ARCHIVOUSUARIOS USUARIO
donde:
-c es la opcion que le pasamos a htpasswd para que cree un arhcivo nuevo
PATH-ARCHIVOUSUARIOS es la ruta completa donde queremos crear el archivo por ej: /etc/usuariosfile
USUARIO es el nombre del usuario que ingresamos al fichero

$ cd PATH-APACHE/bin
$ htpasswd -c /etc/usuariosfile pepe

despues para agragar nuevos usuarios hay que utilizar la misma sintacios sin la opcion -c

buscamos donde se encuentra el fichero ncsa_auth
$ find / -name ncsa_auth

normalmente se encuentra en /usr/lib/squid/ncsa_auth asi que para ahorrar tiempo pueden antes de buscarlo constatar si no se encuentra en esa ruta

hacemos una copia de seguridad del squid.conf.
$ cp PATH/squid/squid.conf PATH/squid/squid.conf.BKP

abrimos el fichero
$ vi PATH/squid/squid.conf

antes de donde se empieza a declarar las reglas por ejemplo:
...
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 to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563 # https, snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
...
ingresamos las lineas donde le decimos al squid contra que autentificar y donde esta el fichero de usuarios que creamos con htpasswd:

auth_param basic program PATH/ncsa_auth /etc/usuariosfile

ahora debajo de las reglas ingresamos una nueva:

acl nombre_regla proxy_auth REQUIRED

y por ultimo usamos esta regla

http_access allow nombre_regla

guardamos con :x y listo

ahora solo resta reiniciar el squid:
$ /etc/init.d/squid restart
o cargamos la nueva configuracion:
$ squid -k reconfigure

No hay comentarios.: