Autenticación compuesta y notificaciones de AD DS en AD FS
Windows Server 2012 mejora la autenticación de Kerberos mediante la introducción de la autenticación compuesta. La autenticación compuesta permite que una solicitud de servicio de concesión de vales (TGS) de Kerberos incluya dos identidades:
- la identidad del usuario
- la identidad del dispositivo del usuario.
Windows logra la autenticación compuesta mediante la ampliación de la tunelización segura de autenticación flexible (FAST) de Kerberos (FAST), o protección de Kerberos.
AD FS 2012 y versiones posteriores permiten el consumo de notificaciones de usuario o dispositivo emitidas por AD DS que residen en un vale de autenticación de Kerberos. En versiones anteriores de AD FS, el motor de notificaciones solo podía leer los identificadores de seguridad de usuario y grupo (SID) de Kerberos, pero no ninguna información de notificaciones contenida en un vale de Kerberos.
Puede habilitar un control de acceso más completo para las aplicaciones federadas mediante notificaciones de usuario y dispositivo emitidas por Active Directory Domain Services (AD DS) conjuntamente, con Servicios de federación de Active Directory (AD FS).
Requisitos
Los equipos que acceden a aplicaciones federadas deben autenticarse en AD FS mediante la autenticación integrada de Windows.
- La autenticación integrada de Windows solo está disponible al conectarse a los servidores de AD FS de back-end.
- Los equipos deben poder acceder a los servidores de AD FS de back-end para el nombre del servicio de federación.
- Los servidores de AD FS deben ofrecer la autenticación integrada de Windows como método de autenticación principal en su configuración de intranet.
La directiva El cliente Kerberos admite notificaciones, autenticación compuesta y protección de Kerberos se debe aplicar a todos los equipos que acceden a aplicaciones federadas protegidas por la autenticación compuesta. Esto es aplicable en el caso de escenarios de bosque único o de varios bosques.
El dominio que aloja los servidores de AD FS debe tener la opción de la directiva KDC admite notificaciones, autenticación compuesta y protección de Kerberos aplicada a los controladores de dominio.
Pasos para configurar AD FS en Windows Server 2012 R2
Siga estos pasos para configurar la autenticación compuesta y las notificaciones
Paso 1: Habilitar KDC admite notificaciones, autenticación compuesta y protección de Kerberos en la directiva predeterminada del controlador de dominio
- En el Administrador de servidores, seleccione Herramientas, Administración de directiva de grupo.
- Desplácese hacia abajo hasta la Directiva predeterminada de controlador de dominio, haga clic con el botón derecho y seleccione Editar.
- En el Editor de administración de directivas de grupo, en Configuración del equipo, expanda Directivas, Plantillas administrativas y Sistema, y seleccione KDC.
- En el panel derecho, haga doble clic en KDC admite notificaciones, autenticación compuesta y protección de Kerberos.
- En la nueva ventana de diálogo, establezca la compatibilidad con KDC para las notificaciones en Habilitada.
- En Opciones, seleccione Compatible en el menú desplegable y, posteriormente, haga clic en Aplicar y Aceptar.
Paso 2: Habilitar la compatibilidad del cliente Kerberos con notificaciones, autenticación compuesta y protección de Kerberos en equipos que acceden a aplicaciones federadas
- En un directiva de grupo aplicada a los equipos que acceden a aplicaciones federadas, en el Editor de administración de directivas de grupo, en Configuración del equipo, expanda Directivas, Plantillas administrativas y Sistema, y seleccione Kerberos.
- En el panel derecho de la ventana del Editor de administración de directivas de grupo, haga doble clic en El cliente Kerberos admite notificaciones, autenticación compuesta y protección de Kerberos.
- En la nueva ventana de diálogo, establezca la compatibilidad del cliente Kerberos en Habilitado y haga clic en Aplicar y Aceptar.
- Cierre el Editor de administración de directivas de grupo.
Paso 3: Asegúrese de que se han actualizado los servidores de AD FS.
Debe asegurarse de que las siguientes actualizaciones están instaladas en los servidores de AD FS.
Actualizar | Descripción |
---|---|
KB2919355 | Actualización de seguridad acumulativa (incluye KB2919355, KB2932046, KB2934018, KB2937592, KB2938439) |
KB2959977 | Actualización para Server 2012 R2 |
Revisión 3052122 | Esta actualización agrega compatibilidad con las notificaciones de identificador compuesto en Servicios de federación de Active Directory (AD FS). |
Paso 4: Configurar el proveedor de autenticación principal
Establezca el proveedor de autenticación principal en Autenticación de Windows para la configuración de la intranet de AD FS.
En Administración de AD FS, en Directivas de autenticación, seleccione Autenticación principal y, en Configuración global, haga clic en Editar.
En Editar directiva de autenticación global en Intranet, seleccione Autenticación de Windows.
Haga clic en Aplicar y en Aceptar.
Con PowerShell, puede usar el cmdlet Set-AdfsGlobalAuthenticationPolicy.
Set-AdfsGlobalAuthenticationPolicy -PrimaryIntranetAuthenticationProvider 'WindowsAuthentication'
Nota
En una granja de servidores basada en WID, el comando de PowerShell debe ejecutarse en el servidor de AD FS principal. En una granja de servidores basada en SQL, el comando de PowerShell se puede ejecutar en cualquier servidor de AD FS que sea miembro de la granja de servidores.
Paso 5: Agregar la descripción de notificación a AD FS
Agregue la siguiente descripción de notificación a la granja de servidores. Esta descripción de notificación no está presente de forma predeterminada en AD FS 2012 R2 y debe agregarse manualmente.
En Administración de AD FS, en Servicio, haga clic con el botón derecho en Descripción de notificación y seleccione Agregar descripción de notificación
Escriba la siguiente información en la descripción de notificación
- Nombre para mostrar: "Grupo de dispositivos de Windows"
- Descripción de la notificación:
'<https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup>'
`
Ponga una marca en ambas casillas.
Haga clic en Aceptar.
Con PowerShell, puede usar el cmdlet Add-AdfsClaimDescription.
Add-AdfsClaimDescription -Name 'Windows device group' -ClaimType 'https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup' ` -ShortName 'windowsdevicegroup' -IsAccepted $true -IsOffered $true -IsRequired $false -Notes 'The windows group SID of the device'
Nota
En una granja de servidores basada en WID, el comando de PowerShell debe ejecutarse en el servidor de AD FS principal. En una granja de servidores basada en SQL, el comando de PowerShell se puede ejecutar en cualquier servidor de AD FS que sea miembro de la granja de servidores.
Paso 6: Habilitar el bit de autenticación compuesta en el atributo msDS-SupportedEncryptionTypes
- Habilite el bit de autenticación compuesta en el atributo msDS-SupportedEncryptionTypes de la cuenta que ha designado para ejecutar el servicio de AD FS mediante el cmdlet Set-ADServiceAccount de PowerShell.
Nota
Si cambia la cuenta de servicio, debe habilitar manualmente la autenticación compuesta mediante la ejecución de los cmdlets de Windows PowerShell Set-ADUser -compoundIdentitySupported:$true.
Set-ADServiceAccount -Identity “ADFS Service Account” -CompoundIdentitySupported:$true
- Reinicie el Servicio de AD FS.
Nota
Una vez que "CompoundIdentitySupported" se establece en el valor verdadero, la instalación de la misma gMSA en servidores nuevos (2012R2/2016) produce el siguiente error: Install-ADServiceAccount: No se puede instalar la cuenta de servicio. Mensaje de error: "El contexto proporcionado no coincidió con el destino".
Solución: establezca Temporalmente CompoundIdentitySupported en $false. Este paso hace que AD FS deje de emitir notificaciones de WindowsDeviceGroup. Set-ADServiceAccount -Identity "ADFS Service Account" -CompoundIdentitySupported:$false Instale la gMSA en el nuevo servidor y, posteriormente, habilite CompoundIdentitySupported de nuevo en $True. Deshabilitar CompoundIdentitySupported y, posteriormente, volverlo a habilitar no requiere reiniciar el servicio de AD FS.
Paso 7: Actualizar la confianza del proveedor de notificaciones de AD FS para Active Directory
- Actualice la confianza del proveedor de notificaciones de AD FS para Active Directory para que incluya la siguiente regla de notificación "Paso a través" para la notificación "WindowsDeviceGroup".
- En Administración de AD FS, haga clic en Confianzas de proveedores de notificaciones y, en el panel derecho, haga clic con el botón derecho en Active Directory y seleccione Editar reglas de notificación.
- En el cuadro de diálogo Editar reglas de notificación para Active Directory, haga clic en Agregar regla.
- En el Asistente para agregar regla de notificaciones de transformación, seleccione Pasar o filtrar una notificación entrante y haga clic en Siguiente.
- Agregue un nombre para mostrar y seleccione Grupo de dispositivos de Windows en la lista desplegable Tipo de notificación entrante.
- Haga clic en Finalizar Haga clic en Aplicar y en Aceptar.
Paso 8: En el usuario de confianza (RP) donde se esperan las notificaciones "WindowsDeviceGroup", agregue una regla de notificación "Paso a través" o "Transformación" similar.
- En Administración de AD FS, haga clic en Veracidades de usuarios de confianza y, en el panel derecho, haga clic con el botón derecho en el RP y seleccione Editar reglas de notificación.
- En Reglas de transformación de emisión, haga clic en Agregar regla.
- En el Asistente para agregar regla de notificaciones de transformación, seleccione Pasar o filtrar una notificación entrante y haga clic en Siguiente.
- Agregue un nombre para mostrar y seleccione Grupo de dispositivos de Windows en la lista desplegable Tipo de notificación entrante.
- Haga clic en Finalizar Haga clic en Aplicar y en Aceptar.
Pasos para configurar AD FS en Windows Server 2016
A continuación se detallan los pasos para configurar la autenticación compuesta en AD FS para Windows Server 2016.
Paso 1: Habilitar KDC admite notificaciones, autenticación compuesta y protección de Kerberos en la directiva predeterminada del controlador de dominio
- En el Administrador de servidores, seleccione Herramientas, Administración de directiva de grupo.
- Desplácese hacia abajo hasta la Directiva predeterminada de controlador de dominio, haga clic con el botón derecho y seleccione Editar.
- En el Editor de administración de directivas de grupo, en Configuración del equipo, expanda Directivas, Plantillas administrativas y Sistema, y seleccione KDC.
- En el panel derecho, haga doble clic en KDC admite notificaciones, autenticación compuesta y protección de Kerberos.
- En la nueva ventana de diálogo, establezca la compatibilidad con KDC para las notificaciones en Habilitada.
- En Opciones, seleccione Compatible en el menú desplegable y, posteriormente, haga clic en Aplicar y Aceptar.
Paso 2: Habilitar la compatibilidad del cliente Kerberos con notificaciones, autenticación compuesta y protección de Kerberos en equipos que acceden a aplicaciones federadas
- En un directiva de grupo aplicada a los equipos que acceden a aplicaciones federadas, en el Editor de administración de directivas de grupo, en Configuración del equipo, expanda Directivas, Plantillas administrativas y Sistema, y seleccione Kerberos.
- En el panel derecho de la ventana del Editor de administración de directivas de grupo, haga doble clic en El cliente Kerberos admite notificaciones, autenticación compuesta y protección de Kerberos.
- En la nueva ventana de diálogo, establezca la compatibilidad del cliente Kerberos en Habilitado y haga clic en Aplicar y Aceptar.
- Cierre el Editor de administración de directivas de grupo.
Paso 3: Configurar el proveedor de autenticación principal
- Establezca el proveedor de autenticación principal en Autenticación de Windows para la configuración de la intranet de AD FS.
- En Administración de AD FS, en Directivas de autenticación, seleccione Autenticación principal y, en Configuración global, haga clic en Editar.
- En Editar directiva de autenticación global en Intranet, seleccione Autenticación de Windows.
- Haga clic en Aplicar y en Aceptar.
- Con PowerShell, puede usar el cmdlet Set-AdfsGlobalAuthenticationPolicy.
Set-AdfsGlobalAuthenticationPolicy -PrimaryIntranetAuthenticationProvider 'WindowsAuthentication'
Nota
En una granja de servidores basada en WID, el comando de PowerShell debe ejecutarse en el servidor de AD FS principal. En una granja de servidores basada en SQL, el comando de PowerShell se puede ejecutar en cualquier servidor de AD FS que sea miembro de la granja de servidores.
Paso 4: Habilitar el bit de autenticación compuesta en el atributo msDS-SupportedEncryptionTypes
- Habilite el bit de autenticación compuesta en el atributo msDS-SupportedEncryptionTypes de la cuenta que ha designado para ejecutar el servicio de AD FS mediante el cmdlet Set-ADServiceAccount de PowerShell.
Nota
Si cambia la cuenta de servicio, debe habilitar manualmente la autenticación compuesta mediante la ejecución de los cmdlets de Windows PowerShell Set-ADUser -compoundIdentitySupported:$true.
Set-ADServiceAccount -Identity “ADFS Service Account” -CompoundIdentitySupported:$true
- Reinicie el Servicio de AD FS.
Nota
Una vez que "CompoundIdentitySupported" se establece en el valor verdadero, la instalación de la misma gMSA en servidores nuevos (2012R2/2016) produce el siguiente error: Install-ADServiceAccount: No se puede instalar la cuenta de servicio. Mensaje de error: "El contexto proporcionado no coincidió con el destino".
Solución: establezca Temporalmente CompoundIdentitySupported en $false. Este paso hace que AD FS deje de emitir notificaciones de WindowsDeviceGroup. Set-ADServiceAccount -Identity "ADFS Service Account" -CompoundIdentitySupported:$false Instale la gMSA en el nuevo servidor y, posteriormente, habilite CompoundIdentitySupported de nuevo en $True. Deshabilitar CompoundIdentitySupported y, posteriormente, volverlo a habilitar no requiere reiniciar el servicio de AD FS.
Paso 5: Actualizar la confianza del proveedor de notificaciones de AD FS para Active Directory
- Actualice la confianza del proveedor de notificaciones de AD FS para Active Directory para que incluya la siguiente regla de notificación "Paso a través" para la notificación "WindowsDeviceGroup".
- En Administración de AD FS, haga clic en Confianzas de proveedores de notificaciones y, en el panel derecho, haga clic con el botón derecho en Active Directory y seleccione Editar reglas de notificación.
- En el cuadro de diálogo Editar reglas de notificación para Active Directory, haga clic en Agregar regla.
- En el Asistente para agregar regla de notificaciones de transformación, seleccione Pasar o filtrar una notificación entrante y haga clic en Siguiente.
- Agregue un nombre para mostrar y seleccione Grupo de dispositivos de Windows en la lista desplegable Tipo de notificación entrante.
- Haga clic en Finalizar Haga clic en Aplicar y en Aceptar.
Paso 6: En el usuario de confianza (RP) donde se esperan las notificaciones "WindowsDeviceGroup", agregue una regla de notificación "Paso a través" o "Transformación" similar.
- En Administración de AD FS, haga clic en Veracidades de usuarios de confianza y, en el panel derecho, haga clic con el botón derecho en el RP y seleccione Editar reglas de notificación.
- En Reglas de transformación de emisión, haga clic en Agregar regla.
- En el Asistente para agregar regla de notificaciones de transformación, seleccione Pasar o filtrar una notificación entrante y haga clic en Siguiente.
- Agregue un nombre para mostrar y seleccione Grupo de dispositivos de Windows en la lista desplegable Tipo de notificación entrante.
- Haga clic en Finalizar Haga clic en Aplicar y en Aceptar.
Validación
Para validar la publicación de las notificaciones "WindowsDeviceGroup", cree una aplicación de prueba compatible con notificaciones mediante .NET 4.6. Con el SDK 4.0 de WIF. Configure la aplicación como usuario de confianza en AD FS y actualícela con una regla de notificación, tal como se especificó en los pasos anteriores. Al autenticarse en la aplicación mediante el proveedor de autenticación integrada de Windows de AD FS, se crean las siguientes notificaciones.
Las notificaciones del equipo o dispositivo ahora se pueden consumir para controles de acceso más completos.
Por ejemplo: a continuación, AdditionalAuthenticationRules indica a AD FS que invoque MFA si: el usuario autenticado no es miembro del grupo de seguridad "-1-5-21-2134745077-1211275016-3050530490-1117" Y el equipo (desde donde está autenticando el usuario) no es miembro del grupo de seguridad "S-1-5-21-2134745077-1211275016-3050530490-1115 (WindowsDeviceGroup)"
Sin embargo, si se cumple alguna de las condiciones anteriores, no invoque MFA.
'NOT EXISTS([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup", Value =~ "S-1-5-21-2134745077-1211275016-3050530490-1115"])
&& NOT EXISTS([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value =~ "S-1-5-21-2134745077-1211275016-3050530490-1117"])
=> issue(Type = "https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", Value = "https://schemas.microsoft.com/claims/multipleauthn");'