安全强化检查表

以下列表提供关于提高安全性的建议(“强化”)Tableau Server 安装。

安装安全更新

Tableau Server 的最新版本和维护版本 (MR) 中包含安全更新。您无法以修补程序形式安装安全更新。相反,您必须升级到当前版本或 MR,才能使用最新的安全修补程序更新 Tableau Server。

升级后请始终参考本主题的最新版本。当前版本在主题 URL 中包括 /current/

例如,美国版本 URL 为:https://help.tableau.com/current/server/zh-cn/security_harden.htm

1.更新当前版本

建议您始终运行最新版本的 Tableau Server。此外,Tableau 会定期发布 Tableau Server 的维护版本,其中包括已知安全漏洞的修复程序。(可以在安全公告页面上找到关于已知安全漏洞的信息)。我们建议您查看维护版本通知,以确定是否应安装它们。

若要获取 Tableau Server 的最新版本或维护版本,请访问客户门户(Link opens in a new window)页面。

2.使用有效的受信任证书配置 SSL/TLS

安全套接字层 (SSL/TLS) 对于帮助保护与 Tableau Server 之间的通信安全至关重要。使用有效的受信任证书(不是自签名证书)配置 Tableau Server,以便 Tableau Server、移动设备和 Web 客户端可以通过安全连接连接至顶部服务器。有关详细信息,请参见SSL

3.禁用旧版本的 TLS

Tableau Server 使用 TLS 对组件之间以及与外部客户端之间的多个连接进行身份验证和加密。诸如浏览器、Tableau Desktop、Tableau Mobile 之类的外部客户端通过 HTTPS 使用 TLS 连接到 Tableau。传输层安全性 (TLS) 是 SSL 的改良版本。事实上,旧版本的 SSL(SSL v2 和 SSL v3)不再被认为是足够安全的通信标准。因此,Tableau Server 不允许外部客户端使用 SSL v2 或 SSL v3 协议进行连接。我们建议您只允许外部客户端使用 TLS v1.2 连接到 Tableau Server。

具体而言,我们建议您在 Tableau Server 上禁用 TLS v1 和 TLS v1.1。但是,在您禁用特定版本的 TLS 之前,请验证您的用户连接到 Tableau Server 所使用的浏览器(Link opens in a new window)是否支持 TLS v1.2。在某些情况下,您可能需要保留对 TLSv1.1 的支持。

以下 tsm 命令启用 TLS v1.2(使用“all”参数),并(通过在给定协议前面预置减号 [-] 字符)禁用 SSL v2、SSL v3、TLS v1、TLS v1.1 和 TLS v1.3。TLS v1.3 尚未得到 Tableau Server 的所有组件的支持。

tsm security external-ssl enable --protocols "all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.3"

tsm pending-changes apply

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

4.为内部通信配置 SSL 加密

可以将 Tableau Server 配置为对 Postgres 存储库和其他服务器组件之间的所有流量进行加密。默认情况下,已为服务器组件和存储库之间的通信禁用了 SSL。我们建议对 Tableau Server 的所有实例甚至是对单一服务器安装启用内部 SSL。启用内部 SSL 对多节点部署尤其重要。请参见针对内部 Postgres 通信配置 SSL

5.启用防火墙保护

Tableau Server 旨在受保护的内部网络内部运行。

重要信息:不要在 Internet 上或 DMZ 中运行 Tableau Server 或 Tableau Server 的任何组件。Tableau Server 必须在受 Internet 防火墙保护的公司网络内运行。我们建议为需要连接到 Tableau Server 的 Internet 客户端配置反向代理解决方案。请参见针对 Tableau Server 配置代理

应在操作系统上启用本地防火墙,以在单节点和多节点部署中保护 Tableau Server。在 Tableau Server 的分布式(多节点)安装中,节点之间的通信未使用安全通信。因此,您应该在托管 Tableau Server 的计算机上启用防火墙。

若要防止被动攻击者观察节点之间的通信,请配置隔离的虚拟 LAN 或其他网络层安全解决方案。

