A.EJEMPLO.COM acceda a un servicio en el reinado B.EJEMPLO.COM, ambos reinados deben compartir una clave para el principal con nombre krbtgt/B.EJEMPLO.COM@A.EJEMPLO.COM, y ambas claves deben tener el mismo número de versión de clave asociadas a ellas.
# kadmin -r A.EXAMPLE.COMkadmin: add_principal krbtgt/B.EXAMPLE.COM@A.EXAMPLE.COMEnter password for principal "krbtgt/B.EXAMPLE.COM@A.EXAMPLE.COM": Re-enter password for principal "krbtgt/B.EXAMPLE.COM@A.EXAMPLE.COM": Principal "krbtgt/B.EXAMPLE.COM@A.EXAMPLE.COM" created. quit # kadmin -r B.EXAMPLE.COMkadmin: add_principal krbtgt/B.EXAMPLE.COM@A.EXAMPLE.COMEnter password for principal "krbtgt/B.EXAMPLE.COM@A.EXAMPLE.COM": Re-enter password for principal "krbtgt/B.EXAMPLE.COM@A.EXAMPLE.COM": Principal "krbtgt/B.EXAMPLE.COM@A.EXAMPLE.COM" created. quit
get_principal para verificar que ambas entradas tienen un número de versión de claves (valores kvno) y tipos de encriptados coincidentes.
-randkey del comando add_principal, para asignar una clave aleatoria en lugar de una contraseña, descargar la nueva entrada desde una base de datos del primer reinado, e importarla al segundo. Esto no va a funcionar a menos que las claves maestras de la base de datos del reinado sean idénticas, ya que las claves contenidas en una base de datos descargada, son encriptadas utilizando la clave maestra.
A.EJEMPLO.COM son capaces ahora de autenticarse en los servicios del reinado B.EJEMPLO.COM. Dicho de otra manera, el reinado B.EJEMPLO.COM ahora confía en el reinado A.EJEMPLO.COM, o, más sencillo aún, ahora B.EJEMPLO.COM confía en A.EJEMPLO.COM.
B.EJEMPLO.COM podría confiar en clientes del reinado A.EJEMPLO.COM para autenticarse en sus servicios, pero este hecho no significa que el reinado A.EJEMPLO.COM confíe en los clientes del reinado B.EJEMPLO.COM cuando estos intenten autenticarse en sus servicios. Para establecer una confianza bidireccional entre dos reinados, ambos van a necesitar compartir claves para el servicio krbtgt/A.EJEMPLO.COM@B.EJEMPLO.COM (tome nota de la forma invertida de acuerdo a los dos reinados comparados en el ejemplo anterior).
A.EJEMPLO.COM pueden autenticarse en servicios del reinado B.EJEMPLO.COM, y los clientes del reinado B.EJEMPLO.COM pueden autenticarse en servicios del reinado C.EJEMPLO.COM, entonces los clientes de A.EJEMPLO.COM pueden también autenticarse en los servicios del reinado C.EJEMPLO.COM, aún cuando C.EJEMPLO.COM no confíe directamente en los clientes del reinado A.EJEMPLO.COM. Esto significa que lo ideal para poder reducir la cantidad de esfuerzo al configurar una red con múltiples reinados, que necesiten confiar unos en otros, será realizar las elecciones correctas a la hora de definir las relaciones de confianza entre ellos.
service/server.ejemplo.com@EJEMPLO.COM
EJEMPLO.COM es el nombre del reinado.
domain_realm del archivo /etc/krb5.conf para mapear ya sea el nombre del equipo (server.ejemplo.com) o el nombre del dominio DNS (.ejemplo.com) hacia el nombre del reinado (EJEMPLO.COM).
A.EJEMPLO.COM, B.EJEMPLO.COM, and EJEMPLO.COM. Cuando un cliente del reinado A.EJEMPLO.COM intente autenticarse en un servicio del reinado B.EJEMPLO.COM, por defecto, lo primero que hará será intentar obtener credenciales para el reinado EJEMPLO.COM, y luego utilizar esas credenciales para obtener unas nuevas para poder utilizarlas en el reinado B.EJEMPLO.COM.
A.EJEMPLO.COM, autenticando a un servicio en B.EJEMPLO.COMA.EJEMPLO.COM → EJEMPLO.COM → B.EJEMPLO.COM A.EJEMPLO.COM y EJEMPLO.COM comparten una clave para krbtgt/EJEMPLO.COM@A.EJEMPLO.COM
EJEMPLO.COM y B.EJEMPLO.COM comparten una clave krbtgt/B.EJEMPLO.COM@EJEMPLO.COM
SITIO1.VENTAS.EJEMPLO.COM, para autenticar a un servicio en CUALQUIERLUGAR.EJEMPLO.COMSITIO1.VENTAS.EJEMPLO.COM → VENTAS.EJEMPLO.COM → EJEMPLO.COM → CUALQUIERLUGAR.EJEMPLO.COM SITIO1.VENTAS.EJEMPLO.COM y VENTAS.EJEMPLO.COM comparten una clave para krbtgt/VENTAS.EJEMPLO.COM@SITIO1.VENTAS.EJEMPLO.COM
VENTAS.EJEMPLO.COM y EJEMPLO.COM comparten una clave para krbtgt/EJEMPLO.COM@VENTAS.EJEMPLO.COM
EJEMPLO.COM y CUALQUIERLUGAR.EJEMPO.COM comparten una clave para krbtgt/CUALQUIERLUGAR.EJEMPLO.COM@EJEMPLO.COM
DEVEL.EJEMPLO.COM y PROD.EJEMPLO.ORG DEVEL.EJEMPLO.COM → EJEMPLO.COM → COM → ORG → EJEMPLO.ORG → PROD.EJEMPLO.ORG DEVEL.EJEMPLO.COM y EJEMPLO.COM comparten una clave para krbtgt/EJEMPLO.COM@DEVEL.EJEMPLO.COM
EJEMPLO.COM y COM comparten una clave para krbtgt/COM@EJEMPLO.COM
COM y ORG comparten una clave para krbtgt/ORG@COM
ORG y EJEMPLO.ORG comparten una clave para krbtgt/EJEMPLO.ORG@ORG
EJEMPLO.ORG y PROD.EJEMPLO.ORG comparten una clave para krbtgt/PROD.EJEMPLO.ORG@EJEMPLO.ORG
capaths del archivo /etc/krb5.conf, de modo que los clientes que tengan credenciales para un reinado específico, deberán buscar qué reinado es el que le sigue en la cadena y que, eventualmente, será quien permita su autenticación con los servidores.
capaths es relativamente sencillo: cada entrada en la sección tiene el mismo nombre que el reinado en el que pudiera existir el cliente. Dentro de cada subsección, el conjunto de los reinados intermedios desde donde el cliente tiene que obtener las credenciales, se muestran como los valores de la llave que se corresponde con el reinado en el que puede residir el servicio. Si no existen reinados intermedios, será utilizado el valor ".".
[capaths]
A.EJEMPLO.COM = {
B.EJEMPLO.COM = .
C.EJEMPLO.COM = B.EJEMPLO.COM
D.EJEMPLO.COM = B.EJEMPLO.COM
D.EJEMPLO.COM = C.EJEMPLO.COM
}
A.EJEMPLO.COM pueden obtener credenciales de reinados cruzados para B.EJEMPLO.COM directamente del KDC de A.EJEMPLO.COM.
C.EJEMPLO.COM, necesitarán obtener primero credenciales necesarias del reinado B.EJEMPLO.COM (esto requiere que krbtgt/B.EJEMPLO.COM@A.EJEMPLO.COM exista), y entonces utilizar esas credenciales para obtener otras para ser utilizadas en el reinado C.EJEMPLO.COM (utilizando krbtgt/C.EJEMPLO.COM@B.EJEMPLO.COM).
D.EJEMPLO.COM, necesitarán obtener primero las credenciales necesarias del reinado B.EJEMPLO.COM, y luego las credenciales del reinado C.EJEMPLO.COM, antes de obtener, finalmente, las credenciales necesarias para utilizar con el reinado D.EJEMPLO.COM.
A.EJEMPLO.COM pueden obtener credenciales cruzadas del reinado B.EJEMPLO.COM directamente. Sin el "." indicando esto, el cliente intentaría sino usar un camino jerárquico, en este caso:
A.EXAMPLE.COM → EXAMPLE.COM → B.EXAMPLE.COM