セキュリティに関する情報

このトピックでは、すべての GKE On-Prem のセキュリティに関する情報について説明します。

脆弱性に関する情報は多くの場合、影響を受けた当事者が対処するまで、情報制限により非公開となります。この場合、GKE On-Prem のリリースノートには、情報制限が解除されるまで「セキュリティ更新」への参照が記載されます。リリースノートは情報制限が解除された時点で更新され、パッチによって対処された脆弱性の情報が反映されます。

最新のセキュリティ情報を入手するには、このページの URL をフィード リーダーに追加します。

GCP-2020-012

公開日: 2020 年 9 月 14 日
最終更新日: 2020 年 9 月 17 日
説明 重大度

先ごろ、Linux カーネルに脆弱性 CVE-2020-14386 が発見されました。この脆弱性により、コンテナがエスケープ処理を行ってホストノードの root 権限を奪ってしまうおそれがあります。

すべての GKE On-Prem ノードが影響を受けます。

必要な対策

この脆弱性を修正するには、クラスタをパッチ適用済みバージョンにアップグレードします。次に示す今後の GKE On-Prem バージョンには、この脆弱性に対する修正が含まれています。この情報は、利用可能になり次第、更新されます。

  • GKE On-Prem 1.4.3 が利用可能になりました。
  • GKE On-Prem 1.3.4 が利用可能になりました。

この脆弱性を悪用するには CAP_NET_RAW が必要ですが、通常、CAP_NET_RAW を必要とするコンテナはほとんどありません。この機能や他の強力な機能は、PodSecurityPolicy または Policy Controller を使用してデフォルトでブロックする必要があります。
  • 次のように、PodSecurityPolicy を使用してこれらの機能をブロックします。
    
          # Require dropping CAP_NET_RAW with a PSP
          apiversion: extensions/v1beta1
          kind: PodSecurityPolicy
          metadata:
            name: no-cap-net-raw
          spec:
            requiredDropCapabilities:
              -NET_RAW
               ...
               # Unrelated fields omitted
          
  • または、Policy Controller / Gatekeeper をこの制約テンプレートで使用して、この機能を適用します。たとえば、以下のようにします。
    
          # Dropping CAP_NET_RAW with Gatekeeper
          # (requires the K8sPSPCapabilities template)
          apiversion: constraints.gatekeeper.sh/v1beta1
          kind:  K8sPSPCapabilities
          metadata:
            name: forbid-cap-net-raw
          spec:
            match:
              kinds:
                - apiGroups: [""]
                kinds: ["Pod"]
              namespaces:
                #List of namespaces to enforce this constraint on
                - default
              # If running gatekeeper >= v3.1.0-beta.5,
              # you can exclude namespaces rather than including them above.
              excludedNamespaces:
                - kube-system
            parameters:
              requiredDropCapabilities:
                - "NET_RAW"
          
  • または、Pod 仕様を更新します。
    
          # Dropping CAP_NET_RAW from a Pod:
          apiVersion: v1
          kind: Pod
          metadata:
            name: no-cap-net-raw
          spec:
            containers:
              -name: my-container
               ...
              securityContext:
                capabilities:
                  drop:
                    -NET_RAW
          

このパッチで対処される脆弱性

このパッチで緩和される脆弱性は以下のとおりです:

脆弱性 CVE-2020-14386。CAP_NET_RAW
を備えたコンテナでは、1~10 バイトのカーネルメモリを書き込み、場合によってはコンテナをエスケープしてホストノードの root 権限を取得できます。この脆弱性の重大度評価は高です。

CVE-2020-14386

GCP-2020-011

公開: 2020-07-24
説明 重大度

先ごろ、ネットワークに関する脆弱性 CVE-2020-8558 が Kubernetes で発見されました。Service は、ローカル ループバック インターフェース(127.0.0.1)を使用して同じ Pod 内で実行されている他のアプリケーションと通信することがあります。この脆弱性により、クラスタのネットワークにアクセスできる攻撃者が、隣接する Pod とノードのループバック インターフェースにトラフィックを送信できてしまいます。Pod の外部からループバック インターフェースにアクセスできないことに依存している Service が侵害される可能性があります。

必要な対策

この脆弱性を修正するには、クラスタをパッチ適用済みバージョンにアップグレードします。次の GKE On-Prem バージョン以降には、この脆弱性に対する修正が含まれています。

  • GKE On-Prem 1.4.1

このパッチで対処される脆弱性

このパッチは、脆弱性 CVE-2020-8558 を修正します。

CVE-2020-8558

GCP-2020-009

公開: 2020-07-15
説明 重大度

先ごろ、権限昇格に関する脆弱性 CVE-2020-8559 が Kubernetes で発見されました。この脆弱性により、ノードを不正使用した攻撃者が、クラスタ内の任意の Pod でコマンドを実行できてしまいます。これにより、攻撃者はすでに不正使用したノードを使用して他のノードを不正使用し、情報の読み取りや、破壊的な操作をする可能性があります。

