软件包签名
编辑软件包签名
编辑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
设置以使用新密钥。