Squid e LDAP

O propósito deste apêndice não é cobrir integralmente o servidor Squid. Por isso, antes de proceder na configuração dos parâmetros necessários para a autenticação no LDAP, é recomendável que o leitor consulte algum manual de configuração do Squid, no caso de não ter claro seu funcionamento interno. Na seguinte url pode-se encontrar o manual do usuário oficial do servidor Squid: http://www.deckle.co.za/squid-users-guide/Main_Page.

Já que queremos que o Squid faça a autenticação dos usuários em uma árvore LDAP rodando no Linux, devemos alterar alguns parâmetros do arquivo squid.conf, localizado em /etc/squid. Como se pode comprovar no manual, o parâmetro authparam encarrega-se de definir os valores que fazem referência ao método de autenticação do Squid, podendo variar para cada caso. A terceira linha abaixo, do arquivo squid.conf_, deve receber uma atenção especial:

auth_param basic children 5
auth_param basic realm Servidor web cache Squid
auth_param basic program /usr/lib/squid/squid_ldap_auth -b "ou=People,dc=codeplex,dc=ndos" 127.0.0.1
 
acl password proxy_auth REQUIRED
acl LAN src 192.168.1.0/24
http_access allow LAN password


Nesta linha define-se o tipo de autenticação que o Squid utilizará. Neste caso um helper (ajudante) se encarrega de fazer o processo de autenticação no diretório LDAP. A partir da versão 2.4 do Squid, este helper vem incluído no pacote, não sendo necessário baixá-lo separadamente.

Para obter mais informações sobre os parâmetros que você pode passar à este helper, nada melhor que consultar a ajuda básica (digitando apenas o comando sem nenhum parâmetro), já que trata-se de um comando normal e freqüente.

# /usr/lib/squid/squid_ldap_auth
Usage: squid_ldap_auth -b basedn [options] [ldap_server_name[:port]]...
		.
		.
		.


Neste exemplo de configuração do Squid apenas indica-se como parâmetro a base dn a partir da qual o helper realizará a busca do usuário com o qual se está tentando autenticar e o endereço da máquina na qual se encontra a árvore LDAP. Apesar das opções básicas, é interessante observar uma série de detalhes.

Como padrão, o helper do LDAP utiliza o protocolo v2 do mesmo. Por esta razão, se o servidor está configurado apenas para permitir o protocolo v3, a autenticação não funcionará. No caso em que não seja interessante permitir o protocolo v2 no servidor LDAP, será necessário adicionar na linha do helper o parâmetro -v 3, da seguinte maneira.

auth_param basic program /usr/lib/squid/squid_ldap_auth -v 3 -b "ou=People,dc=codeplex,dc=ndos" 127.0.0.1


Outro detalhe é que, por padrão, o squidldapauth vai realizar a busca do usuário a partir da base dn indicada e nas entradas cujo atributo de usuário seja uid, como por exemplo:

uid=foo,ou=People,dc=codeplex,dc=ndos


Quando o atributo do nome dos usuários da árvore for diferente de uid, como por exemplo cn, este deverá ser especificado com o parâmetro -u.

Pronto! Feitas estas alterações, basta (re)iniciar o Squid para que ele possa autenticar os usuários em uma árvore LDAP.


Capítulo anterior | Índice | Próximo capítulo

Last edited Sep 17, 2007 at 7:16 PM by joicekafer, version 12

Comments

No comments yet.