单击劫持保护

Tableau Server 具备单击劫持攻击保护功能。单击劫持是一种针对网页的攻击,在这种攻击中,攻击者会试图在一个不相关页面上的透明层中显示攻击页面,从而诱骗用户单击或输入内容。在 Tableau Server 的上下文中,攻击者可能会试图使用单击劫持攻击来捕获用户凭据,或让授权用户在您的服务器上更改设置。有关单击劫持攻击的详细信息,请参见开放式 Web 应用程序安全项目网站上的单击劫持(Link opens in a new window)

注意: Tableau Server 的以前版本中提供了单击劫持保护功能,但默认情况下处于禁用状态。新安装的 Tableau Server 9.1 及更高版本将始终打开单击劫持保护功能,除非您显式地将其禁用。

单击劫持保护的效果

如果在 Tableau Server 中启用了单击劫持保护,从 Tableau Server 加载的页面的行为将在以下方面发生变化:

  • Tableau Server 会向服务器发出的特定响应中添加 X-Frame-Options: SAMEORIGIN 标头。在大多数浏览器的最新版本中,此标头将防止内容加载到 <iframe> 元素中,从而帮助抵御单击劫持攻击。

  • Tableau Server 中的顶级页面无法加载到 <iframe> 元素中。其中包括登录页面。产生的一种影响是:您无法在所创建的应用程序中承载 Tableau Server 页面。

  • 只能嵌入视图。

  • 如果嵌入的视图需要数据源凭据,则会在 <iframe> 元素中显示一条带有链接的消息,以便在用户可安全输入凭据的安全窗口中打开视图。用户在输入凭据之前应始终验证打开的窗口的地址。

  • 只有当视图在查询字符串中包括 :embed=y 参数时,才能加载视图,如此示例中所示:

    http://<server>/views/Sales/CommissionModel?:embed=y

    注意:启用了单击劫持保护后,使用从浏览器地址栏中复制的 URL 的嵌入式视图可能无法加载。如果在 Tableau Server 上启用了单击劫持保护,服务器名称后面包含井号 (#) 的这些视图 URL(例如,http://myserver/#/views/Sales/CommissionModel?:embed=y)将被阻止。

禁用单击劫持保护

除非单击劫持保护对用户使用 Tableau Server 的方式产生影响,否则您应始终启用单击劫持保护。如果想要禁用单击劫持保护,请使用以下 tsm 命令:

  1. tsm configuration set -k wgserver.clickjack_defense.enabled -v false
  2. tsm pending-changes apply

    如果待定更改需要重新启动服务器,pending-changes apply 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply

感谢您的反馈!