Gente, tengo el squid.conf, configurado con los siguientes parametros:
auth_param basic program /usr/lib/squid/squid_ldap_auth -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -h 10.1.1.25 -f (uid=%s) auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off
external_acl_type ldap_group children=7 %LOGIN /usr/lib/squid/squid_ldap_group -P -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -f "(&(CN=%g)(objectClass=posixGroup)(memberUid=%u))"
acl lan src 10.1.1.0/255.255.255.0 acl CONNECT method CONNECT acl password proxy_auth REQUIRED acl internet_users external ldap_group Internet
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
http_access deny !internet_users http_access allow lan password
en ldap, tengo un grupo con el atributo posixGroup que se llama cn=Internet,dc=imcanelones,dc=gub,dc=uy, el cual esta agregado el uidMember carlos.moreira.
cuando intento acceder a internet desde una maquina dentro de la red lan con el usuario carlos.moreira, me da acceso denegado, pero si comento la linea http_access deny !internet_users puedo acceder a internet escribiendo mi nombre de usuario y contraseña, pero cualquier usuario de mi ldap con el nombre de usuario y contraseña accede tambien. Alguno sabe que es lo que tengo que arreglar para que solamente los usuarios que esten en el grupo Internet, puedan acceder a internet??? gracias
Hola:
auth_param basic program /usr/lib/squid/squid_ldap_auth -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -h 10.1.1.25 -f (uid=%s)
ejecuta ese comando sustituyendo la variable por lo que iria ahi, los authentication helpers del squid creo que solo devuelven un OK y otro valor. ahi puedes ver si funciona o no.
external_acl_type ldap_group children=7 %LOGIN /usr/lib/squid/squid_ldap_group -P -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -f "(&(CN=%g)(objectClass=posixGroup)(memberUid=%u))"
te digo lo mismo, primero asegurate de que el string de busqueda esta bien armado (pueden llegar a joder bastante). haz la prueba con ldapsearch utilizando esa cadena de busqueda y ese dn.
-f "(&(CN=%g)(objectClass=posixGroup)(memberUid=%u))"
veo que tienes dos variables %g y %u, el squid sabe cual es cada una? infiero que %u es el user: carlos.moreira, pero %g? otra cosa, CN es el canonical name? puede ser Carlos Moreira.
en ldap, tengo un grupo con el atributo posixGroup que se llama cn=Internet,dc=imcanelones,dc=gub,dc=uy, el cual esta agregado el uidMember carlos.moreira.
en la cadena de busqueda anterior donde defines el nombre del grupo que sirve de base? utilizas -b "ou=users,dc=imcanelones,dc=gub,dc=uy" y para hacer la busqueda defines que el objectclasss sea de tipo posixGroup, pero el arbol ldap puede tener muchos posixGroup (tu lo sabes, pero el ldap no). donde esta la restriccion de que el squid haga las busqueda en el dn: cn=Internet,dc=imcanelones,dc=gub,dc=uy ? entiendes mi duda?
Cuentamos de las pruebas que hagas, trato de asegurarme de que el ldap este ok, para seguir con el squid. Saludos Osvaldo
O. T. Suarez escribió:
Hola:
auth_param basic program /usr/lib/squid/squid_ldap_auth -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -h 10.1.1.25 -f (uid=%s)
ejecuta ese comando sustituyendo la variable por lo que iria ahi, los authentication helpers del squid creo que solo devuelven un OK y otro valor. ahi puedes ver si funciona o no.
No se como hacer para "ejecutar ese comando" en el promt de linux escribo: auth_param basic program /usr/lib/squid/squid_ldap_auth -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -h 10.1.1.25 -f (uid=carlos.moreira)
pero me devuelve error.
external_acl_type ldap_group children=7 %LOGIN /usr/lib/squid/squid_ldap_group -P -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -f "(&(CN=%g)(objectClass=posixGroup)(memberUid=%u))"
te digo lo mismo, primero asegurate de que el string de busqueda esta bien armado (pueden llegar a joder bastante). haz la prueba con ldapsearch utilizando esa cadena de busqueda y ese dn.
-f "(&(CN=%g)(objectClass=posixGroup)(memberUid=%u))"
veo que tienes dos variables %g y %u, el squid sabe cual es cada una? infiero que %u es el user: carlos.moreira, pero %g? otra cosa, CN es el canonical name? puede ser Carlos Moreira.
Aca le saque (CN=%g) xq la verdad no lo necesito , lo unico que me interesa es que exista el usuario y que tenga el atributo posixGroup entre sus objectClass
en ldap, tengo un grupo con el atributo posixGroup que se llama cn=Internet,dc=imcanelones,dc=gub,dc=uy, el cual esta agregado el uidMember carlos.moreira.
en la cadena de busqueda anterior donde defines el nombre del grupo que sirve de base? utilizas -b "ou=users,dc=imcanelones,dc=gub,dc=uy" y para hacer la busqueda defines que el objectclasss sea de tipo posixGroup, pero el arbol ldap puede tener muchos posixGroup (tu lo sabes, pero el ldap no). donde esta la restriccion de que el squid haga las busqueda en el dn: cn=Internet,dc=imcanelones,dc=gub,dc=uy ? entiendes mi duda?
Cuentamos de las pruebas que hagas, trato de asegurarme de que el ldap este ok, para seguir con el squid. Saludos Osvaldo
No se a que te referis con ¿donde definis el grupo que te sirve de base?, yo utilizo
ou=users,dc=imcanelones,dc=gub,dc=uy
porque debajo de ahi tengo definido todos los usuarios, lo que hice despues fue crear en ou=Groups,dc=imcanelones,dc=gub,dc=uy un cn=Internet el cual tiene como atributo posixGroup, y ahi agrego a todos los usuarios que quiero que salgan a internet perdon, pero omiti escribir la unidad organizativa Groups en el mail anterior
CentOS-es mailing list CentOS-es@centos.org http://lists.centos.org/mailman/listinfo/centos-es
Gracias por responder, salu2 Carlitos
Hola Carlos:
No se como hacer para "ejecutar ese comando" en el promt de linux escribo: auth_param basic program /usr/lib/squid/squid_ldap_auth -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -h 10.1.1.25 -f (uid=carlos.moreira)
pero me devuelve error.
fijate en la linea del squid, te da el camino completo del binario (el authentication helper en este caso), seria ejecutar en la linea de comandos: /usr/lib/squid/squid_ldap_auth -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -h 10.1.1.25 -f (uid=carlos.moreira) Eso te da error? Ese comando cuando lo ejecutes, si esta bien, te debe dar un OK. Un detalle, para consultar el arbol ldap que credenciales utiliza el squid_ldap_auth? revisa en la documentacion como se configura y dime.
veo que tienes dos variables %g y %u, el squid sabe cual es cada una? infiero que %u es el user: carlos.moreira, pero %g? otra cosa, CN es el canonical name? puede ser Carlos Moreira.
Aca le saque (CN=%g) xq la verdad no lo necesito , lo unico que me interesa es que exista el usuario y que tenga el atributo posixGroup entre sus objectClass
mejor asi, vamos quitando lo que no sirve y al final, puede que logres que funcione! ;)
Quizas por ahora te interesa que exista el usuario, pero eventualmente te va a interesar que pertenezca a determinado grupo.
Aparte, el usuario, no va a (bueno, no debiera) tener el atributo posixGroup entre sus objectClass, eso te lo digo desde ahora mismo. O es un usuario o es un grupo, posixGroup como objectClass se utiliza para los grupos, no?
No se a que te referis con ¿donde definis el grupo que te sirve de base?, yo utilizo ou=users,dc=imcanelones,dc=gub,dc=uy
las busquedas ldap tienen una base siempre, una rama del arbol ldap a partir de la cual hacen la consulta.
porque debajo de ahi tengo definido todos los usuarios, lo que hice despues fue crear en ou=Groups,dc=imcanelones,dc=gub,dc=uy un cn=Internet el cual tiene como atributo posixGroup, y ahi agrego a todos los usuarios que quiero que salgan a internet
o sea, tu busqueda es si existe pertenencia a ese grupo, una vez lo hice, no para squid sino para apache, busca ejemplos de como configurar autentificacion por ldap en apache, ya se que son distintos pero la parte de los criterios de busquedas es similar y te va a ayudar a entender que hay que hacer y como armar las cadenas de busquedas.
Recuerda siempre, pruebalos con ldapsearch desde el prompt, hasta que eso no te funcione ok, no te compliques con el squid. Asi afinas bien el criterio de busqueda y luego te dedicas al squid. Saludos Osvaldo
O. T. Suarez escribió:
Hola Carlos:
No se como hacer para "ejecutar ese comando" en el promt de linux escribo: auth_param basic program /usr/lib/squid/squid_ldap_auth -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -h 10.1.1.25 -f (uid=carlos.moreira)
pero me devuelve error.
fijate en la linea del squid, te da el camino completo del binario (el authentication helper en este caso), seria ejecutar en la linea de comandos: /usr/lib/squid/squid_ldap_auth -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -h 10.1.1.25 -f (uid=carlos.moreira) Eso te da error? Ese comando cuando lo ejecutes, si esta bien, te debe dar un OK. Un detalle, para consultar el arbol ldap que credenciales utiliza el squid_ldap_auth? revisa en la documentacion como se configura y dime.
Sabes que estuve todo el dia intentando solucionar esto, pero no lo consigo.. me da siempre ERR. sobre el detalle del que me haablar.. a que documentacion te referis? pero hay algo que si es cierto.. en ninguna parte del servidor he configurado algun usuario para que pueda ingresar al ldap, aclaro que el servidor ldap, es un servidor externo, y anda fenomenal. ya que lo uso para autenticar los equipos con windows, como libreta de direcciones del correo, autenticacion de correo (qmail), y como autenticacion para samba, para un servidor de archivos. Pero no se si es que tengo que agregarle algun schema para que me funcione con squid. o algo de eso.
veo que tienes dos variables %g y %u, el squid sabe cual es cada una? infiero que %u es el user: carlos.moreira, pero %g? otra cosa, CN es el canonical name? puede ser Carlos Moreira.
Aca le saque (CN=%g) xq la verdad no lo necesito , lo unico que me interesa es que exista el usuario y que tenga el atributo posixGroup entre sus objectClass
mejor asi, vamos quitando lo que no sirve y al final, puede que logres que funcione! ;)
Quizas por ahora te interesa que exista el usuario, pero eventualmente te va a interesar que pertenezca a determinado grupo.
en realidad no tengo interes que exita el usuario, solamente con que pertenezca al grupo cn=Internet,ou=Groups,dc=imcanelones,dc=gub,dc=uy me conforma para que pueda salir a internet.
Aparte, el usuario, no va a (bueno, no debiera) tener el atributo posixGroup entre sus objectClass, eso te lo digo desde ahora mismo. O es un usuario o es un grupo, posixGroup como objectClass se utiliza para los grupos, no?
El usuario no tiene el atributo posixGroup, fui yo que me exprese mal, te dejo mas abajo el ldif de un usuario.
No se a que te referis con ¿donde definis el grupo que te sirve de base?, yo utilizo ou=users,dc=imcanelones,dc=gub,dc=uy
las busquedas ldap tienen una base siempre, una rama del arbol ldap a partir de la cual hacen la consulta.
por ejemplo, para las busquedas de la libreta de direcciones del servidor de correo, la basedn es ou=users,dc=imcanelones,dc=gub,dc=uy
porque debajo de ahi tengo definido todos los usuarios, lo que hice despues fue crear en ou=Groups,dc=imcanelones,dc=gub,dc=uy un cn=Internet el cual tiene como atributo posixGroup, y ahi agrego a todos los usuarios que quiero que salgan a internet
o sea, tu busqueda es si existe pertenencia a ese grupo, una vez lo hice, no para squid sino para apache, busca ejemplos de como configurar autentificacion por ldap en apache, ya se que son distintos pero la parte de los criterios de busquedas es similar y te va a ayudar a entender que hay que hacer y como armar las cadenas de busquedas.
Recuerda siempre, pruebalos con ldapsearch desde el prompt, hasta que eso no te funcione ok, no te compliques con el squid. Asi afinas bien el criterio de busqueda y luego te dedicas al squid. Saludos Osvaldo
como puedo utilizar el ldapsearch desde el servidor donde tengo squid? ya que no tengo instalado ldap ahi, gracias
dn: uid=carlos.moreira,ou=Redes,ou=ATI,ou=Palacio Municipal,ou=Usuarios de Correo,ou=Users,dc=imcanelones,dc=gub,dc=uy sambaLMPassword: 76BB9311DE4EB4E9F7E62F36F8DB5AE6 sambaPrimaryGroupSID: S-1-5-21-1064533117-1993488802-1232828436-513 displayName: carlos.moreira accountStatus: active objectClass: top objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount objectClass: sambaSamAccount objectClass: person objectClass: organizationalPerson objectClass: qmailUser sambaLogonTime: 0 ou: Equipo de Gobierno mailMessageStore: imcanelones.gub.uy/carlos.moreira uid: carlos.moreira mail: carlos.moreira@imcanelones.gub.uy uidNumber: 2692 cn: carlos.moreira sambaLogoffTime: 2147483647 sambaPwdLastSet: 1189601925 loginShell: /bin/false sambaAcctFlags: [U ] gidNumber: 513 sambaPwdMustChange: 2147483647 gecos: carlos.moreira sambaPwdCanChange: 1189601925 sambaSID: S-1-5-21-1064533117-1993488802-1232828436-2692 sambaNTPassword: 611BCB4DA3909E04C21B34C3EB9F7818 description: Usuario de ATI mailHost: mail.imcanelones.gub.uy homeDirectory: /home/carlos.moreira sambaKickoffTime: 2147483647 mailQuotaCount: 0 sn: Carlos Moreira sambaPasswordHistory: 000000000000000000000000000000000000000000000000000000 0000000000 userPassword: {MD5}x5znIVIm6W6Ul9IvtfImuA== mailQuotaSize: 3221225472
CentOS-es mailing list CentOS-es@centos.org http://lists.centos.org/mailman/listinfo/centos-es