软件包签名

编辑

Elastic 发布的所有集成软件包都具有软件包签名,可以防止恶意攻击者篡改软件包内容。安装 Elastic 集成时,Kibana 会下载软件包并针对公钥验证软件包签名。如果软件包未验证,您可以选择强制安装。但是,强烈建议您避免安装未验证的软件包。

安装未验证的软件包即表示您承认并承担任何相关的风险。

强制安装未验证的软件包

  • 使用集成 UI 时,系统会提示您确认是否要安装未验证的集成。单击 仍然安装 以强制安装。
  • 使用 Fleet API 时,如果您尝试安装未验证的软件包,则会看到带有验证失败消息的 400 响应代码。要强制安装,请设置 URL 参数 ignoreUnverified=true。有关更多信息,请参阅 Kibana Fleet API

安装后,未验证的集成会在集成 UI 的 已安装集成 选项卡中标记。

为什么需要软件包验证?

编辑

集成软件包包含指令,例如 ILM 策略、转换和映射,这些指令可以显著修改 Elasticsearch 索引的结构。仅依靠 HTTPS DNS 名称验证来证明软件包的来源并非安全做法。有决心的攻击者可以伪造证书并提供旨在破坏目标的软件包。

安装经过验证的软件包可确保您的集成软件未被破坏或篡改。

未验证的软件包意味着什么?

编辑

以下是安装过程中集成软件包验证失败的一些情况:

  • Elastic 服务器上的软件包 zip 文件已被篡改。
  • 用户已被恶意重定向到伪造的 Elastic 软件包注册表。
  • Elastic 公钥已被泄露,并且 Elastic 已使用更新的密钥签署了软件包。

以下是安装后集成可能被标记为未验证的一些原因:

  • 集成软件包验证失败,但已强制安装。
  • 在 Fleet 添加对软件包签名验证的支持之前安装了集成软件包。

如果 Elastic 密钥将来发生变化怎么办?

编辑

如果 Elastic 签名密钥将来发生变化(这种情况不太可能发生),任何已验证的集成软件包都将继续显示为已验证,直到安装新的软件包或升级现有软件包为止。如果发生这种情况,您可以设置 kibana.yml 配置文件中的 xpack.fleet.packageVerification.gpgKeyPath 设置以使用新密钥。