Clientes Win7 falhando com credenciais em cache no samba4 RODC

9

Estou configurando um ambiente de teste para um cliente prestes a implantar o samba4 em 1400 sites remotos e estou com um problema. Afinal, é meu trabalho encontrar problemas e resolvê-los.

Diretório ativo

  • raiz da floresta e domínio único: main.adlab.netdirect.ca
  • criado no Windows 2008 R2
  • 2008 FFL
  • 2008 DFL

Escritório principal

  • AD1: Windows 2008 R2 DC
  • AD2: Windows 2008 R2 DC
  • Clientes Windows 7 Professional

Filial

  • SLES11SP2 (totalmente atualizado!) Com Samba 4 (pacotes 4.1.1-7.suse111 da sernet)
  • Samba 4 configurado como RODC

Eu configurei uma política de replicação de senha para permitir que certas contas sejam armazenadas em cache no RODC e, em seguida, preenchi essas contas no RODC:

sles-shire:~ # samba-tool rodc preload 'win7-shire$' --server main.adlab.netdirect.ca
Replicating DN CN=WIN7-SHIRE,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca
Exop on[CN=WIN7-SHIRE,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca] objects[1] linked_values[2]

sles-shire:~ # samba-tool rodc preload 'win7-shire-2$' --server main.adlab.netdirect.ca
Replicating DN CN=WIN7-SHIRE-2,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca
Exop on[CN=WIN7-SHIRE-2,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca] objects[1] linked_values[1]

sles-shire:~ # samba-tool rodc preload 'bilbo' --server main.adlab.netdirect.ca
Replicating DN CN=Bilbo Baggins,OU=Shire,OU=Offices,DC=main,DC=adlab,DC=netdirect,DC=ca
Exop on[CN=Bilbo Baggins,OU=Shire,OU=Offices,DC=main,DC=adlab,DC=netdirect,DC=ca] objects[1] linked_values[2]

Eu sei que essas credenciais estão sendo armazenadas em cache no RODC, pois se eu largar o link do site I pode fazer login com um usuário em cache, mas não um usuário diferente:

michael@sles-shire:~> smbclient //sles-shire.main.adlab.netdirect.ca/sysvol -U michael
Enter michael's password: 
session setup failed: NT_STATUS_IO_TIMEOUT

michael@sles-shire:~> smbclient //sles-shire.main.adlab.netdirect.ca/sysvol -U bilbo
Enter bilbo's password: 
Domain=[MAIN] OS=[Unix] Server=[Samba 4.1.1-SerNet-SuSE-7.suse111]
smb: \> ls
  .                                   D        0  Mon Nov 18 16:09:44 2013
  ..                                  D        0  Mon Nov 18 16:11:15 2013
  main.adlab.netdirect.ca             D        0  Wed Nov 20 17:54:13 2013

Portanto, a autenticação está funcionando bem! Mas quando tento entrar no Windows 7 PC (WIN7-SHIRE), recebo o erro:

Ocorreu um erro interno.

Gee. Obrigado. Se eu usar uma senha incorreta, recebo:

O nome de usuário ou senha está incorreto.

Portanto, a autenticação está acontecendo, mas o Windows 7 não gosta de nada . Eu vejo esses erros nos logs de eventos e acho que são relevantes para esse problema:

O sistema de segurança detectou um erro de autenticação para o servidor ldap / sles-shire.main.adlab.netdirect.ca. O código de falha do protocolo de autenticação Kerberos foi "Ocorreu um erro interno. (0xc00000e5)".

O sistema de segurança detectou um erro de autenticação para o servidor DNS / sles-shire.main.adlab.netdirect.ca. O código de falha do protocolo de autenticação Kerberos foi "Ocorreu um erro interno. (0xc00000e5)".

Se eu já estiver conectado e tentar usar os serviços de rede, recebo:

O Sistema de Segurança detectou um erro de autenticação para o servidor cifs / sles-shire.main.adlab.netdirect.ca. O código de falha do protocolo de autenticação Kerberos foi "Ocorreu um erro interno. (0xc00000e5)".

Meu krb5.conf no servidor:

[libdefaults]
    default_realm = MAIN.ADLAB.NETDIRECT.CA
    dns_lookup_realm = true
    dns_lookup_kdc = true

[realms]