请参见Tableau 服务管理器端口,了解 Tableau Server 需要哪些端口和服务。

6.限制访问服务器计算机和重要目录

Tableau Server 配置文件和日志文件可能包含对攻击者有价值的信息。因此,请限制对正在运行 Tableau Server 的计算机的物理访问。此外,请确保只有经过授权且受信任的用户才能访问 C:\ProgramData\Tableau 目录中的 Tableau Server 文件。

7.更新 Tableau Server 用户运行身份帐户

默认情况下,Tableau Server 在预定义的“网络服务”(NT Authority\Network Service) Windows 帐户下运行。在 Tableau Server 不需要连接到要求 Windows 身份验证的外部数据源的情况下,使用默认帐户是可接受的。但是,如果您的用户需要访问由 Active Directory 进行身份验证的数据源,请将用户运行身份更新为域帐户。将用于用户运行身份的帐户的权限降至最低很重要。有关详细信息,请参见运行身份服务帐户

8.生成新的密文和令牌

与存储库或缓存服务器通信的任何 Tableau Server 服务必须首先用秘密令牌进行身份验证。密文令牌是在 Tableau Server 安装过程中生成的。在安装过程中也会生成加密密钥,内部 SSL 使用该密钥对到 Postgres 存储库的流量进行加密。

我们建议您在安装 Tableau Server 后为您的部署生成新的加密密钥。

这些安全资产可使用 tsm security regenerate-internal-tokens 命令重新生成。

运行以下命令:

tsm security regenerate-internal-tokens

tsm pending-changes apply

9.禁用未使用的服务

若要尽量减小 Tableau Server 的攻击面,请禁用任何不需要的连接点。

REST API

REST API 接口默认处于启用状态。如果没有应用会对您安装的 Tableau Server 9.3(或更高版本)进行 REST API 调用,请使用以下命令将其禁用:

tsm configuration set -k api.server.enabled -v false

tsm pending-changes apply

重要信息:Tableau Prep 使用 REST API 访问 Tableau Server。如果组织使用 Tableau Prep,请不要禁用 REST API。

JMX 服务

JMX 默认处于禁用状态。如果已启用了 JMX 但未使用,则应该使用以下命令将其禁用:

tsm configuration set -k service.jmx_enabled -v false

tsm pending-changes apply

10.验证会话生命周期配置

默认情况下,Tableau Server 没有绝对的会话超时。这意味着在未超过 Tableau Server 不活动超时的情况下,基于浏览器的客户端(Web 制作)会话可以无限期地保持打开状态。默认不活动超时为 240 分钟。

如果您的安全策略需要绝对会话超时,则可以设置它。一定要将绝对会话超时设置为允许在组织中进行最长时间数据提取和发布操作的范围。如果将此会话超时设置得太低,将可能导致长时间操作的数据提取和发布失败。

若要设置会话超时,请运行以下命令:

tsm configuration set -k wgserver.session.apply_lifetime_limit -v true

tsm configuration set -k wgserver.session.lifetime_limit -v value,其中 value 是分钟数。默认值是 1440,即 24 小时。

tsm configuration set -k wgserver.session.idle_limit -v value,其中 value 是分钟数。默认值为 240。

tsm pending-changes apply

连接的客户端(Tableau Desktop、Tableau Mobile、Tableau Prep Builder、Bridge 和个人访问令牌)的会话使用 OAuth 令牌通过重新建立会话来保持用户登录。如果希望所有 Tableau 客户端会话完全受上述命令控制的基于浏览器的会话限制控制,可以禁用此行为。请参见禁用自动客户端身份验证

11.为基于文件的数据源配置服务器允许列表

默认情况下,Tableau Server 允许授权的 Tableau Server 用户生成工作簿,这些工作簿使用服务器上的文件作为基于文件的数据源(如电子表格)。在此情况下,运行身份服务帐户会访问这些文件。

