Protección ampliada para la autenticación con Reporting Services

En versiones recientes del sistema operativo Windows Microsoftla protección ampliada es un conjunto de mejoras. La protección ampliada mejora cómo protegen las aplicaciones las credenciales y la autenticación. La propia característica no proporciona directamente protección contra ataques específicos como el reenvío de credenciales, sino que proporciona una infraestructura para aplicaciones como Reporting Services con el fin de aplicar la protección ampliada para la autenticación.

Las principales mejoras de autenticación que forman parte de la protección ampliada son los enlaces de servicio y de canal. El enlace de canal usa un token de enlace de canal (CBT) para comprobar que no se ha puesto en peligro el canal establecido entre dos extremos. El enlace de servicio usa nombres principales de servicio (SPN) para validar el destino previsto de los tokens de autenticación. Para obtener información general sobre la protección ampliada, vea Autenticación de Windows integrada con protección ampliada.

SQL Server 2008 R2 Reporting Servicesadmite y aplica la protección ampliada que se ha habilitado en el sistema operativo y se ha configurado en Reporting Services. De forma predeterminada, Reporting Services acepta solicitudes que especifican la autenticación Negotiate o NTLM y, por tanto, pueden beneficiarse de la compatibilidad de la protección ampliada del sistema operativo y de las características de la protección ampliada de Reporting Services.

Nota importanteImportante

De forma predeterminada, Windows no habilita la protección ampliada. Para obtener información sobre cómo habilitar la protección ampliada de Windows, vea Protección ampliada para la autenticación. Tanto el sistema operativo como la pila de autenticación de cliente deben ser compatibles con la protección ampliada para la autenticación se realice correctamente. En sistemas operativos más antiguos, quizá deba instalar varias actualizaciones para disponer de un equipo totalmente preparado para la protección ampliada. Para obtener información sobre los desarrollos recientes con la protección ampliada, vea Actualizar información con protección ampliada.

Información general sobre la protección ampliada de Reporting Services

SQL Server 2008 R2 Reporting Services admite y aplica la protección ampliada que se ha habilitado en el sistema operativo. Si el sistema operativo no admite la protección ampliada o no se ha habilitado la característica en él, se producirá un error de autenticación de la característica de protección ampliada de Reporting Services. La protección ampliada de Reporting Services también requiere un certificado SSL. Para obtener más información, vea Configurar un servidor de informes para conexiones SSL

Nota importanteImportante

De forma predeterminada, Reporting Services no habilita la protección ampliada. La característica se puede habilitar modificando el archivo de configuración rsreportserver.config o usando las API WMI para actualizar el archivo de configuración. SQL Server 2008 R2 Reporting Servicesno proporciona ninguna interfaz de usuario para modificar o ver la configuración de la protección ampliada. Para obtener más información, vea la sección de configuración de este tema.

Los problemas comunes que se producen a causa de los cambios de la configuración de la protección ampliada o de una configuración incorrecta no se muestran mediante mensajes ni ventanas de cuadro de diálogo de error obvios. Los problemas relacionados con la configuración y la compatibilidad de la protección ampliada tienen como resultado errores de autenticación y errores en los registros de seguimiento de Reporting Services. Para obtener información sobre la solución de problemas y la comprobación de la protección ampliada con Reporting Services, vea Solucionar problemas de protección ampliada (Reporting Services)

Nota importanteImportante

Microsoft SQL Client no se ha actualizado para admitir la protección ampliada en el momento del lanzamiento de SQL Server 2008 R2. El cliente SQL se usa para conectar los orígenes de datos de SQL Server y la base de datos del catálogo Reporting Services. Esta limitación en el cliente SQL influye en Reporting Services de las siguientes formas:

El servidor SQL Server que ejecute la base de datos del catálogo Reporting Services no puede tener habilitada la protección ampliada o se producirá un error de conexión entre el servidor de informes y la base de datos del catálogo devolviéndose errores de autenticación.

Los servidores SQL Server que se usen como orígenes de datos de los informes de Reporting Services no pueden tener habilitada la protección ampliada o los intentos de conexión del servidor de informes con el origen de datos del informe provocarán errores y devolverán errores de autenticación. Una posible solución es cambiar los orígenes de datos de Reporting Services para que usen proveedores nativos y no el cliente SQL. Por ejemplo, configure los orígenes de datos para el controlador ODBC y, a continuación, se usará SQL Native Client, que admite la protección ampliada.

