Issuu on Google+

Servidor Proxy Web en Linux (Squid) con usuarios 1

Validación de 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.

1.1 Identificación mediante direcciones IP Si se quiere filtrar usuarios por su dirección IP, se deben crear las listas utilizando la palabra reservada src. # lista que identifica a la dirección IP 192.168.1.99 acl ip-permitida src 192.168.1.99 # regla de acceso http_access allow ip-permitida

Si se quieren varias direcciones IP y estas no forman un rango, lo que se puede hacer es crear un archivo de texto y escribirlas una debajo de la otra: acl ip-permitidas src "/etc/squid/ip-permitidas"

dónde "/etc/squid/ip-permitidas" es el fichero en el que se encuentran las direcciones IP, en texto plano, dónde en cada línea hay una dirección IP, separadas solo por un salto de línea. Ejemplo: el archivo ip-permitidas tendría el siguiente contenido: 192.168.1.10 192.168.1.11 192.168.1.18 192.168.1.19

1.2 Identificación mediante direcciones MAC Si se quiere filtrar usuarios por su dirección IP, se deben crear las listas utilizando la palabra reservada arp. # lista que identifica a las direcciones MAC acl mac-permitidas arp "/etc/squid/mac-permitidas" # regla de acceso 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

1.3 Validar por usuario Para que squid realice la validación por usuarios se tiene que añadir la siguiente línea al fichero de configuración: # /etc/squid/passwd es el nombre del fichero dónde se guardan los usuarios # y sus contraseñas. Puede cambiarse a gusto del administrador. auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd


Seguidamente creamos los usuarios en el fichero declarado arriba: // Se crea el fichero (opción -c) y se añade el usuario manuel root@ubuntu6:/etc/squid# htpasswd -c /etc/squid/passwd manuel New password: Re-type new password: Adding password for user manuel // Se añade otro usuario nuevo porque destruye el root@ubuntu6:/etc/squid# New password: Re-type new password: Adding password for user

llamado juan. ¡No se debe escribir la opción -c de archivo que haya! htpasswd /etc/squid/passwd juan juan

//Nota: si se quiere modificar la contraseña de un usuario una vez que se ha añadido, se puede hacer usando la opción -c, puesto que se detecta la existencia del usuario y no destruye el fichero que había.

Luego, las reglas han de definirse utilizando la palabra reservada proxy_auth, como puede observarse en el siguiente ejemplo: # lista de control de acceso acl permitidos proxy_auth manuel # regla de acceso http_access allow permitidos

1.4 Unión de los métodos anteriores Todas las opciones anteriores pueden combinarse de manera que nos puede quedar si queremos una regla que valide por dirección MAC, que además sea un IP permitida y que nos pida usuario y contraseña. Las reglas serían así: # listas de control de acceso acl all src 0.0.0.0/0.0.0.0 acl usuarios-permitidos proxy_auth manuel acl ip-permitida src "/etc/squid/ip-permitidas" acl mac-permitidas arp "/etc/squid/mac-permitidas" # reglas de control de acceso http_access allow mac-permitidas ip-permitidas usuarios-permitidos http_access deny all

de esta forma la regla funciona como un 'and' y tienen que cumplirse las tres para que tenga el acceso permitido.


Servidor proxy Squid con usuarios