这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

美国联邦信息处理标准

在 Vertica 支持的 FIPS 兼容操作系统上运行时,Vertica 使用经过认证的 OpenSSL FIPS 140-2 加密模块。这符合美国国家标准与技术研究所 (NIST) 为美国或其他国家/地区的联邦机构制定的安全标准。

该标准规定了加密模块在保护敏感信息的系统中所需的安全要求。有关标准的详细信息,请参阅计算机安全资源中心

有关 FIPS 先决条件的列表,请参阅 FIPS 140-2 支持的平台

1 - OpenSSL 行为

在客户端和服务器上实施 FIPS 需要使用动态 OpenSSL 链接。Vertica 服务器使用主机系统提供的 OpenSSL(如 FIPS 140-2 支持的平台中所示)。OpenSSL 与 LDAP 和 Kerberos 进行动态链接。

有关详细信息,请参阅查找 OpenSSL 库

CentOS 系统上的库

在 FIPS 兼容的 CentOS 系统上,Vertica 仅使用 FIPS 140-2 支持的平台中列出的 OpenSSL 库运行。这些库的其他版本不在 FIPS 系统上运行。出现这种不兼容性的原因是,FIPS 安全策略对应用程序链接到的库执行校验和,并验证应用程序执行的库是否具有相同的校验和。

非 FIPS 系统上的库版本控制

请注意,在某些非 FIPS 系统上,安装新版本的 OpenSSL 时可能会出现版本控制异常。某些情况下,默认的 OpenSSL 构建过程会生成版本名为 1.0.0 的库。要让 Vertica 识别库具有较高的版本号,您必须为库名称提供更高的版本号。例如,在安装 OpenSSL 版本 1.0.1t 时,将库命名为 libcrypto.so.1.0.1t 或 libssl.1.0.1t(具有这些名称的符号链接即可)。

2 - 启用了 FIPS 的数据库:限制

启用了 FIPS 的数据库具有以下限制:

  • 不能在非 FIPS 计算机上创建启用了 FIPS 的数据库。

  • 不能在启用了 FIPS 的计算机上创建非 FIPS 数据库。

  • 管理控制台 (Management Console) 及其守护程序 Agent 在启用了 FIPS 的数据库上不可用。

  • 将使用 MD5 哈希算法生成的数据从非 FIPS 计算机复制到启用了 FIPS 的计算机会导致数据损坏。

  • 由于 FIPS 加密模块的限制,Vertica 不建议在 FIPS 环境中启用节点间加密。如果您使用 FIPS 和节点间加密,由于通过网络发送大量数据的工作负载中的套接字关闭,您偶尔可能会遇到查询失败。

3 - 实施 FIPS 140-2

要在 Vertica 分析型数据库上实施 FIPS 140-2,需要对服务器和客户端进行配置。虽然 Vertica 服务器使用经 FIPS 批准的算法,但 Vertica 客户端可能会在未经 FIPS 批准的系统上运行。因此,您必须始终实施 FIPS 140-2 合规性。

有关实施 FIPS 的详细信息,请参阅:

3.1 - Vertica 服务器的 FIPS 合规性

要使 Vertica 符合 FIPS 规范,您必须:

  • 将 RequireFIPS 参数设置为 1。

  • 使用 SHA-512 对密码进行哈希处理。有关详细信息,请参阅哈希身份验证

  • 生成签名的 TLS 证书,以建立与客户端的安全连接。

RequireFIPS 参数

Vertica 在启动时会在服务器上设置 RequireFIPS 配置参数,以反映系统上 FIPS 的状态:如果启用 FIPS,则为 1,如果禁用 FIPS,则为 0。

RequireFIPS 的值与 crypto.fips_enabled 文件的值匹配。

Vertica 根据 crypto.fips_enabled 的内容设置 RequireFIPS 参数:

  • 如果文件 /proc/sys/crypto/fips_enabled 存在且包含 1(启用了 FIPS),Vertica 会将 RequireFIPS 设置为 1。

  • 如果文件 /proc/sys/crypto/fips_enabled 不存在,或存在但包含 0(未启用 FIPS),Vertica 会自动将 RequireFIPS 设置为 0。

  • 如果通过存在 /proc/sys/crypto/fips_enabled 确定的节点的 FIPS 状态与从群集发起方接收到的状态不同,节点将失败。此行为可防止创建混合了 FIPS 系统和非 FIPS 系统的群集。

安全的客户端-服务器连接

使用 TLS 保护客户端-服务器连接非常重要。有关设置客户端-服务器 TLS 的说明,请参阅配置客户端-服务器 TLS

FIPS 兼容的 AWS 端点

要将 AWS 配置为使用 FIPS 兼容的 S3 端点,请设置以下 S3 参数


AWSEndpoint = s3-fips.dualstack.us-east-1.amazonaws.com
S3EnableVirtualAddressing = 1

3.2 - 在客户端上实施 FIPS

Vertica 提供 FIPS 兼容的客户端驱动程序,您可以将其安装在启用了 FIPS 的系统上。64 位客户端包括 vsql 和 ODBC 驱动程序。

有关安装 FIPS 客户端以及安装的信息,请参阅以下内容

