Configurar la autenticación basada en certificados en Exchange 2016

La autenticación basada en certificados (CBA) en Exchange permite que Outlook en la Web (anteriormente conocido como Outlook Web App) y Exchange ActiveSync clientes se autentiquen mediante certificados de cliente en lugar de escribir un nombre de usuario y una contraseña.

Antes de configurar Exchange, debe emitir un certificado de cliente para cada usuario. Debido al gran número de certificados implicados, debe usar una infraestructura de claves públicas (PKI) interna y automática para emitir y administrar certificados de cliente. Un ejemplo de una PKI interna automatizada es Servicios de certificados de Active Directory (AD CS). Para obtener más información sobre AD CS, consulte Información general de Servicios de certificados de Active Directory. Aquí tiene más información sobre los requisitos de certificado:

  • Se debe emitir el certificado de cliente para la autenticación de cliente (por ejemplo, la plantilla de certificado Usuario de AD CS).

  • El certificado de cliente debe contener el nombre principal de usuario (UPN) (en los campos Subject o Subject Alternative Name del certificado).

  • El certificado de cliente debe estar asociado con la cuenta de usuario de Active Directory.

  • Todos los servidores y dispositivos que intervienen en el acceso a Outlook en la web y ActiveSync (también los dispositivos de cliente y servidores proxy) deben confiar en toda la cadena de confianza de los certificados de cliente (el certificado raíz de la entidad de certificación y cualquier CA intermedia que se haya usado para emitir certificados).

Para la CBA de Outlook en la web, el certificado de cliente debe instalarse en el equipo local, el dispositivo o una tarjeta inteligente. Para la CBA de ActiveSync, el certificado de cliente debe instalarse en el dispositivo local. Puede automatizar la instalación de certificados en dispositivos usando una solución de administración de dispositivos móviles (MDM) como Intune. Para obtener más información sobre Intune, consulte Información general de Microsoft Intune.

¿Qué necesita saber antes de empezar?

Sugerencia

¿Problemas? Solicite ayuda en los foros de Exchange. Visite los foros en Exchange Server, Exchange Online, o Exchange Online Protection.

Paso 1: Use el Shell de administración de Exchange para instalar la característica Autenticación por asignación de certificados de cliente en todos los servidores de Exchange

Todos los servidores de Exchange que compartan el espacio de nombres y las URL deben usar los mismos métodos de autenticación. Debe instalar la característica Autenticación por asignación de certificados de cliente en todos los servidores de Exchange.

En el Shell de administración de Exchange, ejecute el siguiente comando:

Install-WindowsFeature Web-Client-Auth

Para obtener información detallada sobre la sintaxis y los parámetros, consulte Install-WindowsFeature.

Paso 2: Use el Administrador de IIS para habilitar la Autenticación de certificados de cliente de Active Directory en el servidor Exchange

  1. Abra el Administrador de IIS en el servidor Exchange. Una manera fácil de hacerlo en Windows Server 2012 o posterior es presionar la tecla Windows + Q, escribir inetmgr y seleccionar el Administrador de Internet Information Services (IIS) en los resultados.

  2. Seleccione el servidor y compruebe que la opción Vista Características esté seleccionada en la parte inferior de la página.

  3. En la sección IIS, haga doble clic en Autenticación.

    En IIS, seleccione el servidor y, a continuación, seleccione Autenticación.

  4. En la página Autenticación que se abrirá, seleccione Autenticación de certificados de cliente de Active Directory en la lista y, en el panel Acciones, haga clic en Habilitar.

    Página autenticación del servidor en IIS.

    Verá una advertencia que indica que se debe habilitar SSL para usar la Autenticación por asignación de certificados de cliente de Active Directory.

Paso 3: Uso del Administrador de IIS para configurar el Outlook en la Web, el Centro de administración de Exchange y los directorios virtuales de ActiveSync para requerir certificados de cliente

Nota: Debe requerir certificados de cliente, ya que la aceptación de certificados de cliente (para admitir la autenticación de nombre de usuario y contraseña normal y CBA) no funciona de forma coherente en todos los tipos de dispositivos ActiveSync.

  1. En el Administrador de IIS, expanda el servidor, expanda Sitios y, a continuación, Sitio web predeterminado.

  2. Seleccione el directorio virtual owa y compruebe que la opción vista Características esté seleccionada en la parte inferior de la página.

  3. En la sección IIS, haga doble clic en Configuración de SSL.

  4. En la página Configuración de SSL, compruebe que la opción Requerir SSL está marcada y seleccione el valor Requerir de Certificados de cliente.

  5. En el panel Acciones, haga clic en Aplicar.

    En IIS, en la configuración SSL del directorio virtual, seleccione Requerir en Certificados de cliente.

  6. Seleccione el directorio virtual Microsoft-Server-ActiveSync.

  7. En la sección IIS, haga doble clic en Configuración de SSL.

  8. En la página Configuración de SSL, compruebe que la opción Requerir SSL está marcada y seleccione el valor Requerir de Certificados de cliente.

  9. En el panel Acciones, haga clic en Aplicar.

