安全强化检查表
- 版本 :2022.1 及更高版本
以下列表提供关于提高安全性的建议(“强化”)Tableau Server 安装。
以下列表提供关于提高安全性的建议(“强化”)Tableau Server 安装。
期望使用 Windows 版 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 安全公告页面和 Salesforce 安全公告页面上找到。)我们建议您查看维护版本通知,以确定是否应安装它们。
若要获取 Tableau Server 的最新版本或维护版本,请访问客户门户页面。
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.3 和 TLS v1.2 连接到 Tableau Server。
TLS v1.2 仍被视为一种安全协议,许多客户端(包括 Tableau Desktop)尚不支持 TLS v1.3。
即使服务器支持 TLS v1.2,支持 TLS v1.3 的客户端也将协商 TLS v1.3。
以下 tsm 命令启用 TLS v1.2v1.2 和 v1.3(使用“all”参数),并(通过在给定协议前面预置减号 [-] 字符)禁用 SSL v2、SSL v3、TLS v1 和 TLS v1.1。TLS v1.3 尚未得到 Tableau Server 的所有组件的支持。
tsm configuration set -k ssl.protocols -v 'all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1'
tsm pending-changes apply
您还可以修改 Tableau Server 用于 SSL/TLS 会话的密码套件默认列表。有关详细信息,请参见tsm configuration set 选项的“ssl.ciphersuite”部分。
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 的计算机的物理访问。此外,请确保只有经过授权且受信任的用户才能访问 /var/opt/tableau/tableau_server/
目录中的 Tableau Server 文件。
7.生成新的密文和令牌
与存储库或缓存服务器通信的任何 Tableau Server 服务必须首先用秘密令牌进行身份验证。密文令牌是在 Tableau Server 安装过程中生成的。在安装过程中也会生成加密密钥,内部 SSL 使用该密钥对到 Postgres 存储库的流量进行加密。
我们建议您在安装 Tableau Server 后为您的部署生成新的加密密钥。
这些安全资产可使用 tsm security regenerate-internal-tokens
命令重新生成。
运行以下命令:
tsm security regenerate-internal-tokens
tsm pending-changes apply
8.禁用未使用的服务
若要尽量减小 Tableau Server 的攻击面,请禁用任何不需要的连接点。
JMX 服务
JMX 默认处于禁用状态。如果已启用了 JMX 但未使用,则应该使用以下命令将其禁用:
tsm configuration set -k service.jmx_enabled -v false
tsm pending-changes apply
9.验证会话生命周期配置
默认情况下,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 客户端会话完全受上述命令控制的基于浏览器的会话限制控制,可以禁用此行为。请参见禁用自动客户端身份验证。
10.为基于文件的数据源配置服务器允许列表
默认情况下,Tableau Server 允许授权的 Tableau Server 用户生成工作簿,这些工作簿使用服务器上的文件作为基于文件的数据源(如电子表格)。在此情况下,tableau
系统帐户会访问这些文件。
为了防止不必要地访问文件,我们建议您配置允许列表功能。这样,您可以限制 tableau
帐户只能访问托管数据文件的目录路径。
在运行 Tableau Server 的计算机上,确定将在其中托管数据源文件的目录。
重要事项:请确保服务器上存在您在此过程中指定的文件路径。如果在计算机启动时路径不存在,则 Tableau Server 将不会启动。
运行以下命令:
tsm configuration set -k native_api.allowed_paths -v "path"
,其中 path 是要添加到允许列表中的目录。指定路径的所有子目录将都添加到允许列表中。如果想要指定多个路径,请用分号将它们分开,如此示例中所示:tsm configuration set -k native_api.allowed_paths -v "/datasources;/HR/data"
tsm pending-changes apply
11.为 Web 浏览器客户端启用 HTTP 严格传输安全性
HTTP 严格传输安全性 (HSTS) 是在 Web 应用程序服务(例如 Tableau Server)上配置的策略。当符合规定的浏览器遇到运行 HSTS 的 Web 应用程序时,那么与服务的所有通信都必须通过安全 (HTTPS) 连接来进行。主要浏览器支持 HSTS。
有关 HSTS 如何工作以及支持它的浏览器的详细信息,请参阅“打开 Web 应用程序安全项目”网页、HTTP 严格传输安全性参考手册。
若要启用 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=
。例如,若要将 HSTS 策略时间段设置为 30 天,请输入 tsm configuration set -k gateway.http.hsts_options -v max-age=2592000
。
tsm pending-changes apply
12.禁用来宾访问权限
Tableau Server 基于内核的许可证包括来宾用户选项,您可以使用该选项允许组织中的任何用户查看网页中嵌入的 Tableau 视图并与之交互。
在使用基于内核的许可部署的 Tableau Server 上,来宾用户访问权限默认情况下处于启用状态。
来宾访问权限仅允许用户查看嵌入式视图。来宾用户无法浏览 Tableau Server 界面或查看视图的服务器接口元素(例如用户名、帐户设置、注释等)。
如果您的组织使用核心许可部署了 Tableau Server,并且不需要来宾访问权限,则禁用来宾访问权限。
您可以在服务器或站点级别禁用来宾访问权限。
您必须是服务器管理员才能在服务器或站点级别禁用来宾帐户。
若要在服务器级别禁用来宾访问权限,请执行以下操作:
在站点菜单中,单击“管理所有站点”,然后单击“设置”>“常规”。
对于“来宾访问”,清除“启用来宾帐户”复选框。
单击“保存”。
若要为站点禁用来宾访问,请执行以下操作:
在站点菜单中,选择一个站点。
单击“设置”,并在“设置”页面上清除“启用来宾帐户”复选框。
有关详细信息,请参见来宾用户。
13.将 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 响应标头。
14.针对 SMTP 连接配置 TLS
从 2019.4 开始,Tableau Server 包括针对 SMTP 连接配置 TLS 的功能。Tableau Server 仅支持 STARTTLS(机会型或显式 TLS)。
可以根据需要将 Tableau Server 配置为连接到邮件服务器。配置 SMTP 后,Tableau Server 可配置为发送电子邮件给系统管理员告知有关系统故障的信息,并发送电子邮件给服务器用户告知有关已订阅视图和数据驱动型通知的信息。
若要针对 SMTP 配置 TLS,请执行以下操作:
将兼容的证书上载到 Tableau Server。请参见tsm security custom-cert add。
使用 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 版本。
运行以下命令以设置版本:有效的值包括
SSLv2Hello
、SSLv3
、TLSv1
、TLSv1.1
和TLSv1.2
。下面的示例将 TLS 版本设置为版本 1.2:tsm configuration set -k svcmonitor.notification.smtp.ssl_versions -v "TLSv1.2"
有关其他 TLS 配置选项的详细信息,请参见配置 SMTP 设置。
重新启动 Tableau Server 以应用更改。运行以下命令:
tsm pending-changes apply
15.针对 LDAP 配置 SSL
如果您的 Tableau Server 部署配置为使用通用 LDAP 外部身份存储,我们建议您配置 SSL 以保护 Tableau Server 和 LDAP 服务器之间的身份验证。请参见将加密通道配置为 LDAP 外部身份存储。
如果您的 Tableau Server 部署配置为使用 Active Directory,我们建议启用 Kerberos 来保护身份验证流量。请参见Kerberos。
变更清单
Date | Change |
---|---|
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. |
October 2020 | Added TLS v1.3 as a default supported cipher. |
January 2021 | Added clarification: All products enabled by the Data Management license require REST API. |
February 2021 | Removed recommendation to disable REST API. The API is now used internally by Tableau Server and disabling it may limit functionality. |