攻撃者がこの脆弱性を悪用するには、クラスタ内のノードがすでに不正使用されている必要があります。この脆弱性だけで、クラスタ内のノードが不正使用されることはありません。

必要な対策

クラスタをパッチ適用済みバージョンにアップグレードします。この脆弱性に対する修正は、次の GKE On-Prem バージョン以降に含まれています。

  • Anthos 1.3.3
  • Anthos 1.4.1

このパッチで対処される脆弱性

これらのパッチは、脆弱性 CVE-2020-8559 を軽減します。攻撃者は既存の不正使用ノードに加えて、この攻撃を効果的に悪用するためにクラスタ、ノード、ワークロードについて最初に情報を取得する必要があるため、GKE の脆弱性の重大度評価は「中」です。この脆弱性だけで、不正使用されたノードが攻撃者に提供されることはありません。

CVE-2020-8559

GCP-2020-007

公開: 2020-06-01
説明 重大度

最近、Kubernetes でサーバー側のリクエスト フォージェリ(SSRF)の脆弱性 CVE-2020-8555 が検出され、特定の承認済みユーザーがコントロール プレーン ホスト ネットワークから最大 500 バイトの機密情報を漏洩する可能性が生じました。Google Kubernetes Engine(GKE)コントロール プレーンでは、Kubernetes のコントローラを使用するため、この脆弱性の影響を受けます。以下で説明するように、コントロール プレーンを最新のパッチ バージョンにアップグレードすることをおすすめします。ノードのアップグレードは不要です。

必要な対策

次の GKE On-Prem バージョン以降には、この脆弱性に対する修正が含まれています。

  • Anthos 1.3.0

以前のバージョンを使用している場合は、修正が含まれているバージョンに既存のクラスタをアップグレードしてください。

このパッチで対処される脆弱性

これらのパッチは、脆弱性 CVE-2020-8555 を軽減します。この脆弱性はコントロール プレーンのさまざまな強化対策によって悪用が困難であったため、GKE に対する脆弱性の重大度評価は「中」です。

攻撃者が特定の組み込み Volume タイプ(GlusterFS、Quobyte、StorageFS、ScaleIO)で Pod を作成する権限や、StorageClass を作成する権限を持つ場合、マスターのホスト ネットワークから攻撃者が制御するリクエスト本文を使用せずに kube-controller-managerGET リクエストや POST リクエストを発行させる可能性があります。これらのボリューム タイプは GKE ではほとんど使用されないため、新たに使用された場合は、それが攻撃の検出シグナルとなります。

GET/POST の結果が攻撃者に返す手段(ログを通じてなど)と組み合わせられると、機密情報の漏洩につながる可能性があります。このような漏洩の可能性を排除するために、対象となるストレージ ドライバを更新しました。

CVE-2020-8555

GCP-2020-006

公開: 2020-06-01
説明 重大度

Kubernetes は、特権コンテナでノード トラフィックを別のコンテナにリダイレクトできるようになる脆弱性を公表しました。kubelet と API サーバーの間の相互 TLS / SSH トラフィックや、mTLS を使用するアプリケーションからのトラフィックは、この攻撃によって読み取ることも変更することもできません。この脆弱性は、すべての Google Kubernetes Engine(GKE)ノードに影響を及ぼします。下記に示すように、最新のパッチ バージョンにアップグレードすることをおすすめします。

必要な対策

GKE On-Prem のこの脆弱性を軽減するには、クラスタを次のバージョン以降にアップグレードします。
  • Anthos 1.3.2

通常、CAP_NET_RAW を必要とするコンテナはほとんどありません。この機能やその他の強力な機能は、Anthos Policy Controller を使用するか、Pod 仕様を更新して、デフォルトでブロックする必要があります。

  • CAP_NET_RAW 機能をコンテナから削除します。
    • Anthos Policy Controller / Gatekeeper をこの制約テンプレートで使用して、適用します。次に例を示します。
    • 
      # Dropping CAP_NET_RAW with Gatekeeper
      # (requires the K8sPSPCapabilities template)
      apiversion: constraints.gatekeeper.sh/v1beta1
      kind:  K8sPSPCapabilities
      metadata:
        name: forbid-cap-net-raw
      spec:
        match:
          kinds:
            - apiGroups: [""]
            kinds: ["Pod"]
          namespaces:
            #List of namespaces to enforce this constraint on
            - default
          # If running gatekeeper >= v3.1.0-beta.5,
          # you can exclude namespaces rather than including them above.
          excludedNamespaces:
            - kube-system
        parameters:
          requiredDropCapabilities:
            - "NET_RAW"
      
    • Pod の仕様を次のように更新する方法。
    • 
      # Dropping CAP_NET_RAW from a Pod:
      apiVersion: v1
      kind: Pod
      metadata:
        name: no-cap-net-raw
      spec:
        containers:
          -name: m4028y-container
           ...
          securityContext:
            capabilities:
              drop:
                -NET_RAW
      

