Estou encontrando um problema com as entradas keytab que são criadas automaticamente quando ingresso um servidor Linux em um domÃnio do Active Directory. Primeiro, meu processo:
- Instale os pacotes Linux necessários
yum install realmd pam sssd adcli oddjob oddjob-mkhomedir samba-common-tools krb5-workstation
- Crie o objeto Computador no Active Directory e adicione as entradas SPN relevantes (servicePrincipalName)
- Execute a junção de domÃnio com
realm join -v EXAMPLE.COM -U domainUser
Durante a associação, o processo cria automaticamente um arquivo krb5.keytab com entradas que correspondem diretamente à s entradas SPN do objeto Computador. Portanto, se o SPN tiver uma entrada [email protected] , o processo de associação criará uma entrada keytab de [email protected] . O problema é que se o SPN tiver um tipo de serviço em letras maiúsculas incluÃdo no nome, o processo de geração do keytab não respeitará o tipo de serviço, mas forçará a entrada do keytab a ter um tipo de serviço em letras minúsculas. Portanto, se o SPN for HTTP /Se [email protected] , o gerador keytab o forçará a ser http / [email protected], durante o processo de ingresso no domÃnio. Para que o aplicativo que estou usando funcione, eles precisam corresponder (ambos em letras maiúsculas).
Com meu objetivo de ter uma entrada keytab que corresponda ao SPN (tipo de serviço em maiúsculas), pelo que consigo imaginar, tenho duas opções
- Corrija o
realm join
processo para manter o mesmo caso para o tipo de serviço ou - Crie minha própria entrada keytab no arquivo keytab Â
Estou tendo problemas com as duas opções. Para a primeira opção, não consigo encontrar nada no processo de adesão que possa ser alterado. Para a segunda opção, encontrei 2 aplicativos possÃveis que poderia usar para criar minha própria entrada. Esses aplicativos são kadmin e ktutil. O kadmin me dá um erro de "principal KADM5 necessário ausente..." (do qual não consigo descobrir como consertar). E a opção ktutil funcionaria, exceto que exige que a mesma senha seja aplicada a esta nova entrada do keytab, que é usada pelas outras entradas do keytab; entretanto, essa senha é gerenciada pelo Active Directory e não pode ser obtida.
Alguém já passou por isso antes e tem uma solução sobre como manter o tipo de serviço de uma entrada keytab em maiúsculas?
Obrigado!
Eu diria que você não deveria adicionar esses SPNs ao keytab (conta do computador) do host em primeiro lugar. Serviços como Samba (cifs) ou SSH (host) podem continuar a usá-lo, mas todo o resto (HTTP, imap, etc.) deve ter suas próprias chaves independentes em seus próprios arquivos keytab. (Em termos gerais, se o serviço não estiver na lista padrão de "aliases de serviço" do AD para 'host', ele não deverá compartilhar a conta do computador.)
A maneira usual de criar entidades adicionais (não associadas à conta do computador) no Active Directory é criar uma conta de usuário com uma senha aleatória e atribuir a ela os SPNs necessários. O Active Directory não usa o protocolo kadmin do MIT; seu gerenciamento é feito através de LDAP – a única maneira de criar princÃpios Kerberos é o
servicePrincipalName
atributo LDAP que você já encontrou. (Mas não se esqueça de definirmsDS-SupportedEncryptionTypes
também!)Com as ferramentas do Samba,
samba-tool spn add
esamba-tool domain exportkeytab
poderia ser usado para conseguir isso; você também pode fazer isso usandoktutil
um keytab artesanal, ou mesmo no Windows usando RSAT ektpass.exe
.Algo assim deve funcionar: