10/22/2007

Validar usuarios en Squid

Squid es un proxy cache muy flexible con el cual podremos crear nuestras propias reglas de acceso de forma muy sencilla, dentro del archivo de configuración /etc/squid/squid.conf.
Mediante las acl y los http_access podemos permitir o no el acceso a internet según nos sea mas cómodo.

* Validar por ip:

#TAG: acl
acl ip-permitidas src 192.168.123.99


#INSERT YOUR OWN RULE(S) HERE [...]
http_access allow ip-permitidas

si tienen varias ip, y estas no forman un rango, lo que pueden hacer, es crear un archivo de texto y escribirlas una debajo de la otra:

acl ip-permitidas src "/etc/squid/ip-permitidas"

donde "/etc/squid/ip-permitidas" es la ruta donde encontraremos un archivo de texto plano, donde por cada linea hay una ip, separadas solo por un salto de linea

ejemplo:

el archivo ip-permitidas por dentro se vería así:

192.168.123.10
192.168.123.11
192.168.123.18
192.168.123.19

Validar por mac address:

#TAG: acl
acl mac-permitidas arp "/etc/squid/mac-permitidas"

#INSERT YOUR OWN RULE(S) HERE [...]
http_access allow mac-permitidas


al igual que en el caso anterior mac-permitidas contiene algo así:

00:01:02:BE:55:67
00:00:39:F6:D0:09
00:0B:6A:54:2A:B5

* Validar por usuario:


primero tienen que agregar esta linea en el squid.conf

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd


y luego crean de esta forma la regla:

#TAG: acl
acl permitidos proxy_auth alumnos

#INSERT YOUR OWN RULE(S) HERE [...]
http_access allow permitidos


Luego deben crear el archivo passwd de esta forma:

#htpasswd -c /etc/squid/passwd alumnos
Enter a password for user 'alumnos':

con esto van a crear el archivo passwd en esa carpeta, con el usuario alumnos y la clave.
Para poder agregar otros usuarios dentro del mismo archivo, tienen que ejecutar el mismo comando sobre el mismo archivo pero sin el '-c'.
Si por alguna razón desean cambiar la clave del usuario alumnos, tienen que ejecutar:

#htpasswd -c /etc/squid/passwd alumnos

el sistema se da cuenta solo de que ese usuario ya existe en ese archivo y nos da la opción de cambiar la clave.

Todas estas opciones pueden combinarse de manera que nos puede quedar si queremos una regla que valide, que sea una mac permitida dentro de la red, que ademas sea un ip permitida y que nos pida usuario y contraseña. La regla sería algo así:

#TAG: acl
acl permitidos proxy_auth alumnos
acl ip-permitidas src "/etc/squid/ip-permitidas"
acl mac-permitidas arp "/etc/squid/mac-permitidas"


#INSERT YOUR OWN RULE(S) HERE [...]
http_access allow mac-permititdas ip-permitidas permitidos

de esta forma la acl funciona como un 'and', si la primer opción cumple pregunta por la segunda, si esta cumple por la que sigue.
Una aclaración importante es que las acl deben ser escritar desde lo mas particular a los mas general ya que una vez que encuentra una que cumpla ya no sigue buscando. Por esa razón notarán que siempre por defecto la primer acl es 'acl all src 0.0.0.0/0.0.0.0' y la última http_access es 'http_access deny all', por lo que si ustedes no definen ninguna acl no tendrían permiso para navegar.

aquí les dejo otro ejemplo:

#TAG: acl
acl jefe src 192.168.123.10

acl red src 192.168.123.11 192.168.123.15

acl pagina_denegada dstdomain www.chicaslindas.com


#INSERT YOUR OWN RULE(S) HERE [.

http_access allow jefe

http_access deny red pagina_denegada

En este ejemplo si las ip de 'red' quieren acceder a la 'pagina_denegada', no prodrán ya que la estamos negando

Bueno espero les sea de utilidad y espero estar subiendo mas cosas sobre squid pronto.

fuente: softpedia

1 comentarios:

David Loor dijo...

Muy útil esta información.

Gracias..!!

Usuarios Online