Múltiplos autenticadores (schemes)

1. Múltiplos autenticadores (schemes)

Guilherme
GuilhermeBR

(usa CentOS)

Enviado em 14/11/2013 - 08:29h

Pessoal,

Meio extenso, mas vou tentar explicar o meu problema. Vamos lá.

Objetivo: Autenticação no AD, para as máquinas do domínio de forma transparente. Para as máquinas fora do domínio, abrir popup de autenticação.

Minha rede:

- Máquinas integradas no AD -> Rodam WinXP;
- Máquinas não integradas no AD - > Rodam Win7 e Win8.

Implementei autenticação NTLM, e funciona normalmente para as máquinas do AD. Mas para as máquinas fora do AD, não funciona a autenticação via NTLM, pois rodam Win7 ou Win8. Para tentar sanar esse problema, sem ter que fazer o hack de registro para autenticação via NTLM do Win7, tentei implementar múltiplos autenticadores no SQUID, os chamados schemes.

O que pode ser visto, mais nesses links:

http://wiki.squid-cache.org/Features/Authentication#Can_I_use_different_authentication_mechanisms_to...
http://www.squid-cache.org/Versions/v2/2.6/cfgman/auth_param.html

Os autenticadores, que escolhi foram: NTLM e SQUID-LDAP.

Escolhi o NTLM para as máquinas no AD, e SQUID-LDAP para as fora do domínio. Criei um usuário "visitante", para que as máquinas fora do AD, se logar no domínio.

O squid.conf ficou assim:


# NTLM
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive on

# LDAP
auth_param basic program /usr/lib/squid/squid_ldap_auth -R -b "dc=empresa,dc=net" -D "cn=squid,ou=INTERNET,dc=empresa,dc=net" -w "senha" -f sAMAccountName=%s -h servidor.empresa.net
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


Dessa forma, as máquinas do AD, funcionam normalmente. Mas já as máquinas fora do AD, continuam não funcionando. Usei o wireshark, para capturar o tráfego da rede, e o browser está tentando autenticar somente via NTLM, ele não tenta utilizar o autenticador LDAP.

O que tentei fazer:

- Tentei inverter a ordem, colocando o LDAP antes do NTLM no squid.conf. Não funcionou;
- Tentei utilizar somente NTLM, funciona somente as máquinas do AD;
- Tentei utilizar somente LDAP, funciona as máquinas do AD e tb as que estão fora do AD, mas a autenticação não é transparente. Abre o popup de autenticação;

Alguém tem alguma dica, de como fazer funcionar esses múltiplos autenticadores?


  


2. Re: Múltiplos autenticadores (schemes)

Perfil removido
removido

(usa Nenhuma)

Enviado em 14/11/2013 - 10:07h

No tópico do link abaixo aberto por você mesmo, sugeri usar o kerberos + ntlm.

http://www.vivaolinux.com.br/topico/Squid-Iptables/SQUID-Active-Directory-NTLM?num_por_pagina=12&...


3. Re: Múltiplos autenticadores (schemes)

Guilherme
GuilhermeBR

(usa CentOS)

Enviado em 14/11/2013 - 10:16h

Eu tentei usar o kerberos, mas sem sucesso.

No log de erro, fica gerando o seguinte erro:

squid_kerb_auth: Got 'YR ElRNTVMTUABBAABAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgDAAAADw==' from squid (length: 59).
squid_kerb_auth: parseNegTokenInit failed with rc=101
squid_kerb_auth: received type 1 NTLM token

Ao meu entender, o browser envia autenticação NTLM. No caso do Win7, envia autenticação NTLMv2 e não a NTLMv1.

Como já tenho o NTLM funcionando, decidi usar o NTLM para as máquinas no AD, e o SQUID-LDAP, para as que estão fora.


4. Re: Múltiplos autenticadores (schemes)

Perfil removido
removido

(usa Nenhuma)

Enviado em 14/11/2013 - 10:38h

GuilhermeBR escreveu:

Eu tentei usar o kerberos, mas sem sucesso.

No log de erro, fica gerando o seguinte erro:

squid_kerb_auth: Got 'YR ElRNTVMTUABBAABAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgDAAAADw==' from squid (length: 59).
squid_kerb_auth: parseNegTokenInit failed with rc=101
squid_kerb_auth: received type 1 NTLM token

Ao meu entender, o browser envia autenticação NTLM. No caso do Win7, envia autenticação NTLMv2 e não a NTLMv1.

Como já tenho o NTLM funcionando, decidi usar o NTLM para as máquinas no AD, e o SQUID-LDAP, para as que estão fora.


Uma rápida revisão... você instalou samba e winbind configurou ambos dentro do arquivo /etc/samba/smb.conf, configurou o arquivo /etc/krb5.conf e ingressou o servidor squid ?


5. Re: Múltiplos autenticadores (schemes)

Guilherme
GuilhermeBR

(usa CentOS)

Enviado em 14/11/2013 - 11:07h

