Loading

Bloquear o permitir scripts no seguros en Tableau Server

Fecha de publicación: Dec 27, 2023
Descripción
Al trabajar con un libro de trabajo de Tableau que obtiene datos de una fuente de datos basada en SQL o de un servidor Rserve, puede crear cálculos con expresiones que se envían directamente a la fuente de datos. Estas reciben el nombre de expresiones de paso. En la siguiente documentación de Tableau Desktop se describen estos tipos de expresiones:

Las funciones de paso son aquellas cuyos nombres comienzan por RAWSQL_ o SCRIPT_.

En determinadas circunstancias, las expresiones de paso podrían tener vectores para ataques por inyección SQL, es decir, la persona que realiza el ataque podría incluir comandos malintencionados en ellas como valores.Esto puede ocurrir cuando el libro de trabajo contiene un cálculo que cumple todos estos criterios:

  • El cálculo incluye una función SCRIPT_ o RAWSQL_.

  • La expresión usa un valor que se ha transmitido al cálculo desde un parámetro en el libro de trabajo.

  • El parámetro se escribe como una cadena.

  • El parámetro es el primer parámetro transmitido al cálculo.

  • El parámetro no se muestra entrecomillado.

Por ejemplo, en la siguiente expresión, Parameter 1 podría estar pensado para contener un valor de cadena, como pequeño, mediano o grande.

RAWSQL_STR([Parameter 1])

No obstante, si un usuario establece el valor de Parameter 1 en texto arbitrario, el usuario podría crear potencialmente un ataque por inyección SQL.

Puesto que una expresión como esta podría incluir comandos malintencionados, se hace referencia a ella como script no seguro.

Tenga en cuenta el último criterio: los scripts no seguros que incluyen parámetros no van entrecomillados. Observe el siguiente ejemplo:

RAWSQL_BOOL("%1", [Parameter 1])

Este ejemplo no constituye un script no seguro porque el valor de Parameter 1 está incluido entre comillas, por lo que SQL no trata el valor como un comando.

Cause

De forma predeterminada, no se permite a los usuarios publicar en Tableau Server un libro de trabajo que contenga scripts no seguros, es decir, un libro que contenga un cálculo que cumple los criterios descritos anteriormente. Cuando los usuarios intentan publicar el libro de trabajo, el servidor muestra la siguiente respuesta:

"This worksheet contains custom user scripts or SQL with injectable string parameters, which may be vulnerable on the target platform."

La publicación está bloqueada con independencia de si los usuarios intentan publicar mediante Tableau Desktop, el comando tabcmd publish, o Publicar libro de trabajo en la API de REST.
 

    Solución

    Permitir scripts no seguros al publicar en Tableau Server

    Tableau Server 2018.2 y versiones superiores (posteriores a TSM)

    Puede permitir a los usuarios publicar libros de trabajo que contienen scripts no seguros mediante el siguiente comando de tsm configuration set :

    tsm configuration set vizqlserver.allow_insecure_scripts true

     

    Recursos adicionales

    Notas acerca de la habilitación y la deshabilitación de scripts no seguros en Tableau Server

    El parámetro vizqlserver.allow_insecure_scripts se ha diseñado para situaciones en las que un usuario podría intentar usar un valor de parámetro para enviar comandos de Rserve o SQL no autorizados.Para ayudar a proteger las instalaciones de Tableau Server, el valor predeterminado es false, por lo que los usuarios no pueden publicar libros de trabajo con scripts no seguros. Tenga en cuenta las siguientes cuestiones sobre el parámetro vizqlserver.allow_insecure_scripts:

    • Si sus usuarios nunca crean expresiones de R o SQL personalizadas, puede asegurarse de que vizqlserver.allow_insecure_scripts está establecido en false sin que se vea afectada la capacidad de los usuarios para publicar libros de trabajo.

    • Si sus usuarios crean cálculos que incluyen expresiones de R o SQL personalizadas, pero no cree que otros usuarios puedan intentar pasar comandos a la fuente de datos, puede habilitar la publicación de scripts no seguros (es decir, establecer vizqlserver.allow_insecure_scripts en true).

    • El parámetro vizqlserver.allow_insecure_scripts se aplica a la instalación de Tableau Server de forma generalizada.Si este parámetro está establecido en false, la publicación de libros de trabajo con scripts no seguros está bloqueada para todos los sitios y proyectos del servidor.

    • Tableau Public y Tableau Cloud no permiten cálculos que incluyan expresiones con funciones que comienzan por RAW o SCRIPT_. Por lo tanto, el valor predeterminado vizqlserver.allow_insecure_scripts de false no afecta a esos productos.
       
    • Este mensaje de error también aparecerá en Tableau Server directamente si la configuración vizqlserver.allow_insecure_scripts se cambia a false y se intenta acceder a un libro de trabajo publicado con scripts no seguros antes de cambiar la configuración.


     
    Número del artículo de conocimiento

    001473396

     
    Cargando
    Salesforce Help | Article