Actualización

  • Si se actualiza un servidor de Reporting Services a SQL Server 2008 R2, se agregan parámetros de configuración con los valores predeterminados al archivo rsreportserver.config. Si la configuración ya se hubiera realizado, la instalación de SQL Server 2008 R2 la conservará en el archivo rsreportserver.config.

  • Cuando se agregan parámetros de configuración al archivo de configuración rsreportserver.config, el comportamiento predeterminado es desactivar la característica de protección ampliada de Reporting Services y el usuario debe habilitarla de la forma descrita en este tema. Para obtener más información, vea la sección de configuración de este tema.

  • El valor predeterminado del parámetro RSWindowsExtendedProtectionLevel es Off.

  • El valor predeterminado del parámetro RSWindowsExtendedProtectionScenario es Proxy.

  • El asesor de actualizaciones de SQL Server 2008 R2 no comprueba si el sistema operativo ni la instalación actual de Reporting Services tienen habilitada la protección ampliada.

Lo que no cubre la protección ampliada de Reporting Services

La protección ampliada deReporting Services no es compatible con las siguientes áreas y los siguientes escenarios de características:

  • Los autores de las extensiones de seguridad personalizada de Reporting Services deben agregar compatibilidad para la protección ampliada a su extensión de seguridad personalizada.

  • Los componentes de terceros agregados o usados por la instalación de Reporting Serviceslos deben actualizar dichos proveedores para que admitan la protección ampliada. Para obtener más información, póngase en contacto con el otro proveedor.

Escenarios y recomendaciones para la implementación

En los siguientes escenarios se ilustran las distintas implementaciones y topologías, así como la configuración recomendada para protegerlas con la protección ampliada de Reporting Services.

Directo

Este escenario describe la conexión directa con un servidor de informes, por ejemplo, el entorno de una intranet.

Escenario

Diagrama del escenario

Protección

Comunicación de SSL directa.

El servidor de informes aplicará el cliente en el enlace de canal del servidor de informes.

Acceso directo a protección extendida con SSL

1) Aplicación cliente

2) Servidor de informes

  • El enlace de servicio no es necesario porque el enlace de canal usará el canal SSL.

Establezca RSWindowsExtendedProtectionLevel en Allow o Require.

Establezca RSWindowsExtendedProtectionScenario en Direct.

Comunicación HTTP directa. El servidor de informes aplicará el cliente en el enlace de servicio del servidor de informes.

Protección extendida y acceso directo

1) Aplicación cliente

2) Servidor de informes

  • No existe ningún canal SSL y, por tanto, no es posible la aplicación del enlace de canal.

  • El enlace de servicio se puede validar. Sin embargo, no es una defensa completa sin el enlace de canal y el enlace de servicio por sí mismo solo protegerá contra amenazas básicas.

Establezca RSWindowsExtendedProtectionLevel en Allow o Require.

Establezca RSWindowsExtendedProtectionScenario en Any.

Equilibrio de carga del proxy y de la red

Las aplicaciones cliente se conectan a un dispositivo o software que realiza SSL y pasa por las credenciales al servidor para la autenticación, por ejemplo, una extranet, Internet o una intranet segura. El cliente se conecta a un proxy o todos los clientes usan un proxy.

Ocurre lo mismo cuando usa un dispositivo de equilibrio de carga de red (NLB).

Escenario

Diagrama del escenario

Protección

Comunicación HTTP. El servidor de informes aplicará el cliente en el enlace de servicio del servidor de informes.

Acceso indirecto a la protección extendida RS

1) Aplicación cliente

2) Servidor de informes

3) Proxy

  • No existe ningún canal SSL y, por tanto, no es posible la aplicación del enlace de canal.

Establezca RSWindowsExtendedProtectionLevel en Allow o Require.

Establezca RSWindowsExtendedProtectionScenario en Any.

  • El servidor de informes se debe configurar para saber el nombre del servidor proxy con el fin de asegurarse de que se aplica el enlace de servicio correctamente.

Comunicación HTTP.

El servidor de informes aplicará el cliente en el enlace de canal de proxy y en el enlace de servicio del servidor de informes.

Acceso indirecto a la protección extendida RS con SSL

1) Aplicación cliente

2) Servidor de informes

3) Proxy

  • El canal SSL al proxy está disponible. Por tanto, se puede aplicar el enlace de canal en el proxy.

  • También se puede aplicar el enlace de servicio.

  • El servidor de informes debe saber el nombre del proxy y el administrador del servidor de informes debe crear una reserva de direcciones URL para este, con un encabezado de host o configurar el nombre de proxy en la entrada del Registro de Windows BackConnectionHostNames.

Establezca RSWindowsExtendedProtectionLevel en Allow o Require.

Establezca RSWindowsExtendedProtectionScenario en Proxy.

Comunicación HTTPS indirecta con un proxy seguro. El servidor de informes aplicará el cliente en el enlace de canal de proxy y en el enlace de servicio del servidor de informes.

Acceso indirecto a la Protección extendida con SSL y HTTPS

1) Aplicación cliente

2) Servidor de informes

3) Proxy

  • El canal SSL al proxy está disponible. Por tanto, se puede aplicar el enlace de canal en el proxy.

  • También se puede aplicar el enlace de servicio.

  • El servidor de informes debe saber el nombre del proxy y el administrador del servidor de informes debe crear una reserva de direcciones URL para este, con un encabezado de host o configurar el nombre de proxy en la entrada del Registro de Windows BackConnectionHostNames.

Establezca RSWindowsExtendedProtectionLevel en Allow o Require.

Establezca RSWindowsExtendedProtectionScenario en Proxy.

Puerta de enlace

En este escenario se describen las aplicaciones cliente que se conectan a un dispositivo o software que realiza SSL y autentica al usuario. Después, el dispositivo o software suplanta el contexto del usuario o un contexto de usuario distinto antes de efectuar una solicitud al servidor de informes.

Escenario

Diagrama del escenario

Protección

Comunicación HTTP indirecta.

La puerta de enlace aplicará el cliente en un enlace de canal de puerta de enlace. Existe una puerta de enlace en el enlace de servicio del servidor de informes.

Acceso indirecto a la protección extendida RS con SSL

1) Aplicación cliente

2) Servidor de informes

3) Dispositivo de puerta de enlace

  • El enlace de canal desde el cliente al servidor de informes no es posible ya que la puerta de enlace suplanta un contexto y, por tanto, crea un nuevo token NTLM.

  • No existe ningún SSL desde la puerta de enlace al servidor de informes, por tanto, no se puede aplicar ningún enlace de canal.

  • Se puede aplicar el enlace de servicio.

Establezca RSWindowsExtendedProtectionLevel en Allow o Require.

Establezca RSWindowsExtendedProtectionScenario en Any.

  • El dispositivo de puerta de enlace lo debe configurar el administrador para aplicar el enlace de canal.

Comunicación HTTPS indirecta con una puerta de enlace segura. La puerta de enlace aplicará el cliente en el enlace de canal de puerta de entrada y el servidor de informes aplicará la puerta de enlace en el enlace de canal del servidor de informes.

Acceso indirecto a la Protección extendida con SSL y HTTPS

1) Aplicación cliente

2) Servidor de informes

3) Dispositivo de puerta de enlace

  • El enlace de canal desde el cliente al servidor de informes no es posible ya que la puerta de enlace suplanta un contexto y, por tanto, crea un nuevo token NTLM.

  • SSL desde la puerta de enlace al servidor de informes, es decir, se puede aplicar enlace de canal.

  • No se requiere enlace de servicio.

Establezca RSWindowsExtendedProtectionLevel en Allow o Require.

Establezca RSWindowsExtendedProtectionScenario en Direct.

  • El dispositivo de puerta de enlace lo debe configurar el administrador para aplicar el enlace de canal.

Combinación

Este escenario describe los entornos de extranet o Internet en los que el cliente se conecta con un proxy. Se combina con un entorno de intranet donde un cliente se conecta con un servidor de informes.

Escenario

Diagrama del escenario

Protección

