Integração Squid – AD via kerberos

Olá tudo bem? Devido a atualização de SO na empresa (Xp para 7) a integração previamente configurada entre o Squid e o AD começou a apresentar problemas devido a incompatibilidade do Win 7 com o método de autenticação Ntlm,  definiu-se que seria utilizado o Kerberos para autenticar os usuários. Meta definida, mãos a obra! Depois de muita pesquisa e muitas tentativas frustradas consegui fazer a implementação funcionar e resolvi montar esse guia com o processo que executei, pois encontrei exelentes guias, mas que isoladamente não resolveram. No fim do post eu coloco as referências utilizadas, que podem servir para ampliar o conhecimento ou ajudar a debugar um eventual erro.

 

Ambiente

Centos 6.4 Minimal install | Squid 3.1 | Windows Server 2008 R2

 

Parte 1 – Infra de rede

Parte 2 – Instalação dos programas e dependências

Parte 3 – Configuração do Kerberos e Squid

 

Parte 1 – Infra de rede

Linux

1.1 – Update após a instalação

1.2 – Configurar nome da máquina e interfaces de rede

1.3 – Reiniciar a rede

1.4 – Configurar DNS

1.5 – Desativar o SElinux

1.6 – Configurar o iptables

1.6.1 – Criar um serviço

OBS: Script de teste apenas! NÂO UTILIZAR EM PRODUÇÂO!!

1.6.2 – Salve o arquivo, torne – o executável e o inicialize para que ele possa ser lançado como serviço.

1.6.3 – Marque o serviço para ser inicializado no boot

1.7 – Configurar o NTP

O Kerberos é sensível ao tempo. Os servidores têm que estar configurados em um mesmo NTP. Você pode usar um servidor local previamente configurado ou o ntp.br Segue as instruções para sincronizar com o ntp.br

1.7.1 – instalar o ntp

1.7.2 – Criar arquivo drift

1.7.3 – Inicializar o serviço forçando o 1º ajuste

1.7.4 – Substituir conteúdo do arquivo ntp.conf

1.7.5 – reiniciar o serviço ntp

Windows

  • Fixar IP’s
  • Promover para AD (dcpromo)
  • Crie a zona reversa no DNS
  • Crie um PTR para o AD
  • Crie um registro A para o servidor Linux, com o PTR
  • Criar usuário squid
  • Cofigurar ntp.br

Parte 2 – Instalação dos programas e dependências

 

2.1 – Instalar Squid e dependências

2.2 – Instalar módulo de leitura de grupos no AD

 

Todos os programas e dependências instalados, vamos confirmar os principais pontos:

1 – Kerberos é sensível a tempo, os servidores linux e windows tem que estar com o mesmo horário e fuso. Configurar os dois no mesmo ntp, eu uso o ntp.br

2 – As duas máquinas tem que estar registradas no mesmo servidor DNS, resolvendo nome, ip e reverso.

3 – Configuração do ambiente.

Domínio : UZUMAKI.LOCAL

Serv AD: sakura

Ip AD: 172.16.1.2

Serv Squid: naruto

Ip Squid: 172.16.1.1

 

Testando as configurações de rede

Tudo ok, seguimos adiante para a parte final.

 

Parte 3 – Configuração do Kerberos e Squid

 

3.1 – Gerar keytab

Servidor Windows

Enviar arquivo gerado para o servidor linux (/etc/squid)

Linux

Dar permissão para o usuário squid no arquivo HTTP.keytab

3.2 – Configurar o Kerberos

Substitua pelos nomes dos seus servidores e domínio mantendo a formatação

3.3 – Configurar o Squid

Adicionar ao squid.conf

Parâmetro de autenticação individual

Parâmetro de autenticação por grupos do AD

3.4 – Configurar arquivo de inicialização do Squid para não realizar cache de autenticação e indicar a localização da keytab.

3.5 – Inicialização automática do Squid

3.6 – Integração com o AD

3.7 – Listando conteúdo da HTTP.keytab

3.8 – Autenticando a máquina com a keytab

3.9 – Verificando a versão do ticket obtido

Pronto! Integração realizada com sucesso!

Agora basta configurar o proxy nos navegadores utilizando o nome do servidor de proxy.

Caso ocorra algum erro, verifique inicialmente se o DNS está configurado nas duas máquinas, respondendo nome e reverso e se ambas estão com o horário sincronizado.

Referências:

http://web.mit.edu/kerberos/krb5-devel/doc/index.html

http://wiki.squid-cache.org/ConfigExamples/Authenticate/Kerberos

http://klaubert.wordpress.com/2008/01/09/squid-kerberos-authentication-and-ldap-authorization-in-active-directory/

http://lanzelotti.blogspot.com.br/

http://mapburghardt.blogspot.com.br/2010/06/squid-ad-kerberos-uma-solucao-decente.html