FIPS 140-2

编辑

此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。

联邦信息处理标准 (FIPS) 出版物 140-2 (FIPS PUB 140-2),题为“加密模块的安全要求”,是美国政府用于批准加密模块的计算机安全标准。

Kibana 提供符合 FIPS 140-2 标准的模式,因此可以在配置了符合 FIPS 140-2 标准的 OpenSSL3 提供程序的 Node.js 环境中运行。

要在 FIPS 模式下运行 Kibana,您必须拥有相应的 订阅

Kibana 捆绑的 Node 没有为 FIPS 140-2 配置。您必须配置符合 FIPS 140-2 标准的 OpenSSL3 提供程序。请查阅 Node.js 文档以了解如何配置您的环境。

对于 Kibana,对 FIPS 140-2 的遵守是通过以下方式确保的:

  • 使用 FIPS 批准/NIST 推荐的加密算法。
  • 将这些加密算法的实现委托给 NIST 验证的加密模块(可通过配置了 OpenSSL3 提供程序的 Node.js 获得)。
  • 允许以符合 FIPS 140-2 标准的方式配置 Kibana,如下所述。

配置 Kibana 以符合 FIPS 140-2

编辑

除了在 Kibana 配置中将 xpack.security.fipsMode.enabled 设置为 true 之外,还需要审查和配置许多与安全相关的设置,以便在符合 FIPS 140-2 标准的 Node.js 环境中成功运行 Kibana。

Kibana 密钥库

编辑

FIPS 140-2(通过 NIST 特别出版物 800-132)规定加密密钥的有效强度至少应为 112 位。因此,存储应用程序安全设置的 Kibana 密钥库需要使用满足此要求的密码进行密码保护。这意味着密码需要 14 个字节长,这相当于 14 个字符的 ASCII 编码密码,或 7 个字符的 UTF-8 编码密码。

有关如何设置此密码的更多信息,请参阅 密钥库文档

TLS 密钥库和密钥

编辑

密钥库可以在许多通用 TLS 设置中使用,以便方便地存储密钥和信任材料。PKCS#12 密钥库不能在符合 FIPS 140-2 标准的 Node.js 环境中使用。请避免使用这些类型的密钥库。您的 FIPS 140-2 提供程序可以提供可使用的兼容密钥库实现,或者您可以使用 PEM 编码文件。要使用 PEM 编码的密钥材料,您可以使用相关的 *.key*.certificate 配置选项,对于信任材料,您可以使用 *.certificate_authorities

例如,避免使用 PKCS#12 特定设置,例如:

  • server.ssl.keystore.path
  • server.ssl.truststore.path
  • elasticsearch.ssl.keystore.path
  • elasticsearch.ssl.truststore.path