Nota: Aunque puede realizar estos procedimientos en la línea de comandos, es posible que los pasos no configuren una clave del Registro necesaria. Puede usar los procedimientos anteriores en el Administrador de IIS (que definitivamente establecerá la clave del Registro correctamente) o debe comprobar que la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\SslBindingInfo\0.0.0.0:443 del Registro está establecida en el valor 1 después de realizar los procedimientos en la línea de comandos.

Para realizar estos procedimientos en la línea de comandos, abra un símbolo del sistema con privilegios elevados en el servidor exchange (una ventana del símbolo del sistema que abra seleccionando Ejecutar como administrador) y ejecute los comandos siguientes:

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/owa/" -section:system.webserver/security/access /sslFlags:"Ssl, SslRequireCert" /commit:apphost
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/ecp/" -section:system.webserver/security/access /sslFlags:"Ssl, SslRequireCert" /commit:apphost
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync/" -section:system.webserver/security/access /sslFlags:"Ssl, SslRequireCert" /commit:apphost

Paso 4: Usar el Shell de administración de Exchange para deshabilitar la autenticación de otros métodos de autenticación en el Outlook en la Web, el Centro de administración de Exchange y los directorios virtuales de ActiveSync

Después de requerir certificados de cliente para la autenticación, debe deshabilitar todos los demás métodos de autenticación en el Outlook en la Web, el Centro de administración de Exchange (EAC) y los directorios virtuales de ActiveSync. De forma predeterminada, solo la Autenticación básica y la Autenticación de formularios están habilitadas.

  1. En el Shell de administración de Exchange, reemplace ServerName> por< el nombre del servidor exchange y ejecute el siguiente comando para deshabilitar todos los demás métodos de autenticación en el directorio virtual Outlook en la Web:

    Set-OwaVirtualDirectory "<ServerName>\owa (Default Web Site)" -BasicAuthentication $false -WindowsAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -AdfsAuthentication $false -OAuthAuthentication $false
    

    Para obtener información más detallada acerca de la sintaxis y los parámetros, consulte Set-OwaVirtualDirectory.

  2. En el Shell de administración de Exchange, reemplace ServerName> por< el nombre del servidor exchange y ejecute el siguiente comando para deshabilitar todos los demás métodos de autenticación en el directorio virtual EAC:

    Set-EcpVirtualDirectory "<ServerName>\ecp (Default Web Site)" -BasicAuthentication $false -WindowsAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -AdfsAuthentication $false
    

    Para obtener información detallada acerca de la sintaxis y los parámetros, consulte Set-EcpVirtualDirectory.

  3. Reemplace <ServerName> por el nombre del servidor exchange y ejecute el siguiente comando para deshabilitar todos los demás métodos de autenticación en el directorio virtual de ActiveSync:

    Set-ActiveSyncVirtualDirectory "<ServerName>\Microsoft-Server-ActiveSync (Default Web Site)" -BasicAuthEnabled $false -WindowsAuthEnabled $false
    

    Para obtener información detallada acerca de la sintaxis y los parámetros, consulte Set-ActiveSyncVirtualDirectory.

Paso 5: Uso del Administrador de IIS para habilitar la asignación de certificados de cliente para el Outlook en la Web, el Centro de administración de Exchange y los directorios virtuales de ActiveSync

Importante

Después de seguir este paso, al ejecutar el cmdlet Set-ActiveSyncVirtualDirectory se podría inhabilitar la asignación de certificados de cliente de ActiveSync.

  1. En el Administrador de IIS, expanda el servidor, expanda Sitios y, a continuación, Sitio web predeterminado.

  2. Seleccione el directorio virtual owa y compruebe que la opción vista Características esté seleccionada en la parte inferior de la página.

  3. En la sección Administración, haga doble clic en Editor de configuración.

  4. En la página Editor de configuración , haga clic en la lista desplegable en Sección y vaya a system.webServer>security>authentication>clientCertificateMappingAuthentication.

    Seleccione clientCertificateMappingAuthentication en Configuration Manager en IIS para el directorio virtual de owa.

  5. Establezca el valor enabled en True y, a continuación, en el panel Acciones, haga clic en Aplicar.

    Habilite el valor clientCertificateMappingAuthentication en el Editor de configuración de IIS para el directorio virtual de owa.

  6. Seleccione el directorio virtual ecp .

  7. En la sección Administración, haga doble clic en Editor de configuración.

  8. En la página Editor de configuración , haga clic en la lista desplegable en Sección y vaya a system.webServer>security>authentication>clientCertificateMappingAuthentication.

  9. Establezca el valor enabled en True y, a continuación, en el panel Acciones, haga clic en Aplicar.

  10. Seleccione el directorio virtual Microsoft-Server-ActiveSync.

  11. En la sección Administración, haga doble clic en Editor de configuración.

  12. En la página Editor de configuración , haga clic en la lista desplegable en Sección y vaya a system.webServer>security>authentication>clientCertificateMappingAuthentication.

  13. Establezca el valor enabled en True y, a continuación, en el panel Acciones, haga clic en Aplicar.

