FIPS 140-2
编辑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