Webhook の安全な管理

Istio Webhook を管理するための安全な方法。

2019 年 11 月 14 日 | Lei Tang - Googleによる投稿

Istio には、Galley とサイドカーインジェクターという 2 つの Webhook があります。Galleyは Kubernetes リソースを検証し、サイドカーインジェクターは Istio へサイドカーコンテナを挿入します。

既定では、Galley とサイドカーインジェクターは独自の Webhook 設定を管理します。これらは、例えばバッファオーバーフロー攻撃によって侵害された場合、セキュリティリスクになる可能性があります。Webhook を設定する操作は、Webhook がすべての Kubernetes リソースを監視および変更する可能性があるため、特権が非常に高い操作です。

次の例では、攻撃者は Galley を侵害し、すべての Kubernetes シークレットを盗聴するように Galley の Webhook 設定を変更します (clientConfig は攻撃者によって変更され、secrets のリソースは攻撃者が所有するサービスに導かれます)。

An example attack
攻撃の例

この種の攻撃から保護するため、Istio 1.4 には istioctl を使用して安全に Webhook を管理する新たな機能が導入されています。

  1. Galley とサイドカーインジェクターの代わりに、istioctl が Webhook 設定を管理します。Galley とサイドカーインジェクターの特権は剥奪されているため、たとえ侵害されたとしても、Webhook 設定を変更することはできません。

  2. Webhook を設定する前に、istioctl は Webhook サーバーが稼働しており、Webhook サーバーが使用する証明書チェーンが有効であることを検証します。これにより、サーバーが準備ができていない場合、またはサーバーの証明書が無効な場合に発生するエラーが削減されます。

この新機能を試すには、Istio Webhook 管理タスクを参照してください。

この投稿を共有する