为了防止不必要地访问文件,我们建议您配置允许列表功能。这样,您可以限制运行身份服务帐户只能访问托管数据文件的目录路径。

  1. 在运行 Tableau Server 的计算机上,确定将在其中托管数据源文件的目录。

    重要事项:请确保服务器上存在您在此过程中指定的文件路径。如果在计算机启动时路径不存在,则 Tableau Server 将不会启动。

  2. 运行以下命令:

    tsm configuration set -k native_api.allowed_paths -v "path",其中 path 是要添加到允许列表中的目录。指定路径的所有子目录将都添加到允许列表中。如果想要指定多个路径,请用分号将它们分开,如此示例中所示:

    tsm configuration set -k native_api.allowed_paths -v "c:\datasources;c:\HR\data"

    tsm pending-changes apply

12.为 Web 浏览器客户端启用 HTTP 严格传输安全性

HTTP 严格传输安全性 (HSTS) 是在 Web 应用程序服务(例如 Tableau Server)上配置的策略。当符合规定的浏览器遇到运行 HSTS 的 Web 应用程序时,那么与服务的所有通信都必须通过安全 (HTTPS) 连接来进行。主要浏览器支持 HSTS。

有关 HSTS 如何工作以及支持它的浏览器的详细信息,请参阅“打开 Web 应用程序安全项目”网页、HTTP 严格传输安全性参考手册(Link opens in a new window)

若要启用 HSTS,请在 Tableau Server 上运行以下命令:

tsm configuration set -k gateway.http.hsts -v true

默认情况下,会为一年(31536000 秒)期间设置 HSTS 策略。此时间段指定浏览器将通过 HTTPS 访问服务器的时间量。您应考虑在初始推出 HSTS 期间设定最短时间。若要更改此时间段,请运行 tsm configuration set -k gateway.http.hsts_options -v max-age=<seconds>。例如,若要将 HSTS 策略时间段设置为 30 天,请输入 tsm configuration set -k gateway.http.hsts_options -v max-age=2592000

tsm pending-changes apply

13.禁用来宾访问权限

Tableau Server 基于内核的许可证包括来宾用户选项,您可以使用该选项允许组织中的任何用户查看网页中嵌入的 Tableau 视图并与之交互。

在使用基于内核的许可部署的 Tableau Server 上,来宾用户访问权限默认情况下处于启用状态。

来宾访问权限仅允许用户查看嵌入式视图。来宾用户无法浏览 Tableau Server 界面或查看视图的服务器接口元素(例如用户名、帐户设置、注释等)。

如果您的组织使用核心许可部署了 Tableau Server,并且不需要来宾访问权限,则禁用来宾访问权限。

您可以在服务器或站点级别禁用来宾访问权限。

您必须是服务器管理员才能在服务器或站点级别禁用来宾帐户。

若要在服务器级别禁用来宾访问权限,请执行以下操作:

  1. 在站点菜单中,单击“管理所有站点”,然后单击“设置”>“常规”

  2. 对于“来宾访问”,清除“启用来宾帐户”复选框。

  3. 单击“保存”

若要为站点禁用来宾访问,请执行以下操作:

  1. 在站点菜单中,选择一个站点。

  2. 单击“设置”,并在“设置”页面上清除“启用来宾帐户”复选框。

有关详细信息,请参见来宾用户

14.将 referrer-policy HTTP 标头设置为“same-origin”

从 2019.2 开始,Tableau Server 包括配置 Referrer-Policy HTTP 标头行为的功能。此策略启用时的默认行为是将包括所有“secure as”连接的来源 URL (no-referrer-when-downgrade),它只会将原始引用页信息发送到相似的连接(HTTP 至 HTTP)或更安全的连接(HTTP 至 HTTPS)。

但是,我们建议将此值设置为 same-origin,它只会将引用页信息发送到相同站点来源。来自网站外部的请求不会收到引用页信息。

若要将 referrer-policy 更新为 same-origin,请运行以下命令:

tsm configuration set -k gateway.http.referrer_policy -v same-origin

tsm pending-changes apply

有关配置其他标头以提高安全性的详细信息,请参见HTTP 响应标头

15.针对 SMTP 连接配置 TLS

