Helm v2 ティラーを使用して Kubernetes クラスターを切断する

Helm v2 ティラーを使用して Kubernetes クラスターを切断する

Helm は Kubernetes のパッケージ マネージャーです。次のようなものです。 apt-get Ubuntuの場合。 このノートでは、デフォルトでインストールされた Tiller サービスを備えた Helm の以前のバージョン (v2) について説明します。これを通じてクラスターにアクセスします。

クラスターを準備しましょう。これを行うには、次のコマンドを実行します。

kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash

Helm v2 ティラーを使用して Kubernetes クラスターを切断する

デモンストレーション

  • 追加の構成を何も行わない場合、helm v2 は完全なクラスター管理者権限を持つ RBAC を持つ Tiller サービスを開始します。
  • ネームスペースにインストールした後 kube-system 登場する tiller-deploy、また、44134 にバインドされたポート 0.0.0.0 も開きます。 これは Telnet を使用して確認できます。

$ telnet tiller-deploy.kube-system 44134

Helm v2 ティラーを使用して Kubernetes クラスターを切断する

  • これで、Tiler サービスに接続できるようになりました。 ティラー サービスと通信するときに、helm バイナリを使用して操作を実行します。

$ helm --host tiller-deploy.kube-system:44134 version

Helm v2 ティラーを使用して Kubernetes クラスターを切断する

  • 名前空間から Kubernetes クラスターのシークレットを取得してみましょう kube-system:

$ kubectl get secrets -n kube-system

Helm v2 ティラーを使用して Kubernetes クラスターを切断する

  • ここで、独自のチャートを作成できます。このチャートでは、管理者権限を持つロールを作成し、このロールをデフォルトのサービス アカウントに割り当てます。 このサービス アカウントのトークンを使用して、クラスターへの完全なアクセス権を取得しました。

$ helm --host tiller-deploy.kube-system:44134 install /pwnchart

Helm v2 ティラーを使用して Kubernetes クラスターを切断する

  • 今いつ pwnchart 導入された場合、デフォルトのサービス アカウントには完全な管理アクセス権が与えられます。 シークレットの入手方法をもう一度確認しましょう kube-system

kubectl get secrets -n kube-system

Helm v2 ティラーを使用して Kubernetes クラスターを切断する

このスクリプトが正常に実行されるかどうかは、tiller がどのようにデプロイされたかによって決まります。場合によっては、管理者が異なる権限を持つ別の名前空間にそれをデプロイすることもあります。 Helm 3 はそのような脆弱性の影響を受けません。 耕耘機は入っていません。

翻訳者のメモ: ネットワーク ポリシーを使用してクラスター内のトラフィックをフィルターすると、このタイプの脆弱性から保護することができます。

出所: habr.com

コメントを追加します