Criar um arquivo keytab

Você pode usar a mesma conta de usuário para a autenticação em todos os nós de um cluster. Para isso, deve-se criar um arquivo keytab contendo o nome do diretor de serviço (SPN) para cada um destes nós. Ao criar um arquivo keytab, você deve usar o atributo para gerar um salt (modificador de função hash).

O salt gerado deve ser salvo com um método de sua escolha para adicionar posteriormente novos SPNs ao arquivo keytab.

Você também pode criar uma conta de usuário separada do Active Directory para cada node do cluster que requer a configuração de autenticação Kerberos.

Antes de criar um arquivo keytab:

Antes de criar um arquivo keytab, para cada SPN, assegure-se de que ele não esteja registrado no Active Directory. Você pode fazer isso executando o seguinte comando: setspn -Q <SPN>, onde <SPN> tem a seguinte estrutura: HTTP/<nome de domínio totalmente qualificado (FQDN) do node do cluster>.

O comando deve retornar "Nenhum SPN encontrado", o que significa que o SPN em questão não está registrado. Se o SPN já tiver sido registrado, antes de criar o arquivo keytab, você precisa cancelar a atribuição do SPN da conta ou excluir a própria conta no Active Directory ao qual esse SPN foi atribuído.

Exemplo de verificação de um SPN para um node de Controle e dois nodes secundários:

setspn -Q HTTP/control-01.test.local

setspn -Q HTTP/secondary-01.test.local

setspn -Q HTTP/secondary-02.test.local

Criar um arquivo keytab

O arquivo keytab será criado no servidor do controlador de domínio ou em um computador do Windows Server que integra o domínio, sob a conta de administrador do domínio.

Para criar um arquivo keytab usando uma conta única de usuário:

  1. No snap-in Usuários e Computadores do Active Directory, crie uma conta de usuário chamada, por exemplo, control-user.
  2. Para usar o algoritmo de criptografia AES256-SHA1, faça o seguinte no snap-in Usuários e Computadores do Active Directory:
    1. Abra as propriedades da conta criada.
    2. Na guia Conta, marque a caixa de seleção Esta conta oferece suporte para criptografia de 256 bits Kerberos AES.
  3. Crie um arquivo keytab para o usuário de controle usando o utilitário ktpass. Para isso, execute o seguinte comando na linha de comando:

    C:\Windows\system32\ktpass.exe -princ HTTP/<nome do domínio totalmente qualificado (FQDN) do node Controle>@<nome do domínio do Active Directory em letra maiúscula> -mapuser control-user@<nome de domínio Active Directory em letra maiúscula> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <caminho do arquivo>\<nome do arquivo>.keytab

    O utilitário solicitará a senha do usuário de controle ao executar o comando.

    O SPN do nó com função Controle será adicionado ao arquivo keytab criado. O salt gerado é exibido: Senha de hashing com salt "<valor de hash>".

  4. Para cada nó do cluster, adicione uma entrada SPN ao arquivo keytab. Para isso, execute o seguinte comando:

    C:\Windows\system32\ktpass.exe -princ HTTP/<nome do domínio totalmente qualificado (FQDN) do node>@<nome do domínio Active Directory em letra maiúscula> -mapuser control-user@<nome do domínio Active Directory em letra maiúscula> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <caminho e nome do arquivo criado anteriormente>.keytab -out <caminho e novo nome>.keytab -setupn -setpass -rawsalt "<valor de hash do salt obtido qo criar o arquivo keytab na etapa3>"

    O utilitário solicitará a senha do usuário de controle ao executar o comando.

O arquivo keytab será criado. Esse arquivo conterá todos os SPNs adicionados dos nós do cluster.

Exemplo:

Por exemplo, você precisa criar um arquivo keytab que contenha os SPNs de 3 nodes: control-01.test.local, secondary-01.test.local e secondary-02.test.local.

Para criar um arquivo chamado filename1.keytab contendo o SPN do node de controle na pasta C:\keytabs\, você deve executar o seguinte comando:

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out C:\keytabs\filename1.keytab