从 2019.4 开始,Tableau Server 包括针对 SMTP 连接配置 TLS 的功能。

可以根据需要将 Tableau Server 配置为连接到邮件服务器。配置 SMTP 后,Tableau Server 可配置为发送电子邮件给系统管理员告知有关系统故障的信息,并发送电子邮件给服务器用户告知有关已订阅视图和数据驱动型通知的信息。

若要针对 SMTP 配置 TLS,请执行以下操作:

  1. 将兼容的证书上载到 Tableau Server。请参见tsm security custom-cert add
  2. 使用 TSM CLI 配置 TLS 连接。

    运行以下 TSM 命令以启用和强制到通过 TLS 连接到 SMTP 服务器并启用证书验证。

    tsm configuration set -k svcmonitor.notification.smtp.ssl_enabled -v true

    tsm configuration set -k svcmonitor.notification.smtp.ssl_required -v true

    tsm configuration set -k svcmonitor.notification.smtp.ssl_check_server_identity -v true

    默认情况下,Tableau Server 将支持 TLS 版本 1、1.1 和 1.2,但我们建议您指定 SMTP 服务器支持的最高 TLS 版本。

    运行以下命令以设置版本:有效的值包括 SSLv2HelloSSLv3 TLSv1TLSv1.1TLSv1.2。下面的示例将 TLS 版本设置为版本 1.2:

    tsm configuration set -k svcmonitor.notification.smtp.ssl_versions -v "TLSv1.2"

    有关其他 TLS 配置选项的详细信息,请参见配置 SMTP 设置

  3. 重新启动 Tableau Server 以应用更改。运行以下命令:

    tsm pending-changes apply

16.针对 LDAP 配置 SSL

如果您的 Tableau Server 部署配置为使用通用 LDAP 外部身份存储,我们建议您配置 SSL 以保护 Tableau Server 和 LDAP 服务器之间的身份验证。请参见LDAP over SSL

如果您的 Tableau Server 部署配置为使用 Active Directory,我们建议启用 Kerberos 来保护身份验证流量。请参见Kerberos

17.确定非默认安装位置的权限范围

如果将 Windows 版 Tableau Server 安装到非默认位置,则我们建议手动确定自定义安装目录的权限范围,以减少访问。

默认情况下,Tableau Server 将安装在系统驱动器上。安装了 Windows 的驱动器是系统驱动器。大多数情况下,系统驱动器为 C:\ 驱动器。在这种默认情况下,Tableau Server 将安装到以下目录中:

  • C:\Program Files\Tableau\Tableau Server\packages

  • C:\ProgramData\Tableau\Tableau Server

但是,许多客户会安装到非系统驱动器或其他目录。如果在安装过程中选择其他安装驱动器或目录位置,则 Tableau Server 的 data 目录将安装到相同路径中。

若要确定自定义安装目录的权限范围,只有以下帐户才应具有安装文件夹和所有子文件夹的相应权限:

设置此帐户的权限: 所需的权限
用于安装和升级 Tableau Server 的用户帐户 完全控制
用于运行 TSM 命令的用户帐户 完全控制
系统帐户 完全控制
运行身份服务帐户、“网络服务”和“本地服务” 读取和执行

设置这些权限的过程可在安装在非默认位置中找到。

变更清单

Date Change
September 2017 Ported and updated for Tableau Services Manager and Linux platform.
May 2018 Added clarification: Do not disable REST API in organizations that are running Tableau Prep.
May 2019 Added recommendation for referrer-policy HTTP header.
June 2019 Removed recommendation to disable Triple-DES. As of version 2019.3, Triple-DES is no longer a default supported cipher for SSL. See 更新功能 - 升级前须知事项.
January 2020 Added recommendation to configure TLS for SMTP.
February 2020 Added recommendation to configure SSL for LDAP server.
May 2020 Added TLS v1.3 to the disabled list of TLS ciphers. Added clarification to introduction about topic versioning.
August 2020 Added scoped permissions for non-default installations on Windows
感谢您的反馈! 提交反馈时出错。请重试,或向我们发送消息