Criação de um arquivo keytab para o serviço Squid
13 de dezembro de 2023
ID 166438
Você pode usar a mesma conta de usuário para a autenticação em todos os nodes de um cluster. Para isso, deve-se criar um arquivo keytab contendo o nome do diretor de serviço (SPN) para cada um destes nodes. 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 usando um método de sua escolha para adicionar posteriormente novos SPNs ao arquivo de keytab.
Também é possível criar uma conta de usuário do Active Directory separada para cada node do cluster para o qual deseja configurar a autenticação Kerberos.
O arquivo keytab é criado no servidor do controlador de domínio ou em um computador com Windows Server que faça parte do domínio, em uma conta de administrador de domínio.
Para criar um arquivo keytab para o serviço Squid usando uma conta de usuário única:
- No snap-in Active Directory Users and Computers, crie uma conta de usuário denominada
squid-user
. - Para usar o algoritmo de criptografia AES256-SHA1, faça o seguinte no snap-in Active Directory Users and Computers:
- Abra as propriedades da conta criada.
- Na guia Account, marque a caixa de seleção This account supports Kerberos AES 256 bit encryption.
- Crie um arquivo keytab para
squid-user
, usando o utilitário ktpass. Para fazer isso, execute o seguinte comando na linha de comando:C:\Windows\system32\ktpass.exe -princ HTTP/<nome do servidor com o serviço Squid>@<nome do domínio do Active Directory em letras maiúsculas>> -mapuser squid-user@<nome do domínio do Active Directory em letras maiúsculas> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <caminho para o arquivo>\<nome do arquivo>.keytab
O nome do servidor que hospeda o serviço Squid deve ser especificado em letras minúsculas (por exemplo,
proxy.company.com
).Ao executar o comando, o utilitário solicita a senha do
squid-user
.A entrada SPN do node Control é adicionada e o arquivo keytab é criado. O salt gerado será mostrado:
Hash da senha com salt “<valor do hash>”.
- Para cada node do cluster, adicione uma entrada SPN ao arquivo keytab. Para fazer isso, execute o seguinte comando:
C:\Windows\system32\ktpass.exe -princ HTTP/<fully qualified domain name (FQDN) of the node>@<realm uppercase Active Directory domain name> -mapuser squid-user@<realm uppercase Active Directory domain name> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <path and name of the previously created file>.keytab -out <path and new name>.keytab -setupn -setpass -rawsalt "<hash value of the salt obtained when creating the keytab file at step 3>"
Ao executar o comando, o utilitário solicita a senha do
squid-user
.
O arquivo keytab para o serviço Squid será criado. Esse arquivo conterá todos os SPNs adicionados dos nodes do cluster.
Exemplo: Por exemplo, você precisa criar um arquivo keytab que contém SPNs de 3 nodes: Para criar um arquivo denominado
Suponha que você tenha o salt Para adicionar outro SPN, você deve executar o seguinte comando:
Para adicionar um terceiro SPN, você deve executar o seguinte comando:
Isso resultará na criação de um arquivo denominado |
Para criar um arquivo keytab para o servidor Squid usando uma conta de usuário separada para cada node:
- Crie uma conta de usuário separada para cada node do cluster no snap-in Active Directory Users and Computers, (por exemplo, contas de usuários com os nomes
squid-user
,squid-user2
,squid-user3
e assim por diante). - Para usar o algoritmo de criptografia AES256-SHA1, faça o seguinte no snap-in Active Directory Users and Computers:
- Abra as propriedades da conta criada.
- Na guia Account, marque a caixa de seleção This account supports Kerberos AES 256 bit encryption.
- Crie um arquivo keytab para
squid-user
, usando o utilitário ktpass. Para fazer isso, execute o seguinte comando na linha de comando:C:\Windows\system32\ktpass.exe -princ HTTP/<lowercase name of the server with the Squid service>@<realm uppercase Active Directory domain name> -mapuser squid-user@<realm uppercase Active Directory domain name> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <path to file>\<file name>.keytab
O nome do servidor que hospeda o serviço Squid deve ser especificado em letras minúsculas (por exemplo,
proxy.company.com
).Ao executar o comando, o utilitário solicita a senha do
squid-user
.A entrada SPN do node Control é adicionada e o arquivo keytab é criado.
- Para cada node do cluster, adicione uma entrada SPN ao arquivo keytab. Para fazer isso, execute o seguinte comando:
C:\Windows\system32\ktpass.exe -princ HTTP/<fully qualified domain name (FQDN) of the node>@<realm uppercase Active Directory domain name> -mapuser squid-user2@<realm uppercase Active Directory domain name> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <path and name of the previously created file>.keytab -out <path and new name>.keytab
O utilitário solicitará a senha do
squid-user2
ao executar o comando.
O arquivo keytab para o serviço Squid será criado. Esse arquivo conterá todos os SPNs adicionados dos nodes do cluster.
Exemplo: Por exemplo, você precisa criar um arquivo keytab que contém SPNs de 3 nodes: Para criar um arquivo denominado
Para adicionar outro SPN, você deve executar o seguinte comando:
Para adicionar um terceiro SPN, você deve executar o seguinte comando:
Isso resultará na criação de um arquivo denominado |