Hace poco me encontré con un extraño error de autorización al intentar habilitar los Servicios de administración de derechos de Active Directory (AD RMS) para un servidor Exchange 2010 local y pensé que el mundo podría beneficiarse de mi experiencia en la resolución del problema.
Después de completar todos los prerrequisitos apropiados para habilitar AD RMS en Exchange, incluyendo la concesión de permisos apropiados para el grupo Exchange Servers en el archivo ServerCertification.asmx y la habilitación de la funcionalidad AD RMS Super Users utilizando un grupo que contiene el usuario Exchange apropiado, todavía cuando ejecuté el PowerShell command para realmente activar AD RMS para Exchange (Set-IRMConfiguration -InternalLicensingEnabled $True) recibí un error de autorización:
La solicitud falló con el estado HTTP 401: No autorizado. ---> Fallo al obtener información del servidor de https://rms.example.com/_wmcs/certification/server.asmx. + CategoryInfo : InvalidOperation: (:) [Set-IRMConfiguration], Exception + FullyQualifiedErrorId : F08D1A6C,Microsoft.Exchange.Management.RightsManagement.SetIRMConfiguration
He buscado más información en el registro de eventos del servidor Exchange, pero no he encontrado nada útil. Revisé los registros de eventos de la aplicación y del sistema en el servidor AD RMS, pero de nuevo, nada útil. Habilité la depuración en el servidor AD RMS e intenté el command mientras revisaba la salida de depuración. De nuevo, nada útil. Pensé que podría ser un problema con la autenticación integrada (después de haber corrido recientemente a través de un aparente error con AD RMS y la autenticación integrada que se relaciona con Internet Explorer 9), así que jugué un poco con los ajustes, pero nada allí. Finalmente encontré la clave que me indicó la dirección correcta. En el registro de eventos de Seguridad (también conocido como auditoría) en el servidor AD RMS (¿quién pasa mucho tiempo mirando el registro de eventos de auditoría?) Encontré una instancia de esto para cada intento de Set-IRMConfiguration command :
Nombre del registro: Seguridad Fuente: Microsoft-Windows-Security-Auditing Fecha: 4/29/2013 10:26:18 AM ID Evento: 4625 Categoría de tarea: Inicio de sesión Nivel: Información Palabras clave: Fallo de auditoría Usuario: N/A Equipo: rms.example.com Descripción: Una cuenta no ha podido iniciar sesión. Asunto: ID de seguridad: NULL SID Nombre de cuenta: - Dominio de la cuenta: - ID de inicio de sesión: 0x0 Tipo de conexión: 3 Cuenta para la que falló el inicio de sesión: Security ID: NULL SID Nombre de cuenta: EXCHANGE$ Dominio de la cuenta: EXAMPLE Información del fallo: Motivo del fallo: Nombre de usuario desconocido o contraseña incorrecta. Estado: 0xc000006d Sub Estado: 0xc000006a Información del proceso: ID del proceso de llamada: 0x0 Nombre del proceso: - Información de Red: Nombre de la estación de trabajo: EXCHANGE Dirección de red de origen: 10.9.8.5 Puerto de origen: 30957 Información detallada de autenticación: Proceso de inicio de sesión: NtLmSsp Paquete de autenticación: NTLM Servicios transitados: - Nombre del paquete (sólo NTLM): - Longitud de la clave: 0 Este evento se genera cuando falla una solicitud de inicio de sesión. Se genera en el ordenador en el que se intentó el acceso. Los campos Asunto indican la cuenta en el sistema local que solicitó el inicio de sesión. Normalmente se trata de un servicio, como el servicio de servidor, o de un proceso local, como Winlogon.exe o Services.exe. Winlogon.exe o Services.exe. El campo Tipo de inicio de sesión indica el tipo de inicio de sesión solicitado. Los tipos más comunes son 2 (interactivo) y 3 (red). Los campos Información del proceso indican qué cuenta y qué proceso del sistema solicitaron el inicio de sesión. Los campos de información de red indican dónde se originó la solicitud de inicio de sesión remoto. El nombre de la estación de trabajo no siempre está disponible y puede dejarse en blanco en algunos casos. Los campos de información de autenticación proporcionan información detallada sobre esta solicitud específica de inicio de sesión. específica. - Los servicios transitados indican qué servicios intermedios han participado en esta solicitud de inicio de sesión. - Nombre de paquete indica qué subprotocolo se ha utilizado entre los protocolos NTLM. - Longitud de la clave indica la longitud de la clave de sesión generada. Será 0 si no se ha solicitado clave de sesión.
¿Qué? Este mensaje me dice que a mi servidor AD RMS no le gusta el nombre de usuario o la contraseña de la cuenta de máquina de mi servidor Exchange. Pero, el servidor AD RMS y el servidor Exchange están unidos al mismo dominio AD y ninguno de los dos está produciendo mensajes de registro de eventos que indiquen que hay un problema con la cuenta de máquina o la contraseña.
Así pues, utilizo ADSI Edit para comprobar el historial de cambios de contraseña en la cuenta de máquina del servidor Exchange y observo que el recuento de contraseñas incorrectas para esta cuenta asciende a tres. Está claro que el problema es la contraseña. Utilizo la herramienta nltest y ejecuto algunos comandos en el servidor Exchange para ver qué pasa. Esto no revela ningún problema, pero decido forzar un cambio de contraseña de la cuenta de la máquina de todos modos.
En un prompt elevado de command (en realidad mi sesión elevada de PowerShell) en el servidor Exchange que ejecuto:
nltest /sc_cambiar_pwd:ejemplo.com
Y entonces vuelvo a intentar mi Set-IRMConfiguration command . ¡Et voilà! Funciona perfectamente.
Sigue siendo un misterio cómo la contraseña de la cuenta de máquina del servidor Exchange llegó a un estado en el que AD y el propio servidor Exchange estaban aparentemente satisfechos con ella, pero AD RMS no.