Para a autenticação sem a solicitação de senha devemos utilizar o protocolo NTLM disposto no diretório
/usr/bin/ntlm_auth. Este protocolor realizada a troca de desafios e autentica o usuário sem a necessidade
de informar senha, utilizando para tal o login e senha logados no Windows.
Mãos na massa. Instalação realizada com Debian 5.07 lenny
:: Ingresse a máquina no Domínio AD
Clique Aqui para Visualizar o POST
Após realizado os testes da integração conforme descrito no POST anterior vamos instalar o squid
:: Instalando o squid
# apt-get install squid
:: Configurando o squid
# cp /etc/squid/squid.conf /etc/squid/squid.conf.ori
# vim /etc/squid/squid.conf
Encontre as linhas
[...]
#Recommended minimum configuration per scheme:
#auth_param negotiate program <uncomment and complete this line to activate>
#auth_param negotiate children 5
#auth_param negotiate keep_alive on
#auth_param ntlm program <uncomment and complete this line to activate>
#auth_param ntlm children 5
#auth_param ntlm keep_alive on
#auth_param digest program <uncomment and complete this line>
#auth_param digest children 5
#auth_param digest realm Squid proxy-caching web server
#auth_param digest nonce_garbage_interval 5 minutes
#auth_param digest nonce_max_duration 30 minutes
#auth_param digest nonce_max_count 50
#auth_param basic program <uncomment and complete this line>
#auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours
#auth_param basic casesensitive off
[...]
Copie as linhas abaixo e altere conforme segue
[...]
# Autenticacao direta sem Pop-up de Senha
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 20
auth_param ntlm keep_alive on
# Autenticacao direta computadores não ingressadas no dominio
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
[...]
# ACL para autenticacao
acl all proxy_auth REQUIRED
# Liberando acesso
http_access allow all
:: Reinicie o squid
# squid -k shutdown
# squid -k kill
# squid -d 2
:: Olho nos logs do squid
# tail -f /var/log/squid/access.log
Tive uma série de problemas com esta autenticação, pois o Windows 7 insistia em solicitar a senha
e não era possível realizar a navegação. Depois de uma série de testes e mudanças, descobri que
o Windows 7 vem configurado por padrão para utilizar o NTLMv2. Foi só alterar para a versão anterior
do protocolo que a autenticação/navegação ocorreu certinho.
:: Alterando a versão do NTLM
1) Iniciar > Executar > secpol.msc
2) Navegue até Diretivas Locais > Opções de Segurança
3) Encontre o Item Segurança de Rede: nível de autenticação LAN Manager
4) Altere seu valor para Enviar LM e NTLM - usar segurança da sessão NTLMv2, se negociada
Obs.: Esta configuração pode ser realizada via GPO.
:: Utilizando os Grupos do AD para permissões
Crie o diretorio acl para manter as configurações organizadas
# mkdir /etc/squid/acl
Crie o arquivo que conterá os grupos Restritos por exemplo
# touch /etc/squid/acl/Grupos_Restritos.txt
# echo "Grupo Restrito AD" >> /etc/squid/acl/Grupos_Restritos.txt
# vim /etc/squid/squid.conf
[...]
acl Usuarios_Autenticados proxy_auth REQUIRED
external_acl_type groups children=20 %LOGIN /usr/lib/squid/wbinfo_group.pl
acl Grupos_Restritos external groups "/etc/squid/acl/Grupos_Restritos.txt"
http_access allow Usuarios_Autenticados Grupos_Restritos
[...]
sexta-feira, 17 de dezembro de 2010
sexta-feira, 3 de dezembro de 2010
Ingressar Linux no domínio Windows
:: Instale os seguintes pacotes
# apt-get install ntpdate samba-common winbind krb5-config krb5-user
:: Edite o arquivo /etc/krb5.conf e adicione as seguintes linhas
# vim /etc/krb5.conf
[libdefaults]
default_realm = MICROSOFT.MSFT
[...]
[realms]
MICROSOFT.MSFT = {
kdc = 192.168.0.1
kdc = 192.168.0.2
admin_server = 192.168.0.1
MICROSOFT.MSFT = {
kdc = 192.168.0.1
kdc = 192.168.0.2
admin_server = 192.168.0.1
default_domain = microsoft.msft
}
}
[...]
[domain_realm].microsoft.msft = MICROSOFT.MSFT
microsoft.msft = MICROSOFT.MSFT
:: Sincronize o horário com o Controlador de Domínio
# ntpdate 192.168.0.1
:: Teste a configuração do arquivo krb5.conf
# kinit administrator
password´s administrator@MICROSOFT.MSFT: **********
# klist
Ticket cache: FILE:/tmp/krb5cc_0Default principal: administrator@ALDO.COM.BR
Valid starting Expires Service principal
12/03/10 11:12:35 12/03/10 21:12:41 krbtgt/MICROSOFT.MSFT@MICROSOFT.MSFT
renew until 12/03/10 21:12:35
:: Configure o arquivo smb.conf, edite o arquivo e incluia os seguintes comandos
# vim /etc/samba/smb.conf
[...]
workgroup = MICROSOFT
server string = ServProxynetbios name = PROXY
realm = MICROSOFT.MSFT
winbind use default domain = yes
security = ads
idmap gid = 10000-20000
idmap uid = 10000-20000
os level = 20
winbind enum users = yes
winbind enum groups = yes
:: Adicionar servidor ao domínio
# net ads join -U administrator
Enter administrator's password:
Using short domain name -- MISCROFOT
Joined 'PROXY' to realm 'microsoft.msft'
Using short domain name -- MISCROFOT
Joined 'PROXY' to realm 'microsoft.msft'
:: Testar adição no domínio
# net ads testjoin
Join is Ok
# net ads info
LDAP server: 192.168.0.1
LDAP server name: dc1.microsoft.msftRealm: MICROSOFT.MSFT
Bind Path: dc=MICROSOFT,dc=MSFT
LDAP port: 389
Server time: Sex, 03 Dez 2010 11:26:08 BRST
KDC server: 192.168.0.1
Server time offset: 0
:: Reinicie o winbind
# /etc/init.d/winbind restart
:: Teste se o servidor consegue recuperar usuários do domínio
# wbinfo -u
:: Teste de o servidor consegue recuperar grupos do domínio
# wbinfo -g
:: Alterar o arquivo /etc/nsswitch.conf
# vim /etc/nsswitch.conf
[...]
[...]
passwd: compat winbind
group: compat winbind
shadow: compat winbind
[...]
group: compat winbind
shadow: compat winbind
[...]
:: Teste a configuração do nsswitch.conf
# getent passwd
<Retornara os usuários do Linux e do AD>
Tudo OK.
Assinar:
Postagens (Atom)