このパッチで対処される脆弱性

このパッチで緩和される脆弱性は以下のとおりです。

Kubernetes の問題 91507 に記載された脆弱性。この脆弱性では、CAP_NET_RAW 機能(デフォルトのコンテナ機能セットに含まれています)がノード上で IPv6 スタックを不正に構成して、攻撃者によって制御されるコンテナにノード トラフィックをリダイレクトします。これにより、攻撃者はノードからのトラフィックまたはノードを宛先とするトラフィックの傍受や変更ができてしまいます。kubelet と API サーバーの間の相互 TLS / SSH トラフィックや、mTLS を使用するアプリケーションからのトラフィックは、この攻撃によって読み取られることも変更されることもありません。

Kubernetes の問題 91507

GCP-2020-004

説明 重大度

先ごろ、Kubernetes で CVE-2019-11254 に記載された脆弱性が発見されました。これは、POST リクエストの発行を許可された任意のユーザーが Kubernetes API サーバーへのリモート サービス拒否攻撃を実行できるというものです。Kubernetes 製品セキュリティ委員会(PSC)から発表されたこの脆弱性に関する追加情報は、こちらからご覧いただけます。

Kubernetes API サーバーにネットワーク アクセスできるクライアントを制限することで、この脆弱性を緩和できます。

必要な対策

この脆弱性に対する修正を含むパッチ バージョンが公開されたら、直ちにクラスタをアップグレードすることをおすすめします。

修正を含むパッチ バージョンは次のとおりです。

  • Kubernetes バージョン 1.15.7-gke.32 を実行する Anthos 1.3.0

このパッチで対処される脆弱性

このパッチは次のサービス拒否攻撃(DoS)の脆弱性を修正します。

CVE-2019-11254.

CVE-2019-11254

2019 年 10 月 16 日

説明 重大度

先ごろ、Kubernetes で CVE-2019-11253 に記載された脆弱性が発見されました。これは、POST リクエストの発行を許可された任意のユーザーが Kubernetes API サーバーへのリモート サービス拒否攻撃を実行できるというものです。Kubernetes 製品セキュリティ委員会(PSC)から発表されたこの脆弱性に関する追加情報は、こちらから確認できます。

Kubernetes API サーバーにネットワーク アクセスできるクライアントを制限することで、この脆弱性を緩和できます。

必要な対策

修正を含むパッチ バージョンが公開されたら、直ちにクラスタをアップグレードすることをおすすめします。

この修正が含まれるパッチ バージョンは次のとおりです。

  • Kubernetes バージョン 1.13.7-gke.30 を実行する Anthos 1.1.1
このパッチで対処される脆弱性

このパッチにより、次の脆弱性が緩和されます。CVE-2019-11253

CVE-2019-11253

2019 年 8 月 23 日

説明 重大度

先ごろ、エンドポイントのセキュリティ モニタリングに使用される RBAC プロキシがユーザーを正しく承認しないという脆弱性が発見され、緩和されました。そのため、認証されていないユーザーが、一部のコンポーネントの指標を内部クラスタ ネットワーク内から利用できる状態になっています。影響を受けたコンポーネントは以下のとおりです。

  • etcd
  • etcd-events
  • kube-apiserver
  • kube-controller-manager
  • kube-scheduler
  • node-exporter
  • kube-state-metrics
  • prometheus
  • alertmanager
必要な対策

クラスタをバージョン 1.0.2-gke.3 に、できるだけ早くアップグレードすることをおすすめします。これには、この脆弱性に対するパッチが含まれています。

GKE On-Prem のリリース

2019 年 8 月 22 日

説明 重大度

先ごろ、Kubernetes で脆弱性 CVE-2019-11247 が発見されました。これは、クラスタ スコープのカスタム リソース インスタンスを、あたかもすべての Namespace に存在する名前空間オブジェクトであるかのように動作させることができるというものです。つまり、名前空間レベルの RBAC 権限しか持たないユーザー アカウントまたはサービス アカウントでも、クラスタ スコープのカスタム リソースとやり取りできてしまいます。攻撃者がこの脆弱性を悪用するためには、任意の Namespace のリソースにアクセスする権限が必要です。

必要な対策

クラスタをバージョン 1.0.2-gke.3 に、できるだけ早くアップグレードすることをおすすめします。これには、この脆弱性に対するパッチが含まれています。

このパッチで対処される脆弱性

このパッチにより、次の脆弱性が緩和されます。CVE-2019-11247

CVE-2019-11247