2.3.5. Configurar Firefox para la utilización de Kerberos como SSO
Puede configurar Firefox para utilizar Kerberos para la identificación única SSO. Para que esta herramienta pueda funcionar correctamente, necesita configurar su navegador web para que pueda enviar sus credenciales Kerberos al
KDC adecuado. En la siguiente sección se describen las modificaciones a realizar en la configuración, y otros requerimientos necesarios para poder utilizar correctamente esta funcionalidad.
En la barra de direcciones de Firefox, escriba about:config
para ver una lista actualizada de las opciones de configuración disponibles.
En el campo Filtro, ingrese negotiate
para restringir la lista de opciones.
Haga un doble clic en la entrada network.negotiate-auth.trusted-uris para mostrar el cuadro de diálogo Ingrese valor de cadena.
Ingrese el nombre del dominio en el cual desea autenticarse, por ejemplo, .ejemplo.com
.
Repita el procedimiento recién descrito para la entrada network.negotiate-auth.delegation-uris, utilizando el mismo dominio.
Nota
Puede dejar este valor vacío, ya que permite a Kerberos enviar tickets, lo que no es necesario.
Si no puede ver estas dos opciones de configuración listadas, tal vez la versión de Firefox que está utilizando sea demasiado antigua para soportar negociados de autenticación, y debería considerar actualizarla.
Necesita asegurarse de poseer tickets Kerberos. En una terminal, ingrese kinit
para obtenerlos. Para mostrar la lista de los tickets disponibles, ingrese klist
. A continuación se muestra un ejemplo del resultado de estos comandos:
[user@host ~] $ kinit
Password for user@EXAMPLE.COM:
[user@host ~] $ klist
Ticket cache: FILE:/tmp/krb5cc_10920
Default principal: user@EXAMPLE.COM
Valid starting Expires Service principal
10/26/06 23:47:54 10/27/06 09:47:54 krbtgt/USER.COM@USER.COM
renew until 10/26/06 23:47:54
Kerberos 4 ticket cache: /tmp/tkt10920
klist: You have no tickets cached
2.3.5.1. Solución de problemas
Si ha seguido las etapas de configuración recién indicadas, y la negociación de la autenticación no funciona, puede activar la posibilidad de obtener información más detallada del proceso de autenticación. Esto podría ayudarle a encontrar la causa del problema. Para obtener más detalles del proceso de autenticación, utilice el siguiente procedimiento:
Cerrar todas las instancias de Firefox.
Abra una terminal, e ingrese los siguientes comandos:
export NSPR_LOG_MODULES=negotiateauth:5
export NSPR_LOG_FILE=/tmp/moz.log
Reinicie Firefox desde esa terminal, y visite el sitio web al que no podía autenticarse anteriormente. La información será registrada en /tmp/moz.log
, y podría darle alguna pista hacerca del problema. Por ejemplo:
-1208550944[90039d0]: entering nsNegotiateAuth::GetNextToken()
-1208550944[90039d0]: gss_init_sec_context() failed: Miscellaneous failure
No credentials cache found
Esto significa que usted no tiene tickets Kerberos, y que necesita ejecutar el comando kinit
.
Si puede ejecutar kinit
exitosamente desde su máquina pero no puede autenticarse, debería ver algo similar a lo siguiente en el archivo log:
-1208994096[8d683d8]: entering nsAuthGSSAPI::GetNextToken()
-1208994096[8d683d8]: gss_init_sec_context() failed: Miscellaneous failure
Server not found in Kerberos database
Generalmente esto significa que existe un problema de configuración de Kerberos. Asegúrese de tener las entradas correctas en la sección [domain_realm] del archivo /etc/krb5.conf
. Por ejemplo:
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
Si no aparece nada en el archivo de registro, es posible que usted se encuentre detrás de un proxy, y que ese proxy esté eliminando los encabezados HTTP necesarios para negociar la autenticación. Una posible solución a esto es intentar conectarse al servidor utilizando HTTPS, que permite a las peticiones atravesar el proxy sin modificarlas. Luego proceda a depurar utilizando el archivo de registro, como se ha explicado antes.