安全 Webhook 管理

更安全的方式来管理 Istio webhooks。

2019 年 11 月 14 日 | 作者:Lei Tang - Google

Istio 有两个 webhooks:Galley 和 sidecar 注入器。Galley 验证 Kubernetes 资源,而 sidecar 注入器将 sidecar 容器注入 Istio。

默认情况下,Galley 和 sidecar 注入器会管理自己的 webhook 配置。如果它们受到攻击(例如,通过缓冲区溢出攻击),这会构成安全风险。配置 webhook 是一种高度特权的操作,因为 webhook 可以监控和修改所有 Kubernetes 资源。

在以下示例中,攻击者攻击 Galley 并修改 Galley 的 webhook 配置以窃听所有 Kubernetes 机密(clientConfig 由攻击者修改以将secrets 资源定向到攻击者拥有的服务)。

An example attack
攻击示例

为了防止这种攻击,Istio 1.4 引入了一项新功能,可以使用 istioctl 安全地管理 webhooks。

  1. istioctl 而不是 Galley 和 sidecar 注入器来管理 webhook 配置。Galley 和 sidecar 注入器被降权,因此即使它们受到攻击,也无法更改 webhook 配置。

  2. 在配置 webhook 之前,istioctl 将验证 webhook 服务器是否已启动以及 webhook 服务器使用的证书链是否有效。这减少了服务器准备就绪之前或服务器具有无效证书时可能发生的错误。

要尝试此新功能,请参阅Istio webhook 管理任务

分享此帖子