Instalação de proxy autenticado com Squid [Dica]
Publicado por Mauricio Vieira Gomes da Silva em 08/07/2008
Como tive algumas dificuldades para a implementação de tal solução na empresa onde trabalho, venho aqui postar a solução adotada.
1) Instalar o Squid:
2) Conferir a existência dos seguintes diretórios e arquivos. Se não existir, criar.
a) Diretórios:
/usr/local/squid/var/cache/
/usr/local/squid/share/errors/
3) Conferir se os arquivos/diretórios abaixo existem:
/usr/local/squid/share/errors/Portuguese
Este é o diretório que contém as páginas de erro padronizadas, em português. Caso não exista, pode-se fazer o download dos fontes do Squid em http://www.squid-cache.org/Versions. Na coluna da tabela à esquerda, clique na versão mais recente indicada como "STABLE" e baixe o arquivo compactado. Descompacte o pacote e copie os arquivos de squid_descompactado/errors/Portuguese para o diretório indicado acima no servidor.
Executável que "conversa" com o OpenLDAP. Deve ter permissão de execução.
4) Alterar a propriedade do diretório /usr/local/squid/ para o o usuário nobody, grupo nogroup, usando o seguinte comando:
5) Fazer um backup do arquivo /etc/squid/squid.conf. Uma das maneiras de fazer isso é:
6) Copie o arquivo anexo squid.conf para /etc/squid/. Este arquivo já possui as configurações mínimas para o Squid funcionar autenticando no OpenLDAP. Uma lida no arquivo squid.conf original (/etc/squid/squid.conf.orig) pode fornecer ajuda suficiente para modificações que se fizerem necessárias.
Altere as linhas abaixo conforme seu caso específico:
auth_param basic program /usr/lib/squid/ldap_auth -P -b "dc=seu_domínio,dc=br" -f "uid=%s" ip_ldap_server:porta
visible_hostname servername.dominio.br
7) Execute no shell:
Com este comando, o Squid cria sob /usr/local/squid/var/cache a estrutura de diretórios onde vai ser feito o cache. Navegue até lá e confira se o proprietário de tudo abaixo de /usr/local/squid/var/cache/ é o usuário nobody, do grupo nogroup. Se não:
# chown -R nobody:nogroup /usr/local/squid/var/cache/
9) Se tudo tiver correto, o comando:
# ps -e | grep squid
deve retornar DUAS linhas, mostrando que existem dois processos com o nome squid. Rode também:
o que deve trazer uma linha como a seguinte:
mostrando que o squid está rodando na porta 3128. Se nmap não estiver instalado:
10) Caso um dos testes do item 9 falhar (geralmente o primeiro), um olhada em /usr/local/squid/var/logs/cache.log pode ajudar. Neste arquivo o Squid grava o log de execução e as mensagens de erro. Geralmente são úteis e ajudam a resolver o problema.
11) O Squid pode ser instalado a partir dos fontes, que podem ser obtidos em http://www.squid-cache.org/, conforme indicado no item 3. Seguem os procedimentos para instalação, supondo que a versão usada seja a squid-2.6.STABLE12: