Seguridad integrada y permisos elevados

Ejecutar un informe con una cuenta que tiene permisos elevados expone la instalación de SQL Server a una amenaza de seguridad si la consulta del informe contiene instrucciones Transact-SQL malintencionadas (por ejemplo, instrucciones que crean inicios de sesión no autorizados, modifican o eliminan datos, o incorporan datos erróneos) y el informe se ejecuta por un usuario que tiene permisos elevados en el servidor que hospeda el origen de datos. Por ejemplo, si un atacante publica un informe que contiene una consulta dañina, la consulta se procesa con credenciales de administrador si se da alguna de estas condiciones:

  • El origen de datos de informe está configurado para utilizar seguridad integrada y el usuario que ejecuta el informe ha iniciado sesión como administrador.

  • El origen de datos de informe está configurado para solicitar credenciales y el usuario escribe sus credenciales de administrador para ejecutar el informe.

Prácticas recomendadas para mitigar un ataque de elevación de privilegios

Para mitigar esta amenaza, siga alguna o varias de estas prácticas de seguridad recomendadas:

  • Utilice cuentas con privilegios mínimos para obtener acceso a los orígenes de datos externos que proporcionen datos a un informe. Puede configurar los orígenes de datos de informe para que utilicen siempre las credenciales almacenadas de una cuenta con privilegios mínimos.

  • Utilice orígenes de datos compartidos para especificar la información de conexión con orígenes de datos. Puede utilizar asignaciones de funciones en el origen de datos compartido para controlar el acceso a la cadena de conexión y a los valores que definen el modo en que se obtienen las credenciales en tiempo de ejecución.

  • Utilice asignaciones de funciones y procesos de flujo de trabajo para garantizar que sólo se publican informes de confianza en un servidor de informes. Utilizando asignaciones de funciones, puede restringir la publicación de informes en carpetas específicas y requerir después a los administradores que inspeccionen el archivo RDL (y la consulta) de un informe que se acaba de publicar antes de moverlo a una ubicación final. Tenga en cuenta que Reporting Services no proporciona ningún modo de aplicar procedimientos de uso estándar que pueda definir para su organización. No hay funcionalidad para imponer un requisito de inspección previa a la publicación.

  • Deshabilite la seguridad integrada como opción de credenciales para un origen de datos de informe. Para desactivar conexiones a un origen de datos que usan seguridad integrada, establezca EnableIntegratedSecurity en falso. Para obtener más información sobre cómo establecer esta propiedad en la página de propiedades del servidor en Management Studio, vea Cómo establecer las propiedades del servidor de informes (Management Studio).

El uso de seguridad integrada para obtener acceso a orígenes de datos externos supone una preocupación especial para los usuarios de informes que quizá no saben que su token de seguridad se va a pasar a un origen de datos externo (no se advierte a los usuarios antes de ejecutar un informe que ese informe está configurado para utilizar seguridad integrada). Además, es posible que los usuarios no tengan las mismas preocupaciones a la hora de abrir un informe que si abrieran datos adjuntos de un mensaje de correo electrónico de un origen desconocido. Sin embargo, los riesgos de seguridad son los mismos en ambos escenarios. Una consulta malintencionada puede dañar o comprometer un servidor del mismo modo que un script dañino que se expone a través de un hipervínculo o que se oculta en datos adjuntos de un mensaje de correo electrónico puede dañar o comprometer una estación de trabajo.

Tenga en cuenta que, si deshabilita la seguridad integrada, cualquier origen de datos de informe que esté configurado para utilizar seguridad integrada (o se configure para utilizar seguridad integrada después de deshabilitar la característica) no se ejecutará. El siguiente mensaje de error se obtiene cuando el servidor de informes no admite seguridad integrada: "Este origen de datos está configurado para usar la seguridad integrada de Windows, pero esta característica está deshabilitada para este servidor de informes".