Kubernetesでアプリケーションをすばやくセットアップするために、あらかじめ作成されたHelmチャートを使ったことがあるなら、セキュリティ設定を念のため再確認した方がよい。
Microsoftは、デフォルトのHelmチャートを使ってKubernetesアプリケーションをデプロイすると、組織がサイバー攻撃にさらされる可能性があると警告した。同社のDefender for Cloudチームは、人気の高い「すぐに使える」テンプレートが、使いやすさのためにセキュリティを犠牲にすることが多く、不正なデータアクセス、コード実行、さらにはクラスター全体の侵害につながると明らかにした。
「こうした『プラグアンドプレイ』型の選択肢はセットアップの工程を大幅に簡素化する一方で、セキュリティよりも使いやすさを優先することが少なくありません」と、Microsoft Defender for Cloudのセキュリティ研究者Michael Katchinskiy氏とYossi Weizman氏はブログ記事で述べた。「その結果、多数のアプリケーションがデフォルトで設定ミスのある状態でデプロイされ、機密データやクラウドリソース、さらには環境全体が攻撃者にさらされています」
テンプレートがもたらす現実のリスク
Helmチャートは、そのスピードと利便性から広く利用されている。しかしMicrosoftの調査は、こうしたテンプレート、特にオープンソースのリポジトリから提供されるものの多くが、重要なセキュリティ制御をデフォルトでは備えていないことを浮き彫りにした。
最も憂慮すべき事例の1つは、リアルタイム分析に使われる分散データベース、Apache Pinotに関するものだった。Microsoftは、Pinotの公式Helmチャートが、KubernetesのLoadBalancerサービスを通じて主要サービス(pinot-brokerとpinot-controller)をパブリックインターネットに公開していることを発見した。さらに悪いことに、認証もデフォルトでは有効になっていない。
「最近、Microsoft Defender for Cloudは、攻撃者が設定ミスのあるApache Pinotのワークロードを悪用し、Apache Pinotユーザーのデータにアクセスした複数のインシデントを確認しました」と研究者らは記している。
MesheryとSelenium Gridも標的に
クラウドネイティブインフラを管理するプラットフォーム、Mesheryも重大な事例の1つだ。公式Helmチャートを使ってインストールすると、Mesheryは外部IPアドレス経由でインターフェースを公開し、誰でも新しいユーザーを登録できるようになる。これにより、外部の人間がクラスターのメトリクスを監視したり、新しいPodをデプロイしたりできてしまう。
「問題はデータ漏えいだけではありません」とYossi Weizman氏は警告した。「ユーザーとして登録した攻撃者は悪意のあるワークロードをデプロイでき、権限を昇格させてノードを完全に制御することも可能です」とGBHackersに語った。
一方、広く利用されているブラウザテストツールのSelenium Gridは、NodePortまたはLoadBalancerサービスを通じて公開するサードパーティー製のGitHubテンプレートが原因で、脆弱な状態にあった。
「認証がなく、インターネットに公開されているという組み合わせは壊滅的です」とMichael Katchinskiy氏はGBHackersに語った。「テストツールが、クラスター乗っ取りの入り口になってしまいます」
身を守る方法
Microsoftは次の対策を推奨している。
- Helmチャートをデプロイ前に確認する。デフォルト設定が安全だと思い込まないこと。
- 認証を必須にする、社内サービスであっても。
- 公開されているサービスをスキャンするとともに、意図せずパブリックになっているワークロードがないか定期的に確認する。
- 不審な活動を監視する。予期しないユーザー登録や不審なPodのデプロイなどに注意する。
HelmチャートによってKubernetesのデプロイは高速化するが、デフォルト設定を無批判に信頼すると、データやクラスター全体が脆弱な状態に置かれる可能性がある。クラウド攻撃が増加する中、数分余計にかけて設定を堅牢化しておけば、後に大規模な侵害を防げるかもしれない。





