Problemas de inicio de sesión de FileVault 2 en la red OpenLDAP con cuenta administrada, administrada y móvil en Lion 10.7.4

4

Este problema ocurre en cualquier máquina con Lion en mi entorno. Instalo Lion y me conecto a OpenLDAP para la autenticación. Habilito FileVault.

Algunos usuarios informaron que cuando apagaban su computadora del modo de suspensión o reiniciaban, la única cuenta disponible para desbloquear FileVault era Administrador (ya no era su cuenta local de OpenLDAP almacenada en caché).

En un intento por reproducir este problema, apagué todas las interfaces de red en mi MacBook Pro de prueba y reinicié - seguro que FileVault solo me permitirá desbloquear mi disco duro usando la contraseña del Administrador, tal como ocurrió con mi usuarios.

También, cuando intenté verificar si mi cuenta de usuario todavía estaba habilitada en FileVault (accediendo a Preferencias del sistema - > Seguridad y privacidad ), Sistema Preferencias se bloquea .

Encontré una solución alternativa que a veces funciona: abra cualquier otro panel de Preferencias del Sistema (por ejemplo, Usuarios y Grupos) y autentíquelo haciendo clic en el icono de candado. Luego, haga clic en Mostrar todo para volver a la IU principal de Preferencias del sistema, y acceda a Seguridad y amp; Privacidad de nuevo. Funcionará. En la pestaña FileVault, aparece el texto "Algunos usuarios no pueden desbloquear este disco" (probablemente mi cuenta de administrador, administrada, móvil). Hago clic en el botón "Habilitar usuarios" y aparece un cuadro de diálogo, pero en este cuadro de diálogo, mi cuenta de usuario es la única en la lista y tiene una marca de verificación verde, como si estuviera configurada correctamente (incluso cuando no está ). Si hago clic en el botón "Listo" aquí, parece que se procesa algo por un momento. Si reinicio después de hacer esto, funciona, y puedo autenticarme como yo mismo.

Creo que lo que está sucediendo aquí es que la red se está cerrando en MacBooks que están en modo de suspensión o apagado, y FileVault está eliminando las cuentas que se autentican con LDAP de los Usuarios Habilitados. Supongo que aquí también se rompe algo, debido a la falla que ocurre cuando se intenta investigar la configuración de FileVault.

Pasos para reproducir

  1. Instala Lion.
  2. Conectarse a mi servidor OpenLDAP.
  3. Habilite FileVault 2, habilite al usuario autenticado con LDAP para desbloquear FileVault.
  4. Reiniciar.
  5. ¡Funciona!
  6. Inicia sesión y desactiva las interfaces de red, con el objetivo de obligar a Lion a usar las credenciales LDAP almacenadas en caché para la autenticación del usuario en FileVault.
  7. Reiniciar.
  8. El único usuario que está disponible para la autenticación es el Administrador.
  9. Después de iniciar sesión como Administrador, luego cerrar sesión y volver a iniciar sesión como usuario con autorización LDAP, trato de acceder a Preferencias del sistema - > Seguridad y amp; Intimidad. Esto hace que las Preferencias del sistema se bloqueen con el volcado de caída pegado a continuación. La única forma de evitar este bloqueo es autenticarse haciendo clic en el icono de candado en cualquier otro panel de Preferencias del Sistema (por ejemplo, Usuarios y grupos), luego haga clic en "Mostrar todo", luego haga clic en "Seguridad y privacidad" nuevamente. Esta vez funcionará. Los detalles se indican en la sección Resumen de este informe de errores.

Resultados esperados

Espero que la autenticación de FileVault 2 funcione para el usuario en el que se configuró originalmente.

Resultados reales

Esto no está sucediendo, y los usuarios no pueden desbloquear su máquina (y, por lo tanto, no pueden trabajar sin que yo (el administrador del sistema) llegue y desbloquee su máquina como Administrador, luego cierre la sesión y les permita iniciar sesión en OS X bajo su cuenta). He presentado un informe de error con Apple, pero no he oído nada de ellos. Me pondré en contacto con el soporte telefónico para ver si es de alguna utilidad, pero tengo curiosidad por saber si alguien aquí se ha topado y de alguna manera supera estos problemas.

Notas

Aquí está el registro de fallos producido al intentar acceder a Seguridad & Privacidad después de que ocurra el problema:

enlace

    
pregunta 05.06.2012 - 16:27

2 respuestas

5

FileVault 2 usa el atributo de usuario GeneratedUID para guardar quién tiene permiso para desbloquear un volumen cifrado. Si el GeneratedUID de un usuario difiere de lo que se generó (o se extrajo de LDAP) cuando se habilitó FileVault 2, no se le permitirá al usuario desbloquear la máquina, ya que su cuenta no estará disponible en El menú EFI. Además, esto provoca la caída de las Preferencias del Sistema en su Mac cada vez que intentan acceder a Seguridad y amp; Privacidad prefpano.

