Eu configurei um diretório ativo do samba 4 no ubuntu 14.04 seguindo o Samba AD DC HOWTO . Em princípio, tudo funciona bem, mas estou empenhado em fazer com que a autenticação do kerberos seja executada usando SPNs para aplicativos da web.
Quando tento correr
kinit -k -t keytabfile http/myserver.mycompany.com
Eu sempre recebo um
kinit: Client not found in Kerberos database while getting initial credentials
O que eu já verifiquei até agora:
- O DNS está trabalhando nos dois lados para frente e para trás retornando FQNs
- o kinit funciona usando o nome de usuário
- myserver.mycompany.com é retornado pelo nslookup em dc e o servidor da web
- myserver allready entrou no domínio e está listado no
CN = Computadores, DC = minhaempresa, DC = com
- não há SPNs dublicados
Eu criei a conta de serviço / SPNs / keytabs da seguinte forma:
samba-tool user create $ADS_USER $ADS_PW --userou=$USER_OU
samba-tool user setexpiry --noexpiry $ADS_USER
samba-tool spn add ${SERVICE_TYPE}/${SERVICE_HOST}.${MY_DOMAIN} $ADS_USER
samba-tool spn add ${SERVICE_TYPE}/${SERVICE_HOST} $ADS_USER
samba-tool spn list $ADS_USER
rm -f $MY_KEYTAB
samba-tool domain exportkeytab $MY_KEYTAB --principal=${SERVICE_TYPE}/${SERVICE_HOST}.${MY_DOMAIN}
samba-tool domain exportkeytab $MY_KEYTAB --principal=${SERVICE_TYPE}/${SERVICE_HOST}
ao correr
klist -k -e $ MY_KEYTAB
tudo parece bem:
root@myhost:~# klist -ke ./test.keytab
Keytab name: FILE:./test.keytab
KVNO Principal
---- --------------------------------------------------------------------------
1 http/[email protected] (des-cbc-crc)
1 http/[email protected] (des-cbc-md5)
1 http/[email protected] (arcfour-hmac)
1 http/[email protected] (des-cbc-crc)
1 http/[email protected] (des-cbc-md5)
1 http/[email protected] (arcfour-hmac)
Estou perdido, pesquisei várias horas no google e não tenho ideia de como solucionar / corrigir o erro 'Cliente não encontrado no banco de dados Kerberos'. Qualquer dica é bem vinda!
Obrigado
meu "/etc/krb5.conf" no cliente
[libdefaults]
debug = true
default_realm = MYCOMPANY.COM
dns_lookup_realm = false
dns_lookup_kdc = false
default_tkt_enctypes = rc4-hmac
default_tgs_enctypes = rc4-hmac
[realms]
MYCOMPANY.COM = {
kdc = dc01.mycompany.com
admin_server = dc01.mycompany.com
kpasswd_server = dc01.mycompany.com
#ktpasswd_server = dc01.mycompany.com
#admin_server = dc01.mycompany.com
}
[domain_realm]
.mycompany.com = MYCOMPANY.COM
mycompany.com = MYCOMPANY.COM
no servidor dc /etc/samba/smb.conf
[global]
debug level = 1
syslog = 1
max log size = 0
workgroup = MYCOMPANY
realm = MYCOMPANY.COM
netbios name = DC01
server role = active directory domain controller
server string = MYCOMPANY domain controller
server role check:inhibit = yes
dns forwarder = 192.168.22.1
idmap_ldb:use rfc2307 = yes