Acceso indirecto y directo desde el cliente al servicio del servidor de informes sin SSL en conexiones del cliente al proxy ni del cliente al servidor de informes.

Protección extendida combinada con el entorno

1) Aplicación cliente

2) Servidor de informes

3) Proxy

4) Aplicación cliente

  • Se puede aplicar el enlace de servicio desde el cliente al servidor de informes.

  • El servidor de informes debe saber el nombre del proxy y el administrador del servidor de informes debe crear una reserva de direcciones URL para este, con un encabezado de host o configurar el nombre de proxy en la entrada del Registro de Windows BackConnectionHostNames.

Establezca RSWindowsExtendedProtectionLevel en Allow o Require.

Establezca RSWindowsExtendedProtectionScenario en Any.

Acceso indirecto y directo desde el cliente al servidor de informes donde el cliente establece una conexión SSL al proxy o al servidor de informes.

Protección extendida combinada con SSL

1) Aplicación cliente

2) Servidor de informes

3) Proxy

4) Aplicación cliente

  • Se puede usar el enlace de canal

  • El servidor de informes debe saber el nombre del proxy y el administrador del servidor de informes debe crear una reserva de direcciones URL para el proxy, con un encabezado de host o configurar el nombre de proxy en la entrada del Registro de Windows BackConnectionHostNames.

Establezca RSWindowsExtendedProtectionLevel en Allow o Require.

Establezca RSWindowsExtendedProtectionScenario en Proxy.

Configurar la protección ampliada de Reporting Services

El archivo rsreportserver.config contiene los valores de configuración que controlan el comportamiento de la protección ampliada de Reporting Services.

Para obtener más información sobre el uso y la edición del archivo rsreportserver.config, vea Archivo de configuración RSReportServer. La configuración de la protección ampliada también se puede cambiar e inspeccionar mediante las API WMI. Para obtener más información, vea Método SetExtendedProtectionSettings (WMI MSReportServer_ConfigurationSetting).

Cuando se produce un error de autenticación de la configuración, se deshabilitan los tipos de autenticación RSWindowsNTLM, RSWindowsKerberos y RSWindowsNegotiate en el servidor de informes.

Configuración de la protección ampliada de los servicios de informes

La tabla siguiente proporciona información sobre los valores de configuración que aparecen en rsreportserver.config para la protección ampliada.

Opción

Descripción

RSWindowsExtendedProtectionLevel

Especifica el grado de aplicación de la protección ampliada. Los valores válidos son Off, Allow y Require.

El valor predeterminado es Off.

El valor Off especifica que no existe comprobación de enlace de canal ni de enlace de servicio.

El valor Allow admite la protección ampliada pero no la necesita. El valor Allow especifica:

  • La protección ampliada se aplicará en las aplicaciones cliente que se ejecuten en sistemas operativos que la admitan. La forma de aplicar la protección la determina la opción RsWindowsExtendedProtectionScenario.

  • Se permitirá la autenticación en aplicaciones que se ejecuten en sistemas operativos que no sean compatibles con la protección ampliada.

El valor Require especifica:

  • La protección ampliada se aplicará en las aplicaciones cliente que se ejecuten en sistemas operativos que la admitan.

  • No se permitirá la autenticación en aplicaciones que se ejecuten en sistemas operativos que no sean compatibles con la protección ampliada.

RsWindowsExtendedProtectionScenario

Especifica las formas de la protección ampliada que se validan: enlace de canal, enlace de servicio o ambos. Los valores válidos son Any, Proxy y Direct.

El valor predeterminado es Proxy.

El valor Any especifica:

  • No se necesitan la autenticación de Windows NTLM, Kerberos ni Negotiate, ni ningún enlace de canal.

  • Se aplica el enlace de servicio.

El valor Proxy especifica:

  • Si está presente, la autenticación de Windows NTLM, Kerberos y Negotiate cuando está presente un token de enlace de canal.

  • Se aplica el enlace de servicio.

El valor Direct especifica:

  • La autenticación de Windows NTLM, Kerberos y Negotiate cuando están presentes un CBT y una conexión SSL al servicio actual, y el CBT para que la conexión SSL coincida con el CBT del token de NTLM, Kerberos o Negotiate.

  • No se aplica el enlace de servicio.