Suponha que você tenha obtido o salt "TEST.LOCALHTTPcontrol-01.test.local".

Para adicionar mais um SPN, você pode executar o seguinte comando:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

Para adicionar um terceiro SPN, você deve executar o seguinte comando:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

Isso resultará na criação de um arquivo chamado filename3.keytab contendo todos os três SPNs adicionados.

Para criar um arquivo keytab usando uma conta de usuário separada para cada node:

  1. No snap-in Usuários e Computadores do Active Directory, crie uma conta de usuário separada para cada nó do cluster (por exemplo, contas de usuário com os nomes control-user, secondary1-user, secondary2-user e assim por diante).
  2. Para usar o algoritmo de criptografia AES256-SHA1, faça o seguinte no snap-in Usuários e Computadores do Active Directory:
    1. Abra as propriedades da conta criada.
    2. Na guia Conta, marque a caixa de seleção Esta conta oferece suporte para criptografia de 256 bits Kerberos AES.
  3. Crie um arquivo keytab para o usuário de controle usando o utilitário ktpass. Para isso, execute o seguinte comando na linha de comando:

    C:\Windows\system32\ktpass.exe -princ HTTP/<nome do domínio totalmente qualificado (FQDN) do node Controle>@<nome do domínio Active Directory em letras maiúsculas> -mapuser control-user@<nome do domínio Active Directory em letras maiúsculas> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <caminho para o arquivo>\<nome do arquivo>.keytab

    O utilitário solicitará a senha do usuário de controle ao executar o comando.

    O SPN do node de Controle é adicionado ao arquivo keytab criado.

  4. Para cada node do cluster, adicione uma entrada SPN ao arquivo keytab. Para isso, execute o seguinte comando:

    C:\Windows\system32\ktpass.exe -princ HTTP/<<nome do domínio totalmente qualificado (FQDN) do node Controle>@<nome do domínio Active Directory em letras maiúsculas> -mapuser secondary1-user@<nome do domínio Active Directory em letras maiúsculas> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <caminho e nome do arquivo criado anteriormente>.keytab -out <caminho e novo nome>.keytab

    O utilitário solicitará a senha do usuário secundário 1 ao executar o comando.

O arquivo keytab será criado. Esse arquivo conterá todos os SPNs adicionados dos nós do cluster.

Exemplo:

Por exemplo, você precisa criar um arquivo keytab que contenha os SPNs de 3 nodes: control-01.test.local, secondary-01.test.local e secondary-02.test.local.

Para criar um arquivo chamado filename1.keytab contendo o SPN do node de controle na pasta C:\keytabs\, você deve executar o seguinte comando:

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out C:\keytabs\filename1.keytab

Para adicionar mais um SPN, execute o seguinte comando:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser secondary1-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab

Para adicionar um terceiro SPN, execute o seguinte comando:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser secondary2-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab

Isso resultará na criação de um arquivo chamado filename3.keytab contendo todos os três SPNs adicionados.

Após criar um arquivo keytab

Depois de criar um arquivo keytab, para cada SPN, assegure-se de que ele esteja registrado e atribuído à conta relevante. Você pode fazer isso executando o seguinte comando: setspn -Q <SPN>, onde <SPN> tem a seguinte estrutura: HTTP/<nome de domínio totalmente qualificado (FQDN) do node do cluster>.

O comando deve retornar "SPN existente encontrado" e a conta à qual o SPN está atribuído.

Além disso, depois de criar um arquivo keytab, você pode verificar a lista de SPNs atribuídos à conta relevante. Você pode fazer isso com o seguinte comando: setspn -L <nome do usuário>.

Se o arquivo keytab foi criado com uma conta, o comando deve retornar uma lista de todos os SPNs para os quais o arquivo keytab foi criado. Se o arquivo keytab foi criado com contas separadas para cada node, o comando deve retornar um SPN atribuído à conta específica.

Comando de exemplo para uma conta:

setspn -L control-user

Comando de exemplo para contas separadas para cada node:

setspn -L control-user

setspn -L secondary1-user

setspn -L secondary2-user

Topo da página