Ubuntu 12.04, Integração com o Active Directory do Windows 2012, o Kerberos não resolve os principais de serviço

6

depois de ter verificado toda a internet, literalmente, espero que eu possa obter ajuda aqui.

Estou tentando realizar a integração dos servidores do Ubuntu 12.04 em um diretório ativo do Windows 2012 com nfs e logon único.

configuração:

  • srv02 servidor do Windows
  • servidor de arquivos do srv03 Ubuntu
  • servidor de aplicativos srv04 Ubuntu

  • domain: lettrich.local

  • realm: LETTRICH.LOCAL

o que funciona

  • instalação do Windows 2012 AD com dns ntp e dhcp
  • ubuntu servidores registrados no anúncio com msktutil e recebendo
    1. ingressos kerberos para usuários (por exemplo, kinit [email protected] works)
    2. e máquinas (kinit -k [email protected] funciona),
    3. Os
    4. uids e gids são resolvidos usando o gerenciamento de identidades para UNIX no AD e sssd sobre gssapi.

O que não funciona:

  • montando um compartilhamento NFS em srv04 hospedado em srv03.
  • recebendo um ticket do kerberos para os responsáveis pelo serviço.

por exemplo,

sudo kdestroy
sudo kinit -k
kinit: Client 'host/[email protected]' not found in Kerberos database while getting initial credentials

krb5.keytab no srv03, analógico para srv04.

sudo klist -ke
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
  10 [email protected] (arcfour-hmac) 
  10 [email protected] (aes128-cts-hmac-sha1-96) 
  10 [email protected] (aes256-cts-hmac-sha1-96) 
  10 nfs/[email protected] (arcfour-hmac) 
  10 nfs/[email protected] (aes128-cts-hmac-sha1-96) 
  10 nfs/[email protected] (aes256-cts-hmac-sha1-96) 
  10 host/[email protected] (arcfour-hmac) 
  10 host/[email protected] (aes128-cts-hmac-sha1-96) 
  10 host/[email protected] (aes256-cts-hmac-sha1-96)

exportações nfs:

cat /etc/exports
/export               gss/krb5(rw,fsid=0,no_subtree_check,sync,insecure,crossmnt,anonuid=65534,anongid=65534)
/export/users           gss/krb5(rw,no_subtree_check,sync,insecure,nohide,anonuid=65534,anongid=65534)
/export/groups           gss/krb5(rw,no_subtree_check,sync,insecure,nohide,anonuid=65534,anongid=65534)
/export/share           gss/krb5(rw,no_subtree_check,sync,insecure,nohide,anonuid=65534,anongid=65534)
/export/backup           gss/krb5(rw,no_subtree_check,sync,insecure,nohide,anonuid=65534,anongid=65534)

montagem em srv04

sudo mount -t nfs4 -o sec=krb5 srv03:/export /mnt

me dá o erro

srv04 rpc.gssd[754]: ERROR: No credentials found for connection to server srv03

O diretório ativo tem srv03 e srv04 listados como computadores de domínio com nomes principais de serviço corretos (nomes alterados apropriadamente)

service principal name = nfs/srv03.lettrich.local; host/srv03.lettrich.local

Onde está o meu erro? (e sim, o tempo está em sincronia ;-))

Fornecerá mais informações, se necessário.

Obrigado a todos que estão dispostos a ajudar.

    
por Michael 26.08.2013 / 21:33

3 respostas

0

Eu tenho que admitir que, com o tempo, esqueci de responder e fechar este tópico. Seguindo estas instruções, juntamente com a criação da configuração correta do SSSD, resolvi meus problemas: link

    
por 19.02.2014 / 15:07
1

Primeiro, você deve se cadastrar e reverter o registro DNS para novos servidores linux. Registre isso no domínio do Windows.

Segundo, em servidores Linux, aponte o resolvedor de DNS para o Windows e modifique / etc / hosts no linux para campos apropriados

Terceiro, você deve instalar o Kerberos5 e winbind apps / modules / libraries

Quarto, configure o /etc/krb5.conf com:

[libdefaults]
    default_realm = YOUR.FULL.DOMAIN.WITH.UPPER.CHARS

[realms]
    YOUR.FULL.DOMAIN.WITH.UPPER.CHARS = {
            kdc = list of IPs windows domain servers
            admin_server = one ip for master domain server
    }

[domain_realm]
    your.full.comain.with.lover.chars = YOUR.FULL.DOMAIN.WITH.UPPER.CHARS

[logging]
#example logging
    kdc = FILE:/var/log/kerberos/krb5kdc.log
    admin_server = FILE:/var/log/kerberos/kadmin.log
    default = FILE:/var/log/kerberos/krb5lib.log

Quinto, configure o /etc/samba/smb.conf:

[global]
workgroup = YOUR.SHORT.DOMAIN.WITH.UPPER.CASE
netbios name = YOUR.SERVER.NAME.WITH.UPPER.CASE.WITHOUT.DOMAIN
realm = YOUR.FULL.DOMAIN.WITH.UPPER.CHARS
security = ads
password server = windows.ip.server.what.allows.password.change
wins server = as.above.supports.wins.messages
wins proxy = no
kerberos method = system keytab
dedicated keytab file = /etc/krb5.keytab
server string = write what you want using %h as host name
dns proxy = no
idmap config * : backend = rid
idmap config * : range = 10000-20000
winbind use default domain = Yes
winbind enum users = Yes
winbind enum groups = Yes
winbind nested groups = Yes
winbind separator = +
winbind refresh tickets = yes
template shell = /bin/bash
template homedir = /home/%D/%U
preferred master = no
inherit acls = Yes
map acl inherit = Yes
acl group control

Sixsth, verifique se você consegue se conectar usando temporariamente qualquer usuário:

wbinfo -t   #test only
net getdomainsid  #should print local and domain identifier
wbinfo -u   #domain user list, may take long time for many users
wbinfo -g   #domain group list

Em sétimo lugar, crie uma conta de usuário técnica para que a senha nunca expire e não possa ser alterada. Outros deixam o padrão. Colete esse usuário em um diretório AD separado:)

Oitavo, gerar keytab:

anúncios líquidos keytab create -U [email protected]

então verifique o /etc/krb5.keytab existe

Agora você pode configurar outros serviços, especialmente usando o ntlm helper. Você pode testar a conexão usando:

ntlm_auth --username UPPER.CASE.SHORTNAME.DOMAIN+your.technical.username

escreva a senha e você verá o status:

NT_STATUS_OK: Success (0x0)

Agora você pode configurar o PAM para autenticar muitos serviços, mas eu não fiz isso. Eu usei com sucesso essa configuração com a autenticação ntlm apache2.2. Eu vi pam config para ssh e Xsession.

A idéia principal é que somente o winbind autentica no Active Directory. Todos os outros serviços autenticam localmente para winbind por qualquer meio. O Winbind faz parte do samba. Se você não precisa do samba, instale apenas o winbind, isso instala algumas bibliotecas do samba.

Às vezes, quando você configura a conexão, o wbinfo não consegue se conectar. Você deve aguardar por um momento, cinco ou mais minutos para a propagação das informações do domínio.

É claro que o tempo em todos os mashines deve estar em sincronia. Configure o NTP para isso. Estou usando o debian, mas o ubuntu faz tudo semelhante ao debian :) boa sorte.

    
por 18.02.2014 / 13:15
0

Como você criou os SPNs para os clientes?

Eu tive bons resultados usando o Samba para fazer isso ( net ads join ).

    
por 27.08.2013 / 16:14