Podríamos, de manera muy básica (hay programas dedicados para ello) crear un tipo de hotspot que deniegue todo el tráfico pero que mediante el uso de cuentas de usuario permita la navegación.
Squid permite ésta opción, y es que, por muy básica que sea, se ajusta perfectamente a las necesidades.
Seguir leyendo 'Entrar mediante usuario y contraseña en Squid'
Puesta en escena
Imaginemos que tenemos montado un hotspot y queremos que cuando alguien entre en el pida un usuario y contraseña para poder navegar.
En squid, podríamos crear usuarios y contraseñas y habilitarlos y de ésta forma, controlar un poco más el tráfico que realizan nuestros clientes y dar una capa más de seguridad a nuestro proxy.
Puesta en marcha
Haremos uso de regla tipo password para habilitar el acceso mediante cuentas de usuario en squid.
Lo primero que vamos a hacer es crear el archivo de configuración en el que iremos guardando los usuarios.
Como realizaremos todo el trabajo desde la carpeta de squid nos movemos a esa ruta y creamos el fichero:
cd /etc/squid
touch usuarios
Ahora, cambiamos los permisos del archivo (como adminstador) para que solamente el pueda modificar los usuarios.
chmod 600 usuarios
Una vez hecho ésto, ya podemos crear los usuarios. Ésto lo haremos mediante el programa htpasswd, que podremos instalar mediante la órden (en ubuntu):
sudo apt-get install htpasswd
y creamos nuestro primer usuario:
htpasswd usuarios usuario1
Nos fijamos en que el usuario que hemos creado se llama usuario1 y se ha añadido a nuestro fichero de usuarios. Si todo ha ido bien, tras haber lanzado ésta orden el sistema habrá pedido que introduzcamos una contraseña.
Una vez creado el usuario, podremos configurar nuestro servidor proxy para que pida contraseña cada vez que alguien entre a navegar.
La siguiente regla la añadimos debajo de la configuración básica de squid en el archivo /etc/squid/squid.conf
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/usuarios
para que use el archivo usuarios para comprobar los usuarios y contraseñas.
Ahora pasamos a crear el acl que indique que se requiere de contraseña:
acl password proxy_auth REQUIRED
Lo único que nos falta ahora es decirle a squid a quíen debe pedir contraseña. Para poner un ejemplo, tengo configurado dos acl's:
acl all 0.0.0.0/0.0.0.0
acl red 192.168.10.0/255.255.255.0
y a red le permito navegar y a all no (para que no se metan intrusos desde otra red).
http_access allow red
http_access deny allAhora, si queremos que red tenga acceso pero mediante el uso de contraseña, dejamos la línea de ésta forma:
Listo, reiniciamos nuestro servidor squid y ya podremos acceder mediante usuario y contraseña.
Abajo os dejo mi configuración de squid para que véis como ha quedado la configuración de squid mediante usuario y contraseña.
http_port 3128
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/usuarios
#Definir acceso:
acl all src 0.0.0.0/0.0.0.0
acl red src 192.168.10.0/255.255.255.0
acl password proxy_auth REQUIRED
#Permitir o bloquear:
http_access allow red password
http_access deny all
2 de Febrero de 2011
Excelente artículo, gracias por compartirlo.
ResponderEliminarComo cierra el usuario la sesión entre el navegador y el squid?
ResponderEliminar