Olá pessoal, boa noite.
Hoje resolvi passar o dia estudando este problema. Finalmente descobri o que ocorre para o Proxy solicitar constantemente o par de usuário e senha.
Quando você cria uma whiteslist (i.e. um perfil de filtro para permitir o acesso a apenas um conjunto de sites) no Zentyal, geralmente você seleciona a opção Bloquear domínios e URLs não listados. Esta opção em conjunto com algum tipo de autenticação no Proxy (e.g. LDAP, Kerberos) adiciona no arquivo /etc/squid3/squid.conf o comando abaixo (ao final de cada conjunto de ACLs de um dado grupo de usuários):
http_access deny authorized GRUPO
Por este motivo, quando o usuário tenta acessar um site qualquer e o Squid encontra essa linha, o processo de autenticação entra em um loop finito (a quantidade de iterações varia de acordo com a configuração do Proxy).
Minha solução:
Modificar os arquivos de configuração do Zentyal para não inserir o código supracitado ao utilizar whitelists em conjunto com grupo de usuários.
Abra o arquivo /usr/share/zentyal/stubs/squid/squid.conf.mas e vá até a linha 219 onde aparece o seguinte código:
$m->print($ruleStr);
Substitua o código acima por este outro:
if (_aclName($stub->{acl}) ne '') {
$m->print($ruleStr);
} elsif (index($ruleStr, 'allow') != -1) {
$m->print($ruleStr);
}
Em resumo, o meu código verifica se a atual ACL é referente a um site específico no primeiro if e, caso a ACL seja referente a um grupo de usuário, verifica se a ACL é do tipo blacklist no segundo if (i.e. queremos ignorar as ACLs que pertencem a uma whitelist).
Espero que esta solução sirva para os seus servidores também.
Cheers,
Fabricio Batista Narcizo