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