Squid + SquidGuard + Autenticacion WMI + Filtrado ACL con LDAP



  • Estimados, instale squid con squidguard en pfsense 2.3. Baje un modulo de autenticacion por WMI para validar la sesion de active directory y que me deje navegar sin colocar el usuario y clave. El modulo es : http://conexti.com.br/sso_wmi/

    Bien, sin habilitar el squidguard, el modulo de wmi funciona ok, es transparente y me valida las sesiones iniciadas de active directory y me deja navegar.

    El problema viene al habilitar squidguard, con las ACL'S y LDAP. Aqui es cuando dejo de navegar, supongo que el error debe estar en la consulta de ldap que estoy armando. Les comento como esta armando mi arbol de Active Directory:

    Dominio=midominio.com.ar
    Usuario=Administrator (dentro de USERS)

    Luego tengo algunos grupos llamados "Internet full access" e "Internet full Access Plus"

    Estos grupos los tengo dentro de Usuarios -> Empresa

    Bien, en la configuracion de squidguard lo puse de la siguiente forma :

    "Pestaña general"

    Enable LDAP Filter: Activado

    LDAP DN: CN=Administrator,CN=Users,DC=midominio,DC=com,DC=ar

    LDAP query Server in Batch mode: ip del active directory

    LDAP query base OU DN in Batch mode: OU=Empresa,OU=Usuarios,DC=midominio,DC=com,DC=ar

    "Pestaña Groups ACL"

    Cree un grupo, y dentro de Client (source) puse la siguiente consulta:

    ldapusersearch  ldap://192.168.0.23/DC=midominio,DC=com,DC=ar?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=Internet Full Access Plus%2cOU=Empresa%2cOU=Usuarios%2cDC=midominio%2cDC=com%2cDC=ar))

    Y al intentar navegar, con mi usuario que esta dentro del grupo, no me lo permite, y al ver el log de squidguard me arroja lo siguiente:

    26.05.2016 10:57:02 Added LDAP source: midominio/miusuario
    26.05.2016 10:57:02 (squidGuard): ldap_search_ext_s failed: Operations error (params: DC=midominio,DC=com,DC=ar, 2, (&(sAMAccountName=midominio/miusuario)(memberOf=CN=Internet Full Access Plus,OU=Empresa,OU=Usuarios,DC=midominio,DC=com,DC=ar)), sAMAccountName)

    Alguna idea de como poder solucionar este error? por ssh probe lo siguiente y me leyo el arbol de AD sin problemas:

    ldapsearch -x -h 192.168.0.x -p 389 -b  | -D CN=Administrator,CN=Users,DC=midominio,DC=com,DC=ar -w Mipassword

    Desde ya les agradeceria si me pueden ayudar!

    saludos a la comunidad.





  • Si, probe de aplicar ese patch, y ponerlo en batch mode y en la parte de client source el nombre del grupo entre corchetes [] pero tampoco funciono.

    Una vez que agrego el group acl, debo añadir una regla o algo que diga que tiene acceso a navegar dentro de squid? o solo con eso basta?



  • Hola

    Por si ayuda: Un ejemplo de squidGuard.conf de su página.
    LDAP specific setting in squidGuard.conf
    http://www.squidguard.org/Doc/authentication.html

    ldapbinddn    cn=root, dc=example, dc=com
    ldapbindpass  myultrasecretpassword

    ldap cache time in seconds

    ldapcachetime  300

    src my_users {
        ldapusersearch  ldap://ldap.example.com/cn=squidguardusers,ou=groups,dc=example,dc=com?memberUid?sub?(&(objectclass=posixGroup)(memberUid=%s))
      }

    src allowed_ips {
        ldapipsearch ldap://ldap.example.com/ou=internetcomputers,dc=example,dc=com?iphostnumber?sub?(&(objectclass=iphost)(iphostnumber=%s))
    }

    Salu2



  • 1 revisastes que la version del squidguard es la misma del ejemplo
    2 el creador del mod esta en este mismo sitio en el https://forum.pfsense.org/index.php?board=12.0 marcelloc a lo mejor puedes hacerle la consulta personalmente.



  • creo que el problema esta en la configuración del squidguard. Desinstale todos los modulos, e instale de 0 el squid, le puse autenticación con LDAP. Configure los parámetros y cuando autentica, me permite navegar.

    Ahora, instale el squidguard, si lo habilito sin configurar nada, no me deja navegar, si voy a "common acl" y pongo "default Access all" en allow me permite navegar sin problemas.

    Hay algo que no estoy comprendiendo… Necesito ahora decirle al squidguard que los usuarios del grupo "permitidos" de active directory pueden navegar. Y los usuarios del grupo "denegados" del AD no pueden navegar. Como se supone que debo proceder? debo crear un groups acl con una consulta de ldap para que traiga el grupo de AD? y luego, como le digo que no puede navegar? Por otra parte veo que si agrego un target categories tengo que poner uno a uno los sitios por los que pueden navegar, no hay una forma de hacerlo usando algún comodin * ?

    en conclucion, necesito filtrar con squidguard los grupos de active directory que pueden navegar y los que no.

    Muchas gracias.

    Si logro solucionarlo, implementare la autenticación wmi luego, y armare un post completo sobre como hacerlo funcionar.



  • mira algo como este ejemplo

    Origen basado en grupo LDAP en Active Directory

    Grupo: CN=Internet_Alto,OU=Grupos_Internet,OU=Grupos,DC=example,DC=com

    src ad_internet_alto {
            ldapusersearch ldap://192.168.221.12:3268/DC=example,DC=com?sAMAccountName?sub?(&(memberof=CN=Internet_Alto,OU=Grupos_Internet,OU=Grupos,DC=example,DC=com)(sAMAccountName=%s))
    }

    Origen basado en grupo LDAP en Active Directory

    Grupo: CN=Internet_Medio,OU=Grupos_Internet,OU=Grupos,DC=example,DC=com

    src ad_internet_medio {
            ldapusersearch ldap://192.168.221.12:3268/DC=example,DC=com?sAMAccountName?sub?(&(memberof=CN=Internet_Medio,OU=Grupos_Internet,OU=Grupos,DC=example,DC=com)(sAMAccountName=%s))
    }

    Origen basado en grupo LDAP en Active Directory

    Grupo: CN=Internet_Bajo,OU=Grupos_Internet,OU=Grupos,DC=example,DC=com

    src ad_internet_bajo {
            ldapusersearch ldap://192.168.221.12:3268/DC=example,DC=com?sAMAccountName?sub?(&(memberof=CN=Internet_Bajo,OU=Grupos_Internet,OU=Grupos,DC=example,DC=com)(sAMAccountName=%s))
    }

    espero que resuelvas