NotaNota
Se ignora la configuración si RsWindowsExtendedProtectionLevel se establece en OFF.

Entradas del ejemplo en el archivo de configuración rsreportserver.config:

<Authentication>
         <RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>
         <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionLevel>
</Authentication>

Enlace de servicio y SPN incluidos

El enlace de servicio usa nombres principales de servicio o SPN para validar el destino previsto de los tokens de autenticación. Reporting Services usa la información de reservas de direcciones URL para compilar una lista de los SPN que se consideran válidos. Si se usa la información de reservas de direcciones URL para la validación tanto de SPN como de reservas de direcciones URL, los administraciones del sistema pueden administrarlos desde una sola ubicación.

La lista de los SPN válidos se actualiza cuando se inicia el servidor de informes, se cambia la configuración de la protección ampliada o se recicla el dominio de aplicación.

La lista válida de los SPN es específica de cada aplicación. Por ejemplo, el Administrador de informes y el servidor de informes tendrán cada uno una lista distinta de los SPN válidos calculados.

La lista de los SPN válidos calculados para una aplicación la determinan los siguientes factores:

  • Cada reserva de direcciones URL.

  • Cada SPN recuperado desde el controlador de dominios para la cuenta de servicio de los servicios de informes.

  • Si una reserva de direcciones URL incluye caracteres comodín ('*' o '+'), el servidor de informes agregará cada entrada desde la colección de hosts.

Orígenes de la colección de hosts.

En la tabla siguiente se citan los posible orígenes para la colección de hosts.

Tipo de origen de datos

Descripción

ComputerNameDnsDomain

El nombre del dominio DNS asignado al equipo local. Si el equipo local es un nodo de un clúster, se usa el nombre de dominio DNS del servidor virtual de clústeres.

ComputerNameDnsFullyQualified

El nombre DNS completo que identifica exclusivamente el equipo local. Este nombre es una combinación del nombre del host DNS y el nombre del dominio DNS, con el formato nombreDeHost.nombreDeDominio. Si el equipo local es un nodo de un clúster, se usa el nombre DNS completo del servidor virtual de clústeres.

ComputerNameDnsHostname

El nombre del host DNS del equipo local. Si el equipo local es un nodo de un clúster, se usa el nombre del host DNS del servidor virtual de clústeres.

ComputerNameNetBIOS

El nombre NetBIOS del equipo local. Si el equipo local es un nodo de un clúster, se usa el nombre NetBIOS del servidor virtual de clústeres.

ComputerNamePhysicalDnsDomain

El nombre del dominio DNS asignado al equipo local. Si el equipo local es un nodo de un clúster, se usa el nombre de dominio DNS del equipo local, no el nombre del servidor virtual de clústeres.

ComputerNamePhysicalDnsFullyQualified

El nombre DNS completo que identifica exclusivamente el equipo. Si el equipo local es un nodo de un clúster, se usa el nombre DNS completo del equipo local, no el nombre del servidor virtual de clústeres.

El nombre DNS completo es una combinación del nombre del host DNS y del nombre del dominio DNS, con el formato nombreDeHost.nombreDeDominio.

ComputerNamePhysicalDnsHostname

El nombre del host DNS del equipo local. Si el equipo local es un nodo de un clúster, se usa el nombre del host DNS del equipo local, no el nombre del servidor virtual de clústeres.

ComputerNamePhysicalNetBIOS

El nombre NetBIOS del equipo local. Si el equipo local es un nodo de un clúster, se usa el nombre NetBIOS del equipo local, no el nombre del servidor virtual de clústeres.

A medida que se agregan los SPN, se agrega una entrada al registro de seguimiento con la siguiente apariencia:

rshost!rshost!10a8!01/07/2010-19:29:38:: i INFO: Se ha agregado una lista blanca de los SPN <ComputerNamePhysicalNetBIOS> - <theservername>.

rshost!rshost!10a8!01/07/2010-19:29:38:: i INFO: Se ha agregado una lista blanca de los SPN <ComputerNamePhysicalDnsHostname> - <theservername>.

Para obtener más información, vea Cómo registrar un Nombre principal de servicio (SPN) para un servidor de informes y Acerca de las reservas y el registro de la dirección URL (Reporting Services).