Skip to main content

Server 强化

Server 强化是指在网络、操作系统和应用程序层更改服务器配置,以最大限度地减少其攻击面并最大程度地抵御渗透尝试的做法。请遵循以下建议以保护网络和操作系统:

  • 安装 Server 最新版本和补丁。

  • 使用 CA 签名的 X.509 (TLS/SSL) 证书配置 Server 以进行 HTTPS 操作。如需了解详情,请参阅 配置 Server SSL/TLS

  • 强化并保护操作系统和数据库。

如需了解详情,请参阅 用户和用户组管理 帮助页面。

请遵循以下建议来保护应用程序:

  • 查看下方的 Web 应用程序配置强化过程,并应用任何与您的环境和组织策略相关的过程。

  • 查看下方的 Server 管理强化过程,并应用任何与您的环境和组织策略相关的过程。

匿名账户和访客账户

您可以通过管理员设置来处理匿名账户和访客账户。我们建议您按照以下说明操作:

  • 禁用用户注册。通过 Windows 身份验证 (IWA) 启用访问权限或以管理员身份创建账户。

  • 考虑未注册的用户是否能够运行公共 Gallery 工作流。

如需了解详情,请参阅 用户和用户组管理 帮助页面。

Server 管理强化过程

这些设置控制与权限和其他选项相关的服务器功能的各个方面的行为,这些选项可能会影响应用程序的整体安全状况。

“Gallery 运行模式”设置可以增强对执行潜在恶意操作的工作流的安全控制。默认情况下,“Gallery 运行模式”设置为 无限制 ,这意味着没有任何限制,任何工作流都可以执行。将此设置配置为 半安全 安全 将进一步保护 Server 环境,防止工作流在工作流暂存目录之外的位置读取或写入数据,或执行包含受限工具的工作流。此设置是适用于整个 Server 环境的全局设置,但管理员可以在各个工作流级别将其覆盖(有例外情况)。如需详细了解 Gallery 运行模式,请参阅 Server UI 帮助页面。

设置 页面下有多项设置,以管理员权限登录 Server 的用户可以访问该页面(配置文件 > 管理员)。在 用户设置 部分中:

  • 默认角色 下拉列表设置为“无访问权限”,可防止可以通过外部身份验证系统(SAML SSO 或集成 Windows 身份验证)登录的用户在 Server 内拥有任何默认查看或运行权限。(必须使用超出外部身份验证域之外的条件向用户授予明确的权限。)

  • 禁用 用户可以注册 切换开关可防止未注册的用户注册新账户(仅适用于内置身份验证类型;Server 无法将账户添加到外部身份验证系统。)

  • 禁用 未注册的用户可以在主页上运行公共工作流 切换开关,可防止匿名客户端执行发布到主页的工作流。

Login Timeout

As of 22.1 you can configure login attempt timeouts by setting the Enforce Login Attempt Timeout switch (Admin > Settings > Configuration > Security Settings > Enforce Login Attempt Timeout).

用户权限分配流程由每个客户的管理团队处理。

角色包括查看者、创建者和管理员。如需详细了解角色与权限,请参阅 用户角色与权限 帮助页面。

Server 和持久层 (MongoDB) 之间的安全性

Server 和 MongoDB 之间的连接通过以下措施进行保护:

  • 连接经由 Mongo 客户端驱动程序(默认情况下,这不会加密其流量)。

  • 企业版 Mongo 支持 TLS/SSL(请参阅 https://docs.mongodb.com/v3.0/core/security-transport-encryption/ ),但 Server 附带的嵌入式 MongoDB 选项不支持这些连接。

  • 如果需要加密的数据库连接,请考虑切换到安装有企业版 Mongo 的用户管理 Mongo 或者切换到 MongoDB Atlas SaaS。

    您还可以在 Alteryx Server 组件和数据库服务器之间安装 SSH 连接转发或 VPN 连接;这样做超出了本指南的范围。

POODLE 攻击

Alteryx Designer 和 Server 从 11.5 版开始就支持 TLS 1.2。如果担心 POODLE 攻击,请确保在 Schannel 中禁用易受攻击的协议。

Web 应用程序配置强化过程

这些设置会影响 Server 的前端 GUI 与线上的 HTTP/S 客户端交互的方式。

Server 的默认安装使用 HTTP(未加密)来简化安装和配置。我们建议部署 X.509 证书并启用 Server SSL/TLS (HTTPS) 以加密客户端和 Server 之间的通信。这将确认 Server 的身份,并保护用户会话的完整性和机密性。您需要创建一个 X.509 证书请求(指定客户端将用于浏览 Server 的任何 FQDN 样式的主机名),并由贵组织信任的证书颁发机构对该请求进行签名。请参阅 配置 Server SSL/TLS ,了解相关步骤。

“主机”HTTP 请求标头由 HTTP 客户端发送,且包含客户端最初尝试连接的互联网主机名和端口号。

如果您以管理员身份登录 Server,则可以在 允许的主机 字段中指定您想要允许 Server 提供服务的主机;要找到该字段,请前往 安全 部分,然后单击 管理员 > 设置 > 配置

作为一项安全措施,使用此操作预防 HTTP 主机标头攻击。每行输入 1 个完全限定域名 ( host.domain )。如需了解详情,请参阅 Alteryx Server 设置 帮助页面。

Server 在响应请求时发送 HTTP 响应标头。要设置自定义标头或更改现有标头的 Server 默认值,您可以在 %ProgramFiles%\Alteryx\bin\server\config\alteryx.config 的 <httpHeaders> 部分添加节。

下方是内部使用的一组标头,用于强化 Server 以进行定期渗透测试(我们的 SDLC 的一部分)。它们可能并不与所有客户端兼容。根据贵组织的需求和策略,您可能需要针对您的环境更新或定制一些值。

<httpHeaders>
    <header name="Cache-Control" value="no-store; max-age=0" />
    <header name="Strict-Transport-Security" value="max-age=31536000; 
includeSubDomains" />
    <header name="X-Content-Type-Options" value="nosniff" />
    <header name="Content-Security-Policy" value="default-src 'self'; 
img-src 'self' data:; font-src 'self' data:; script-src 'self' 'unsafe-eval' 'unsafe-inline'; 
style-src 'self' 'unsafe-inline'; frame-ancestors 'self'; form-action 'self'" />
    <header name="Access-Control-Allow-Origin" value="https://server.domain.tld" />
    <header name="Vary" value="Origin" />
    <header name="Referrer-Policy" value="no-referrer; strict-origin-when-cross-origin" />
</httpHeaders>