Este problema surge cuando /usr/bin/mcxrefresh se ejecuta y extrae un valor null o un valor diferente al que se almacena localmente desde LDAP (si el atributo no está definido para el usuario en cuestión o se define incorrectamente, respectivamente), sobrescribiendo el GeneratedUID almacenado localmente (que se genera y solo se almacena localmente cuando FileVault 2 está habilitado sin un atributo LDAP coincidente).

En otras palabras, si existe un valor de usuario generado por Apple en LDAP para un usuario y se asigna correctamente en el Mac de los usuarios al atributo GeneratedUID , FileVault 2 no genere un nuevo valor, pero en su lugar usará el valor almacenado en LDAP.

Pude resolver este problema agregando un atributo llamado apple-generateduid a la entrada LDAP de cualquier usuario que experimente este problema. Podría generar un valor aleatorio para este atributo en Python ejecutando la siguiente línea de un solo terminal desde mi terminal:

python -c 'import uuid; print str(uuid.uuid4()).upper();'

Sin embargo, este no es el único paso. También debe agregar una asignación para este atributo en el lado del cliente. Esto se hace fácilmente usando los siguientes pasos:

  1. Abre Preferencias del sistema .
  2. Haga clic en Usuarios & Grupos .
  3. Haz clic en Opciones de inicio de sesión .
  4. Haz clic en el icono de desbloqueo .
  5. En Servidor de cuentas de red , haga clic en Editar .
  6. Haz clic para resaltar el servidor de tu directorio.
  7. En Servicios , haga doble clic en su servicio de directorio (en mi caso, era LDAPv3)
  8. En la ventana que se abre, deslice el nombre de su configuración y luego haga clic en el botón Editar ... .
  9. En Buscar & Las asignaciones se desplazan hacia abajo y hacen clic en Usuarios para resaltarlas.
  10. Haz clic en el botón Agregar (el botón izquierdo).
  11. Elija GeneratedUID de la lista de tipos de atributos disponibles.
  12. En la columna derecha, haga clic en el botón Agregar y escriba apple-generateduid . Haga clic en Aceptar para guardar los cambios hasta que vuelva al cuadro de diálogo principal de Preferencias del sistema.
  13. En este punto, se ha creado una asignación de GeneratedUID a apple-generateduid . Ahora, cuando OS X busque el valor GeneratedUID, obtendrá el valor de userid generado por apple del usuario en las preguntas de la entrada LDAP.

Finalmente, es importante que el valor almacenado localmente de GeneratedUID y el valor almacenado en LDAP coincidan. Ejecute el siguiente comando y asegúrese de que los dos valores de GeneratedUID coincidan:

dscl /Search search /Users GeneratedUID $(dscl . read /Users/$(echo $USER) GeneratedUID | cut -d " " -f2)

    
respondido por el user23645 18.06.2012 - 15:58
0

Suponiendo que son cuentas móviles (que deberían almacenar en caché la información del usuario requerida localmente al iniciar sesión) y existe la posibilidad de que la conectividad de red al servidor LDAP no esté disponible / disponible de forma inmediata, sospecho altamente de esta línea de registro:

2 libcsfde.dylib 0x00007fff8565af1f CSFDEGetUserEntryForUUID + 134

Este es el hilo que se bloquea en tu registro y justo antes de que se bloquee, está intentando obtener la longitud de una cadena devuelta como resultado de esa llamada de biblioteca particular (privada).

El nombre de la llamada parece implicar: CoreServices Full Data / Disk Encryption (también conocido como FileVault2) "GetUserEntryForUUID" - nota: esta es una función que solicita a FileVault información del usuario basada en un UUID, no el marco de colaboración, servicios de identidad, servicios de directorio / OpenDirectory, etc.

Este fragmento de código le pide a FileVault que proporcione detalles sobre un usuario con solo información UUID, lo que parece que FV está rastreando la información del usuario por separado (posiblemente) del resto de OS X. Este es preciso , debido a que el procedimiento FileVault2, como parte de la marcación de usuarios disponibles para desbloquear la partición del sistema operativo de inicio, escribe cierta información en la partición de recuperación.

Sin embargo, parece que hay un desglose en algún lugar con los mecanismos de autenticación de la cuenta del directorio de OpenLDAP / mobile / "alternative" y no se está escribiendo la información necesaria para poder desbloquearla sin acceso de red al servidor de OpenLDAP.

Esto es solo un tiro en la oscuridad, pero tal vez un representante de Apple podría ayudar más con esto. Suena como un error legítimo para mí.

    
respondido por el Michael Lynn 08.06.2012 - 20:30

Lea otras preguntas en las etiquetas