4 - FIPS 140-2 合规性声明

内容

1.总结

2.概述

a. 关于 Vertica

b. 关于 FIPS 140-2

3.Vertica 和 FIPS 140-2

1.摘要

Vertica 符合美国联邦信息处理标准 140-2 (FIPS 140-2),该标准定义了联邦机构为保护敏感数据或有价值的数据而指定基于加密的安全系统时要使用的技术要求。通过以下方式确保 Vertica 符合 FIPS 140-2 标准:1) 集成经过验证和经 NIST 认证的第三方加密模块,并将模块作为加密服务的唯一提供程序;2) 使用经 FIPS 批准的加密函数;3) 根据 Vertica 设计、实施和操作,使用合适的经 FIPS 批准和经 NIST 验证的技术。

2. 概述

a. 关于 Vertica

  • Vertica 是用于高级分析应用程序的高性能关系数据库管理系统。其性能与规模扩展是通过提供大规模并行处理解决方案的列存储和执行架构来实现的。激进的编码和压缩策略可以减少 CPU、内存和磁盘 I/O 处理时间,从而执行 Vertica 分析。

  • 有关 Vertica 及其用法的更多详细信息,请参阅体系结构

b. 关于 FIPS 140-2

FIPS(美国联邦信息处理标准)140-2,即加密模块的安全要求,是用来对政府购买的计算机系统进行适当加密的联邦标准。

美国联邦信息处理标准 (FIPS) 出版物 140-2“加密模块的安全要求”于 2001 年 5 月由美国国家标准与技术研究所 (NIST) 发布。

使用经 FIPS 140-2 验证的加密模块的好处是,加密算法被视为是合适的,且它们可以正确执行加密/解密/哈希函数。该标准规定了在保护敏感或有价值的数据的安全系统中使用的加密模块的安全要求。有关这些要求,请参阅以下文档:

3.Vertica 和 FIPS 140-2

通过 FIPS 140-2 验证的第三方模块

通过动态链接到操作系统提供的经 FIPS 140-2 批准的 OpenSSL 加密模块(在初始版本中为 Red Hat Enterprise Linux 6.6 OpenSSL 模块),Vertica 符合 FIPS 140-2 1 级合规性。

可以将 Vertica 配置为在 FIPS 兼容模式下运行,以确保其功能和过程(例如 SSL/TLS 连接,需要通过安全哈希、加密、数字签名等进行加密)能够利用经 FIPS 140-2 验证的 RedHat Enterprise Linux 6.6 OpenSSL 模块 v3.0 提供的加密服务。如果您不在 Vertica 支持的 FIPS 兼容操作系统上运行,则将无法在 FIPS 模式下运行 Vertica。RedHat 的实施在操作系统级别保证 Vertica 使用正确的 FIPS 140-2 加密模块。

Vertica 会检查操作系统级别标志设置 /proc/sys/crypto/fips_enabled,以启动 Vertica 的 FIPS 模式安装。有关如何安装和配置 Vertica 及其组件以符合 FIPS 140-2 标准的更多详细信息,请参阅安装和安全指南:

操作模式

Vertica 服务器在操作系统配置确定的两种模式之一下操作。

  • FIPS 兼容模式 – 支持符合 FIPS 140-2 规范的加密函数。在此模式下,所有加密函数、默认算法和密钥长度均绑定为 FIPS 140-2 允许的值。

  • 标准模式 – 不符合 FIPS 140-2 规范的模式,该模式使用所有现有的 Vertica 加密函数。

TLS/SSL3.x

所有 Vertica 客户端/服务器通信都可以使用 FIPS 兼容的传输层安全协议 TLS1.2/SSL3.1 或更高版本来进行保护。该协议依赖于经 FIPS 140-2 批准的哈希算法和密码。

  • TLS 握手、密钥协商和身份验证可保证数据完整性,并使用安全哈希和经 FIPS 140-2 批准的加密和数字签名。

  • 对传输中的数据应用 TLS 加密可保证数据机密性,并使用经 FIPS 140-2 批准的加密。

安全哈希

根据 FIPS 140-2 标准,在 FIPS 140-2 兼容模式下,可以将 Vertica 配置为仅使用 SHA-512 算法。

FIPS 140-2 架构

Vertica 是一个关系数据库系统,由客户端组件和服务器组件组成。在客户端,我们提供一套驱动程序,以供主机客户端访问 Vertica 服务器端组件。客户端和服务器 Vertica 组件均通过动态链接到 RedHat Enterprise Linux 6.6 OpenSSL 模块提供的经 FIPS 140-2 批准的 OpenSSL 加密模块,来符合 FIPS 140-2 1 级合规性。

支持的平台

有关 Vertica 支持的 FIPS 兼容操作系统和客户端驱动程序的信息,请参阅 FIPS 140-2 支持的平台

设计保证

Vertica 使用安全提供程序 Red Hat Enterprise Linux 6.6 OpenSSL Module v3.0。这是唯一受 FIPS 140-2 支持的安全提供程序。

将 Vertica 配置为符合 FIPS 140-2 规范后,除非在操作系统级别禁用 FIPS 140-2,否则将无法恢复为标准配置。有关注意事项,请参考以下文档部分: