La creación de un archivo keytab
19 de diciembre de 2024
ID 183739
Si ya ha creado un archivo keytab para la autenticación de inicio de sesión único, puede usar este archivo para configurar la autenticación Kerberos en el servidor proxy.
Puede utilizar la misma cuenta de usuario para la autenticación en todos los nodos de un clúster. Para hacerlo, tiene que crear un archivo keytab que contenga el nombre de entidad de servicio (SPN) por cada uno de estos nodos. Al crear un archivo keytab, debe utilizar el atributo para generar una sal (modificador de la función de hash).
La sal generada se debe guardar mediante un método de su elección para añadir posteriormente nuevos SPN al archivo keytab.
También puede crear una cuenta de usuario de Active Directory distinta para cada nodo de clúster para el que desee configurar la autenticación Kerberos.
Antes de crear un archivo keytab
Antes de crear un archivo keytab, para cada SPN, asegúrese de que no esté registrado en Active Directory. Puede hacerlo ejecutando el siguiente comando: setspn -Q <SPN>
, donde <SPN>
tiene la siguiente estructura: HTTP/<nombre de dominio completo (FQDN) del nodo del clúster>@<nombre de dominio del dominio de Active Directory en mayúsculas>
.
El comando debe devolver "No such SPN found"
, lo que significa que el SPN en cuestión no está registrado. Si el SPN ya se ha registrado, antes de crear el archivo keytab, tiene que anular la asignación del SPN de la cuenta o eliminar la propia cuenta en el Active Directory al que se asignó este SPN.
Ejemplo de verificación de un SPN para un nodo Control y nodos Secundarios: setspn -Q HTTP/control-01.test.local@TEST.LOCAL setspn -Q HTTP/secondary-01.test.local@TEST.LOCAL setspn -Q HTTP/secondary-02.test.local@TEST.LOCAL |
La creación de un archivo keytab
El archivo keytab se crea en el servidor del controlador de dominio o en un equipo con Windows Server que forma parte del dominio, bajo una cuenta de administrador de dominio.
Para crear un archivo keytab utilizando una sola cuenta de usuario, haga lo siguiente:
- En el complemento de Usuarios y equipos de Active Directory, cree una cuenta de usuario denominada, por ejemplo,
control-usuario
. - Para utilizar el algoritmo de cifrado AES256-SHA1, haga lo siguiente en el complemento de Usuarios y equipos de Active Directory:
- Abra las propiedades de la cuenta creada.
- En la pestaña Cuenta, seleccione la casilla de verificación Esta cuenta admite el cifrado AES de 256 bits de Kerberos.
- Cree un archivo keytab para
control-usuario
utilizando la herramienta ktpass. Para hacerlo, ejecute el siguiente comando en la línea de comandos:C:\Windows\system32\ktpass.exe -princ HTTP/<nombre de dominio completo (FQDN) del nodo de Control>@<nombre de dominio de Active Directory en mayúsculas> -mapuser control-user@<nombre de dominio de Active Directory en mayúsculas -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <ruta al archivo>\<nombre del archivo>.keytab
La herramienta le solicitará la contraseña de
control-user
al ejecutar el comando.El SPN del nodo con rol Control se añadirá al archivo keytab creado. Se muestra la sal generada:
Hash de contraseña con sal "<valor hash>".
- Por cada nodo del clúster, añada una entrada SPN al archivo keytab. Para hacerlo, ejecute el comando siguiente:
C:\Windows\system32\ktpass.exe -princ HTTP/<nombre de dominio completo (FQDN) del nodo>@<nombre de dominio de Active Directory en mayúsculas> -mapuser control-user@<nombre de dominio de Active Directory en mayúsculas> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <ruta y nombre del archivo creado anteriormente>.keytab -out <ruta y nombre nuevo>.keytab -setupn -setpass -rawsalt "<<valor hash de la sal obtenida al crear el archivo keytab en el paso 3>"
La herramienta le solicitará la contraseña de
control-user
al ejecutar el comando.
Se creará el archivo keytab. El archivo contendrá los SPN de los nodos de clúster.
Ejemplo: Por ejemplo, debe crear un archivo keytab que contenga los SPN de 3 nodos: Para crear un archivo llamado
Supongamos que tiene la sal Para añadir un SPN más, debe ejecutar el siguiente comando:
Para añadir un tercer SPN, debe ejecutar el siguiente comando:
Como resultado, se creará un archivo llamado |
Para crear un archivo keytab utilizando una cuenta de usuario distinta para cada nodo, haga lo siguiente:
- En el complemento de Usuarios y equipos de Active Directory cree una cuenta de usuario independiente para cada nodo de clúster (por ejemplo, cuentas de usuario con nombres como
control-usuario
,usuario-secundario1
,usuario-secundario2
, etc.). - Para utilizar el algoritmo de cifrado AES256-SHA1, haga lo siguiente en el complemento de Usuarios y equipos de Active Directory:
- Abra las propiedades de la cuenta creada.
- En la pestaña Cuenta, seleccione la casilla de verificación Esta cuenta admite el cifrado AES de 256 bits de Kerberos.
- Cree un archivo keytab para
control-usuario
utilizando la herramienta ktpass. Para hacerlo, ejecute el siguiente comando en la línea de comandos:C:\Windows\system32\ktpass.exe -princ HTTP/<nombre de dominio completo (FQDN) del nodo de Control>@<nombre de dominio de Active Directory en mayúsculas> -mapuser control-user@<nombre de dominio de Active Directory en mayúsculas> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <ruta al archivo>\<nombre del archivo>.keytab
La herramienta le solicitará la contraseña de
control-user
al ejecutar el comando.El SPN del nodo con rol Control se añadirá al archivo keytab creado.
- Por cada nodo del clúster, añada una entrada SPN al archivo keytab. Para hacerlo, ejecute el comando siguiente:
C:\Windows\system32\ktpass.exe -princ HTTP/<nombre de dominio completo (FQDN) del nodo>@<nombre de dominio de Active Directory en mayúsculas>> -mapuser secondary1-user@<nombre de dominio de Active Directory en mayúsculas>> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <ruta y nombre del archivo creado anteriormente>.keytab -out <ruta y nombre nuevo>.keytab
La herramienta le solicitará la contraseña de
secondary1-user
al ejecutar el comando.
Se creará el archivo keytab. El archivo contendrá los SPN de los nodos de clúster.
Ejemplo: Por ejemplo, debe crear un archivo keytab que contenga los SPN de 3 nodos: Para crear un archivo llamado
Para añadir un SPN más, debe ejecutar el siguiente comando:
Para añadir un tercer SPN, debe ejecutar el siguiente comando:
Como resultado, se creará un archivo llamado |
Después de crear un archivo keytab
Después de crear un archivo keytab, para cada SPN, asegúrese de que esté registrado y asignado a la cuenta correspondiente. Puede hacerlo ejecutando el siguiente comando: setspn -Q <SPN>
, donde <SPN>
tiene la siguiente estructura: HTTP/<nombre de dominio completo (FQDN) del nodo del clúster>@<nombre de dominio del dominio de Active Directory en mayúsculas>
.
El comando debe devolver "Existing SPN found"
y la cuenta a la que está asignado el SPN.
Además, después de crear un archivo keytab, puede verificar la lista de SPN asignados a la cuenta correspondiente. Para hacerlo, puede ejecutar el siguiente comando: setspn -L <cuenta>
, donde <cuenta>
tiene la siguiente estructura: <nombre de usuario>@<nombre del dominio de Active Directory en mayúsculas>
.
Si el archivo keytab se creó con una cuenta, el comando debería devolver una lista de todos los SPN para los que se creó el archivo keytab. Si el archivo keytab se creó con cuentas independientes para cada nodo, el comando debería devolver un SPN asignado a la cuenta específica.
Comando de ejemplo para una cuenta: setspn -L control-user@TEST.LOCAL Comando de ejemplo para cuentas distintas para cada nodo: setspn -L control-user@TEST.LOCAL setspn -L secondary1-user@TEST.LOCAL setspn -L secondary2-user@TEST.LOCAL |