[logging]
    kdc = FILE:/var/log/krb5/krb5kdc.log
    admin_server = FILE:/var/log/krb5/kadmind.log
    default = SYSLOG:NOTICE:DAEMON

Aqui está o verdadeiro kicker:

O comportamento ainda ocorre quando o link do site está ativo . Posso efetuar login no PC do domínio com contas que não estão armazenadas em cache no RODC, mas, se estiverem no RODC, recebo o mesmo erro.

Eu garanto que todos os registros SRV apropriados no AD DNS estejam em vigor. Eu garanti isso promovendo um Windows 2008 R2 DC na filial para uma função RODC e assegurando que todos os registros DNS apropriados estejam presentes para o Windows e o Samba RODC.

(alguns foram necessários para adicionar manualmente, pois ainda não foram adicionados pelo samba:

SRV _ldap._tcp.${SITE}._sites.DomainDnsZones.${DNSDOMAIN} ${HOSTNAME} 389
SRV _ldap._tcp.${SITE}._sites.ForestDnsZones.${DNSFOREST} ${HOSTNAME} 389

) (deve fechar o suporte)

Então ... o que está quebrado e como corrigi-lo?


Informações do SPN

> dsquery * "CN=SLES-SHIRE,OU=Domain Controllers,DC=main,DC=adlab,DC=netdirect,DC=ca" -attr servicePrincipalName
  servicePrincipalName
  ldap/SLES-SHIRE;
  ldap/4116d553-d66b-4c8b-9a60-90380ac69c04._msdcs.main.adlab.netdirect.ca;
  ldap/SLES-SHIRE.main.adlab.netdirect.ca/main.adlab.netdirect.ca;
  HOST/SLES-SHIRE.main.adlab.netdirect.ca/main.adlab.netdirect.ca;
  ldap/SLES-SHIRE.main.adlab.netdirect.ca;
  ldap/SLES-SHIRE.main.adlab.netdirect.ca/MAIN;
  HOST/SLES-SHIRE.main.adlab.netdirect.ca/MAIN;
  RestrictedKrbHost/SLES-SHIRE.main.adlab.netdirect.ca;
  RestrictedKrbHost/SLES-SHIRE;
  GC/SLES-SHIRE.main.adlab.netdirect.ca/main.adlab.netdirect.ca;
  HOST/SLES-SHIRE.main.adlab.netdirect.ca;HOST/SLES-SHIRE;

> dsquery * "CN=WIN7-SHIRE,CN=Computers,DC=main,DC=adlab,DC=netdirect,DC=ca" -attr servicePrincipalName
  servicePrincipalName
  TERMSRV/WIN7-SHIRE.main.adlab.netdirect.ca;
  TERMSRV/WIN7-SHIRE;
  RestrictedKrbHost/WIN7-SHIRE;
  HOST/WIN7-SHIRE;
  RestrictedKrbHost/WIN7-SHIRE.main.adlab.netdirect.ca;
  HOST/WIN7-SHIRE.main.adlab.netdirect.ca;
MikeyB
fonte

Respostas:

2

É um tiro no escuro, mas eu tentaria: parece-me alguma incompatibilidade entre o win7 e o RODC baseado em samba em termos de configurações de nível de segurança. Eu também assumiria que alguma configuração de segurança padrão no win 7 é muito restritiva que o samba não suporta. Vou tentar relaxar as configurações de segurança no win 7 alterando a política local: Configuração do Computador-> Configurações do Windows-> Configurações de Segurança-> Diretivas Locais-> Opções de Segurança.

Os suspeitos comuns incluem, entre outros:

Cliente de rede Microsoft: assine digitalmente as comunicações (se o servidor concordar) Cliente de rede Microsoft: envie uma senha não criptografada para servidores SMB de terceiros Segurança de rede: nível de autenticação do LAN Manager Segurança de rede: requisitos de assinatura do cliente LDAP Segurança de rede: segurança de sessão mínima para NTLM SSP ( incluindo clientes RPC seguros) Requer confidencialidade da mensagem Requer segurança da sessão NTLMv2 Requer criptografia de 128 bits

linha forte
fonte
0

Parece que os problemas podem ter relação com todos os becos sem saída e fios soltos associados a uma instalação exploratória / de teste.

Após restaurar o ambiente e refazer a instalação do AD e do RODC a partir de um procedimento de configuração real, esse cenário funcionou perfeitamente sem problemas!

MikeyB
fonte