eabreu escreveu:
Uma rápida revisão... você instalou samba e winbind configurou ambos dentro do arquivo /etc/samba/smb.conf, configurou o arquivo /etc/krb5.conf e ingressou o servidor squid ?


Sim. Segue:

/etc/krb5.conf


[libdefaults]
default_realm = EMPRESA.NET
dns_lookup_kdc = no
dns_lookup_realm = no
default_keytab_name = /etc/squid/chave.keytab
default_tgs_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = rc4-hmac des-cbc-crc des-cbc-md5

[realms]
EMPRESA.NET = {
kdc = servidor.empresa.net
admin_server = servidor.empresa.net
default_domain = empresa.net
}

[domain_realm]
.empresa.net = EMPRESA.NET
empresa.net = EMPRESA.NET


Gerei a chave, pelo windows utilizando o ktpass.

Teste da chave:


klist -ek /etc/squid/chave.keytab
Keytab name: FILE:/etc/squid/chave.keytab
KVNO Principal
---- --------------------------------------------------------------------------
31 HTTP/proxy.empresa.net@EMPRESA.NET (DES cbc mode with CRC-32)
32 HTTP/proxy.empresa.net@EMPRESA.NET (DES cbc mode with RSA-MD5)
33 HTTP/proxy.empresa.net@EMPRESA.NET (ArcFour with HMAC/md5)


kinit administrator@EMPRESA.NET


Authenticated to Kerberos v5


Ingressei o proxy no AD, sem problemas. Todos os comandos de checagem wbinfo, funcionam.


6. Re: Múltiplos autenticadores (schemes)

Guilherme
GuilhermeBR

(usa CentOS)

Enviado em 16/11/2013 - 12:09h

eabreu,

O erro anterior, era que na configuração de proxy do browser, estava colocando o IP do proxy. Coloquei o hostname do proxy, e o erro mudou:


squid_kerb_auth: Got 'chave_gigante_aqui' from squid (length: 1687).
squid_kerb_auth: parseNegTokenInit failed with rc=101
squid_kerb_auth: gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information. No principal in keytab matches desired name
squid_kerb_auth: User not authenticated


Aparentemente, algum erro com a keytab.

Para gerar a keytab, usei o ktpass no win2k3. Da seguinte forma:


ktpass -princ HTTP/proxy.empresa.net@EMPRESA.NET -mapuser empresa\squid -crypto DES-CBC-CRC -mapop set -pass senha -ptype KRB5_NT_PRINCIPAL -out C:\chave1.keytab

ktpass -princ HTTP/proxy.empresa.net@EMPRESA.NET -mapuser empresa\squid -crypto DES-CBC-MD5 -mapop set -pass senha -ptype KRB5_NT_PRINCIPAL -out C:\chave2.keytab

ktpass -princ HTTP/proxy.empresa.net@EMPRESA.NET -mapuser empresa\squid -crypto RC4-HMAC-NT -mapop set -pass senha -ptype KRB5_NT_PRINCIPAL -out C:\chave3.keytab


Na opção -crypto os tutoriais dizem para usar a opção ALL. Mas no win2k3, não suporta essa opção. Sendo assim, gerei uma chave para cada tipo de criptografia, depois usei o kutil, para unir as chaves:


> ktutil
ktutil: read_kt chave1.keytab
ktutil: read_kt chave2.keytab
ktutil: read_kt chave3.keytab
ktutil: write_kt chave.keytab
ktutil: quit


Será que gerei a keytab, da forma errada?



7. Re: Múltiplos autenticadores (schemes)

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/11/2013 - 11:35h

Fala amigo guilherme...

Vê só... tenta usar o squid + ntlm v2 e veja se as estações com windows xp solicitam autenticação, apesar que o windows xp faz uso do ntlm v2. abaixo tem um link mostrando como fazer o servidor squid usar b]ntlm v2[/b]. basicamente só vai ter que alterar o arquivo /etc/samba/smb.conf e adicionar alguma linhas. faz os testes e dá um retorno.

http://marcusnetwork.blogspot.com.br/2011/08/autenticacao-ntlm-com-squid-cache-proxy.html


8. Re: Múltiplos autenticadores (schemes)

Guilherme
GuilhermeBR

(usa CentOS)

Enviado em 17/11/2013 - 12:24h

eabreu escreveu:

Fala amigo guilherme...

Vê só... tenta usar o squid + ntlm v2 e veja se as estações com windows xp solicitam autenticação, apesar que o windows xp faz uso do ntlm v2. abaixo tem um link mostrando como fazer o servidor squid usar b]ntlm v2[/b]. basicamente só vai ter que alterar o arquivo /etc/samba/smb.conf e adicionar alguma linhas. faz os testes e dá um retorno.

http://marcusnetwork.blogspot.com.br/2011/08/autenticacao-ntlm-com-squid-cache-proxy.html


eabreu,