Nota: Para realizar estos procedimientos en la línea de comandos, abra un símbolo del sistema con privilegios elevados en el servidor Exchange y ejecute los comandos siguientes:

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/owa/" -section:system.webserver/security/authentication/clientCertificateMappingAuthentication /enabled:"True" /commit:apphost
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/ecp/" -section:system.webserver/security/authentication/clientCertificateMappingAuthentication /enabled:"True" /commit:apphost
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync/" -section:system.webserver/security/authentication/clientCertificateMappingAuthentication /enabled:"True" /commit:apphost

Paso 6 (opcional): Agregue el certificado raíz de una entidad de certificación de terceros al almacén Enterprise NTAuth del Active Directory

Solo debe seguir este paso si no usa AD CS para emitir certificados de cliente. Este valor indica que la entidad de certificación (CA) es de confianza y puede emitir certificados de cliente para la autenticación del Active Directory.

  1. Exporte el certificado raíz de la CA a un archivo codificado en base 64 o un DER binario codificado X.509 (.cer). En este ejemplo, usaremos C:\Data\CARoot.cer.

  2. En cualquier servidor miembro de dominio (por ejemplo, un controlador de dominio o un servidor de Exchange), abra un símbolo del sistema con privilegios elevados y ejecute el comando siguiente:

    %windir%\system32\certutil.exe -enterprise -addstore NTAuth "C:\Data\CARoot.cer"
    

    Tenga en cuenta que este paso requiere la pertenencia al grupo Administradores de la organización.

Paso 7 (opcional): Use el Administrador de IIS para aumentar el valor UploadReadAheadSize de los directorios virtuales de Outlook en la web y ActiveSync

Si sus clientes reciben errores, es posible que tenga que aumentar los valores de uploadReadAheadSize en la metabase de IIS para permitir los encabezados de solicitud.

  1. En el Administrador de IIS, expanda el servidor, expanda Sitios y, a continuación, Sitio web predeterminado.

  2. Seleccione el directorio virtual owa y compruebe que la opción vista Características esté seleccionada en la parte inferior de la página.

  3. En la sección Administración, haga doble clic en Editor de configuración.

  4. En la página Editor de configuración , haga clic en la lista desplegable en Sección y vaya a systemwebServer>serverRuntime.

    Seleccione serverRuntime en el Editor de configuración de IIS para el directorio virtual de owa.

  5. Establezca el valor uploadReadAheadSize en 49152 y, en el panel Acciones, haga clic en Aplicar.

    Cambie el valor uploadReadAheadSize en el Editor de configuración de IIS para el directorio virtual de owa.

  6. Seleccione el directorio virtual ecp .

  7. En la sección Administración, haga doble clic en Editor de configuración.

  8. En la página Editor de configuración , haga clic en la lista desplegable en Sección y vaya a systemwebServer>serverRuntime.

  9. Establezca el valor uploadReadAheadSize en 49152 y, en el panel Acciones, haga clic en Aplicar.

  10. Seleccione el directorio virtual Microsoft-Server-ActiveSync.

  11. En la sección Administración, haga doble clic en Editor de configuración.

  12. En la página Editor de configuración , haga clic en la lista desplegable en Sección y vaya a systemwebServer>serverRuntime.

  13. Establezca el valor uploadReadAheadSize en 49152 y, en el panel Acciones, haga clic en Aplicar.

Nota: Para realizar estos procedimientos en la línea de comandos, abra un símbolo del sistema con privilegios elevados en el servidor Exchange y ejecute los comandos siguientes:

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/owa/" -section:system.webserver/serverRuntime /uploadReadAheadSize:49152
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/ecp/" -section:system.webserver/serverRuntime /uploadReadAheadSize:49152
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync/" -section:system.webserver/serverRuntime /uploadReadAheadSize:49152