Problemas em Squid2 autenticar no Ldap3 do Zimbra



  • Pessoal,
    Usei o pfSense até um tempo atrás e estou um pouco enferrujado, depois de trabalhar com outros focos da TI.

    Estou tentando migrar os serviços Squid+Squidguard autenticando em uma base Ldap Zimbra de um servidor linux para um pfSense, mas não estou conseguindo ter sucesso na autenticação na base Ldap do Zimbra.
    Já pesquisei bastante, mas quase não achei nada que ajudasse.

    O servidor em produção é um Fedora21, kernel 3.19.7, com squid-3.4.12.
    No squid.conf está funcionando assim:

    AUTENTICAR

    auth_param basic program /usr/lib64/squid/basic_ldap_auth -b "dc=AAA,dc=BBB,dc=CCC" -D "" -w "" -f "(&(uid=%s)(objectClass=zimbraAccount))" -v 3 -h IP_ZIMBRA -p 389
    external_acl_type ldap_group %LOGIN /usr/lib64/squid/ext_ldap_group_acl -D "" -w "" -b "dc=AAA,dc=BBB,dc=CCC" -f "(&(objectclass=person)(sAMAccountName=%u)(memberof=*))" -S -v 3 -h IP_ZIMBRA -p 389
    acl ldapauth proxy_auth REQUIRED

    No pfSense 2.2.4, testei as versões squid2 e squid3. Mais focado no squid2 instalado pelo Package Manager do pfSense.
    Em 'Proxy Server\ Auth Settings', coloquei os parâmetros assim:
      LDAP version: 3
      Authentication server: IP_ZIMBRA
      Authentication server port: 389
      LDAP server user DN: ""
      LDAP password:
      LDAP base domain: dc=AAA,dc=BBB,dc=CCC
      LDAP username DN attribute: uid
      LDAP search filter: (&(uid=%s)(objectClass=zimbraAccount))

    No browser fica sempre pedindo credenciais e no access.log continua denied access.

    Alguém já configurou algum ambiente parecido ?

    já estava aqui quando cheguei

    não sou especialista em ldap



  • Bem, como consegui descobrir a resolução vou colocar aqui para quem mais precisar:

    No squid do servidor a linha abaixo efetua a consulta na base LDAP do Zimbra:
    auth_param basic program /usr/lib64/squid/basic_ldap_auth -b "dc=AAA,dc=BBB,dc=CCC" -D "" -w "" -f "(&(uid=%s)(objectClass=zimbraAccount))" -v 3 -h IP_ZIMBRA -p 389

    Os parâmetros -D "" -w "" passam o usuário e senha vazios para a consulta. E isso não é permitido na GUI do pfsense.
    Tentei passar o DN de usuários com permissão admin, mas também sem sucesso;

    Consegui fazer funcionar colocando as linhas diretamente em "Custom Options" e funcionou. A linha ficou assim:
    auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -v 3 -b "dc=AAA,dc=BBB,dc=CCC" -D "" -w "" -f "(&(uid=%s)(objectClass=zimbraAccount))" -h IP_ZIMBRA  -p 389;

    Mas eu não queria ter de deixar a configuração aqui. Então testando várias formas, conseguir passar esse campos vazios e fazer o squid do pfSense utilizar a base Ldap do Zimbra com "" nos dois campos.

    Segue os parâmetros que funcionaram :

    Proxy server: Authentication
      LDAP version: 3
      Authentication server: IP_ZIMBRA
      Authentication server port: 389
      LDAP server user DN: ""
      LDAP password: ""
      LDAP base domain: dc=AAA,dc=BBB,dc=CCC
      LDAP username DN attribute: uid
      LDAP search filter: (&(uid=%s)(objectClass=zimbraAccount))
      Authentication prompt: Insira as credenciais para acessar a internet
      Authentication processes: 8
      Authentication TTL: 300

    Ah, solução testada nas versões pfSense 2.1.5 e 2.2.4


Log in to reply