Webhook の安全な管理
Istio Webhook を管理するための安全な方法。
Istio には、Galley とサイドカーインジェクターという 2 つの Webhook があります。Galleyは Kubernetes リソースを検証し、サイドカーインジェクターは Istio へサイドカーコンテナを挿入します。
既定では、Galley とサイドカーインジェクターは独自の Webhook 設定を管理します。これらは、例えばバッファオーバーフロー攻撃によって侵害された場合、セキュリティリスクになる可能性があります。Webhook を設定する操作は、Webhook がすべての Kubernetes リソースを監視および変更する可能性があるため、特権が非常に高い操作です。
次の例では、攻撃者は Galley を侵害し、すべての Kubernetes シークレットを盗聴するように Galley の Webhook 設定を変更します (clientConfig
は攻撃者によって変更され、secrets
のリソースは攻撃者が所有するサービスに導かれます)。
この種の攻撃から保護するため、Istio 1.4 には istioctl
を使用して安全に Webhook を管理する新たな機能が導入されています。
Galley とサイドカーインジェクターの代わりに、
istioctl
が Webhook 設定を管理します。Galley とサイドカーインジェクターの特権は剥奪されているため、たとえ侵害されたとしても、Webhook 設定を変更することはできません。Webhook を設定する前に、
istioctl
は Webhook サーバーが稼働しており、Webhook サーバーが使用する証明書チェーンが有効であることを検証します。これにより、サーバーが準備ができていない場合、またはサーバーの証明書が無効な場合に発生するエラーが削減されます。
この新機能を試すには、Istio Webhook 管理タスクを参照してください。