Identificar usuarios con ip (squid con accesos por usuario)
-
@ZAC:
No me quiero salir del tema, para tampoco quiero abrir otro post solo por esta pregunta, ¿esto se puede hacer "solo" para la autentificación del portal cautivo?, ¿o solo así como lo plantean aquí?
ZAC, son dos cosas distintas. El control de usuarios de Captive Portal persigue saber quién usa nuestros servicios de red, sean los que sean. El de squid, quien usa y para qué sitios el acceso a internet.
Evidentemente, cuando de ejercen controles de este tipo hay que cumplir las leyes de la zona donde se esté, pues se puede vulnerar la privacidad de los usuarios.
-
Hola Bellera, cumplo todos los puntos que me indicas
El navegador sabe que usa un proxy, para acceder a internet me tengo que validar con un página de login que cree en la parte de portal cautivo , he probado a usar los usuarios creados en squid y los usuarios creados en usuarios locales indicándolo siempre en el portal cautivo, me valido sin problemas pero en los logs de squid no aparece nunca el nombre, en los logs que hace ligthsquid sale una ? en realname , la ip sí aparece y las páginas visitadas
Con sarg me pasa igual.
El tema es que no consigo que me aparezca en los logs el nombre de usuario que se conecta , los demás datos me aparecen sin problemas, tiempo, páginas, ip…
Ya no se qué mirar,
Gracias. -
Incorrecto. La validación debe pedirla squid, no el portal cautivo.
Desactiva el portal cautivo para probar y sigue los pasos del ejemplo que te dí. En access.log (de squid) tendrás el nombre de usuario.
Otra cosa es que quieras integrar los dos, mediante validación única. No sé si se puede. Lo miro…
-
No veo nada para hacer single sign-on (validación única) para CP (Captive Portal) y squid.
No es elegante, pero como los navegadores permiten guardar usuario/contraseña no veo otro remedio que pedir el usuario/contraseña en el portal cautivo y después en el proxy, si deseas control por nombre de usuario en este último.
Evidentemente, esto te obliga a montar un servicio de usuarios único, ya que tanto CP como squid precisan de él por separado.
En cuanto a la coexistencia de squid3 y CP parece que hay una opción en squid3 llamada patch captive portal que tiene por objetivo que el portal cautivo no pueda ser saltado cuando se indica el proxy en el navegador.
http://forum.pfsense.org/index.php?topic=58535.0
http://forum.pfsense.org/index.php?topic=65694.0Si deseas cosas más afinadas, pero bastante más complicadas:
Google single sign on captive portal squid pfsense
http://forum.pfsense.org/index.php?topic=58700.0
¡Suerte!
Nota: marcelloc es el desarrollador del paquete squid3 para pfSense.
-
A ver, estuve siguiendo este hilo, al principio se habla del problema por que los logs de squid no guardaban la IP/usuario, tengo mucho tiempo y nunca he tenido problema de esto, me huele a error en alguna aplicacion que no se almaceno bien cuando se instalo, no le veo otro por que.
Ahora al final veo que ya se mezcla CP+squid, en la version 2.0.x esto era un problema, habia hacks pero era algo muy complejo, creo que no hemos escuchado todo el planteamiento bien desde el principio.
Y no importa si usas LDAP, AD, Local Users, etc, squid siempre pone quien esta autenticando cuando esta bien configurado, es un software que tiene mucho tiempo, no creo que falle al menos que algo no se haya instalado bien.
Como comenta bellera, hay un hack en squid3 con cp que no he probado aun, pero no entiendo al final que en realidad pretendes llevar a cabo, si estas usando squid y habilitastes logs y diste de alta usuario+password, no hemos visto ninguno de tus logs.
SI tienes estos parametros configurados y cuando navegas te aparece la ventana de usuario+password. muestra esos logs para verlos.?
Saludos.
-
ok , lo pruebo y os comento.
Muchas Gracias. -
Buenas , cada vez estoy más perdido , si desactivo el portal cautivo y con squid arrancado , no me pide validación .
Lo pruebo con proy transparente y sin proyx transparente.
Os pego la config de squid.
Gracias
-
más capturas
-
Proxy transparente -> No admite autentificación, pues el navegador n sabe que tiene un proxy.
Por el resto, debería ir. ¿Probaste stop/start del proxy? Con los cambios igual hay algún lío.
Se me ocurre que verifiques que tu equipo no navega si el proxy está parado…
-
Acabo de probarlo , sin portal cautivo puedo navegar sin pedir autentificación , aunque arranque o tire el proxy .
Es como si el squid no me hiciera caso en acces control en allowed subnets tengo la dirección de la red . -
Allowed subnets no es necesario rellenarlo con la subred empleada con el proxy. Fíjate en la nota que hay debajo.
Pero eso no tiene importancia para la autentificación. Es simplemente para indicar qué IPs de origen pueden emplear el proxy.
Creo que no debes tener bien configurado el proxy en el navegador, pues normalmente si un navegador no encuentra un proxy impuesto, simplemente no navega.
Y como tu navegador va directo, no autentificas.
-
En el navegador tengo activado que detecte la config automaticamente, si activo el portal cautivo sale la pantalla de login si lo quito navego sin problemas , y con squid levantado o caido , esto antes no me pasaba
-
La detección automática de proxy NO funciona en muchos casos. Este tema está ampliamente detallado arriba, en Documentación.
Debes indicar el proxy por IP y puerto, tal como dije en la prueba realizada.
Después todo esto se puede afinar, según el entorno de trabajo (sistemas operativos, navegadores, topología de red…)
-
Hola Bellera , si especifico en los clientes el proxy en el navegador sí me pide validación squid y en los logs me muestra el usuario, todo esto sin tener activado el portal cautivo, el problema es que si no se indica el proxy los usuarios entran sin validación, esto es un problema grave , cómo puedeo solucionarlo?
GRacias.
-
Mediante ajuste de las reglas en LAN.
1. No dejes ir a los destinos TCP 80 (http), TCP 443 (https) y TCP 8000-8100 (http alternativos).
2. O mejor aún, autoriza en LAN sólo lo que sea estrictamente necesario. Eso también depende de tu infraestructura de red. Por ejemplo, si tienes un DNS y NTP locales y los usuarios siempre emplean correo web igual no necesitan ir directo a internet para nada.
Con una estructura así quien no tiene el proxy indicado en el navegador no puede navegar al exterior.
Según cuál sea la tipología de tus usuarios conviene emplear la segunda opción que te digo, pues hay muchas formas de evasión. Una de ellas es, por ejemplo, emplear conexiones TCP 22 (ssh) para usar proxys externos y poder así, navegar.
-
El problema es que el servicio que queremos dar , es una red de invitados y configurar los navegadores es algo engorroso , necesito algo más sencillo para los usuarios , que abran un navegador y automáticamente se les pida las credenciales y esas credenciales y acceso se puedan monitorizar y almacenar.
GRacias.
-
Entiendo… pero esto es cada vez más habitual...
Los usuarios, si precisan de internet, se amoldan a ello.
Ejemplos:
http://www.bib.ub.edu/index.php?id=51&L=1
http://www.upm.es/institucional/Estudiantes/Servicios_Red/OtrosServicios
-
Entonces no podría hacerlo sin tocar la configuración de los navegadores de los clientes?
GRacias. -
Bueno, esto es código libre (licencia BSD) y se pueden hacer muchas cosas si hay conocimiento y tiempo.
El problema es que el servicio que queremos dar , es una red de invitados
En un entorno como este supongo que precisais:
- Portal cautivo con autentificación
- Proxy transparente
- squid 3.x para soportar filtrado https (al estar el proxy en modo transparente)
Con eso y herramientas de análisis se podría relacionar el nombre de usuario logueado en el portal cautivo con su IP de cliente para "alterar" los logs de squid y tener en ellos el nombre de usuario y poder tener los datos de acceso por usuario.
Que yo sepa, esto no está heho.
Y, además…
Cuando de ejercen controles de este tipo hay que cumplir las leyes de la zona donde se esté, pues se puede vulnerar la privacidad de los usuarios.
-
Hola Bellera, me bastaría si lo pudiera relacionar de forma manual , la necesidad que tengo es poder relacionarlo.
Gracias.