Então, esse link aparentemente é o mesmo esquema que utilizo atualmente. Nesse mesmo link, o autor diz bem no final do artigo, que precisa fazer o hack de registro no Win7, para autenticar.

O meu problema, são as máquinas fora do domínio. Pois são Win7, e não autenticam via NTLM sem o tal hack. Por isso queria mesclar o NTLM (para as máquinas do AD) e o LDAP, para as máquinas fora do AD.

Mesmo assim, agradeço a dica amigo!




9. Re: Múltiplos autenticadores (schemes)

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/11/2013 - 12:36h

GuilhermeBR escreveu:

eabreu escreveu:

Fala amigo guilherme...

Vê só... tenta usar o squid + ntlm v2 e veja se as estações com windows xp solicitam autenticação, apesar que o windows xp faz uso do ntlm v2. abaixo tem um link mostrando como fazer o servidor squid usar b]ntlm v2[/b]. basicamente só vai ter que alterar o arquivo /etc/samba/smb.conf e adicionar alguma linhas. faz os testes e dá um retorno.

http://marcusnetwork.blogspot.com.br/2011/08/autenticacao-ntlm-com-squid-cache-proxy.html


eabreu,

Então, esse link aparentemente é o mesmo esquema que utilizo atualmente. Nesse mesmo link, o autor diz bem no final do artigo, que precisa fazer o hack de registro no Win7, para autenticar.

O meu problema, são as máquinas fora do domínio. Pois são Win7, e não autenticam via NTLM sem o tal hack. Por isso queria mesclar o NTLM (para as máquinas do AD) e o LDAP, para as máquinas fora do AD.

Mesmo assim, agradeço a dica amigo!



O hack feito e propposto no fim da página menciona que deve ser feito para que o windows 7 use o ntlm v1 também, pois o ntlm v2 já é usado pelo windows 7 e 8. então quando usar a configuração proposta no /etc/samba/smb.conf (usando ntlm v2) então provavelmente as estações(win 7 e win 8) fora do domínio irão se autenticar, a questão é se as máquinas winxp(dentro do domínio) irão conseguir fazer a autenticação transparente.

Então o esquema feito no how-to do link passado tem algumas diferenças (principal delas é ntlm v2).


10. Re: Múltiplos autenticadores (schemes)

Guilherme
GuilhermeBR

(usa CentOS)

Enviado em 17/11/2013 - 12:45h

eabreu escreveu:

O hack feito e propposto no fim da página menciona que deve ser feito para que o windows 7 use o ntlm v1 também, pois o ntlm v2 já é usado pelo windows 7 e 8. então quando usar a configuração proposta no /etc/samba/smb.conf (usando ntlm v2) então provavelmente as estações(win 7 e win 8) fora do domínio irão se autenticar, a questão é se as máquinas winxp(dentro do domínio) irão conseguir fazer a autenticação transparente.

Então o esquema feito no how-to do link passado tem algumas diferenças (principal delas é ntlm v2).


Achei que o Win7 e 8, tivessem abandonado o NTLMv1 e v2, e se autenticassem somente via kerberos.

Fiz o teste aqui e as máquinas do AD, continuam autenticando de forma transparente. Mas de casa, não consigo testar o Win7. Vou fazer o teste amanhã e retorno.

Obrigado eabreu e bom domingo!




11. Re: Múltiplos autenticadores (schemes)

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/11/2013 - 12:57h

GuilhermeBR escreveu:

eabreu escreveu:

O hack feito e propposto no fim da página menciona que deve ser feito para que o windows 7 use o ntlm v1 também, pois o ntlm v2 já é usado pelo windows 7 e 8. então quando usar a configuração proposta no /etc/samba/smb.conf (usando ntlm v2) então provavelmente as estações(win 7 e win 8) fora do domínio irão se autenticar, a questão é se as máquinas winxp(dentro do domínio) irão conseguir fazer a autenticação transparente.

Então o esquema feito no how-to do link passado tem algumas diferenças (principal delas é ntlm v2).


Achei que o Win7 e 8, tivessem abandonado o NTLMv1 e v2, e se autenticassem somente via kerberos.

Fiz o teste aqui e as máquinas do AD, continuam autenticando de forma transparente. Mas de casa, não consigo testar o Win7. Vou fazer o teste amanhã e retorno.

Obrigado eabreu e bom domingo!



O kerberos é usado quando as máquinas windows estão no domínio, por isso que quando deseja ingressar uma máquina com GNU/Linux é necessário um cliente kerberos instalado e configurado.


12. Re: Múltiplos autenticadores (schemes)

Guilherme
GuilhermeBR

(usa CentOS)

Enviado em 17/11/2013 - 13:19h

eabreu escreveu:

O kerberos é usado quando as máquinas windows estão no domínio, por isso que quando deseja ingressar uma máquina com GNU/Linux é necessário um cliente kerberos instalado e configurado.


Então a autenticação kerberos, nunca ia funcionar para usuários fora do AD?

Perdi um tempão nisso.. rs.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts