目次

ランタイムセキュリティの設定

ランタイムセキュリティは、カスタマイズ可能なルールセットに違反するコンテナアクティビティを可視化します。現在、ランタイムセキュリティには、コンテナのMITER ATT&CKフレームワークの戦術およびコンテナのドリフト検出に対する可視性を提供する、事前定義されたルールのセットが含まれています。Container Security は、ランタイムセキュリティ機能によって検出された問題を自動的に軽減できます。実行時にポッドがルールに違反する場合、その Container Security ポリシーに割り当てられたルールセットに基づいてポッドを終了または隔離することで、問題が軽減されます。

この機能はKubernetesと互換性があり、Amazon EKS、Microsoft Azure AKS、Google GKE、およびOpenShiftをサポートしています。現在、 初期設定と最新のLinuxカーネルでサポートされています。

ランタイムルールセットを作成する

ランタイムセキュリティ プレビューにアクセスしたら、1つ以上のランタイムルールセットを作成します。トレンドマイクロが提供するいくつかの管理対象ルールから選択して、適用する一連のルールを定義します。

  1. Trend Micro Cloud One console を開き、[ Container Security]を選択します。
  2. ランタイムルールセットアイコンランタイムルールセットページに移動します。
  3. 次のいずれかを実行します。

    • これが最初のルールセットである場合は、[+ New runtime rulesets]をクリックします。

      既存のランタイムルールセットがない場合に表示される画面

    • これが最初のルールセットでない場合は、[+ New]を選択します。

      ランタイムルールセットが1つ以上存在する場合に表示される画面

  4. 以下の情報を指定します。

    • Name: ルールセットの識別に役立つ一意の名前。ルールセットの作成後にこの名前を変更することはできません。
    • Description: ルールセットの説明(オプション)

    ランタイムルールセットを作成するためのデータを入力するページ

  5. 初期設定では、ルールセットはクラスタ内のすべてのポッドに適用されます。ルールセットを特定のアプリケーションに制限する場合は、アプリケーションに適用されているKubernetesラベルに一致するラベルを1つ以上追加します。Container Security は、指定したラベルに一致するアプリケーションのルールを適用します。

    1. [Add Label]をクリックします。
    2. 照合するラベルのキーと値を入力します。

      たとえば、 app:php というラベルを追加すると、ルールセットは app:phpのラベルが付いたKubernetesポッドにのみ適用されます。

  6. [ Add Rule]をクリックします。ダイアログボックスが表示され、このルールセットで適用するルールを選択できます。ルールを選択したら、[ Apply ]をクリックします。

    すべてのルールを選択するには、表の見出しのチェックボックスをオンにします。

    ルールが防御するように設計されている攻撃手法の詳細を確認するには、 MITERサイトでMITRE ID( T1021.004など)を検索します。

  7. 選択したルールがルールセットに表示されます。ルールごとに、 Mitigation ドロップダウンリストを使用して、実行中のポッドがルールに違反した場合に Container Security が実行する処理を選択します。イベントをログに記録して、ポッドの実行を継続するか、ポッドのネットワークトラフィックを隔離するか、またはポッドを終了するかを選択します。

  8. [ Create ]の順にクリックして、新しいルールセットを確定します。

ポリシーにルールセットを追加する

次に、ポリシーを作成し、 [ Runtime ] タブを使用して1つ以上のルールセットを追加します。既存のポリシーにルールセットを追加することもできます。手順については、「 Create a policy」を参照してください。

また、保護するクラスタにポリシーを割り当てる必要があります。これにより、ルールセットがクラスタに適用されます。

クラスタのランタイムセキュリティを有効にする

Container Securityにクラスタをまだ登録していない場合は、「 クラスタを追加する」の手順に従ってください。

Container Security にクラスタを登録済みで、ランタイムセキュリティを有効にしていない場合は、次の手順に従ってください。

  1. runtimeSecurity.enabled=true をオーバーライドファイル(通常は overrides.yaml)に追加します。

    cloudOne:
        apiKey: <API_KEY>
        endpoint: <ENDPOINT>
        runtimeSecurity:
            enabled: true
  2. Container Securityをアップグレードするには、次のコマンドを使用します。

    helm upgrade \
        trendmicro \
        --namespace trendmicro-system --create-namespace \
        --values overrides.yaml \
        https://github.com/trendmicro/cloudone-container-security-helm/archive/master.tar.gz

ランタイムイベントの表示

ランタイムルールが実行されると、 Events ページに表示されるイベントが生成されます。 「イベントの監視」を参照してください。

ランタイムセキュリティを無効にする

クラスタのランタイムセキュリティを無効にしたいが、 Container Securityのその他の側面は維持したい場合:

  1. オーバーライドファイル(通常は overrides.yaml)に runtimeSecurity.enabled=false を設定します。

    cloudOne:
        apiKey: <API_KEY>
        endpoint: <ENDPOINT>
        runtimeSecurity:
            enabled: false
  2. Container Security クラスタをアップグレードするには、次のコマンドを使用します。

    helm upgrade \
        trendmicro \
        --namespace trendmicro-system \
        --values overrides.yaml \
        https://github.com/trendmicro/cloudone-container-security-helm/archive/master.tar.gz

TaintsとTolerations

Taintは、ノードが一連のポッドをはじくKubernetesの概念です。詳細については、 Kubernetesのドキュメント を参照してください。Taintを使用している場合は、許容値を使用して、実行時のセキュリティを確実にtaintedノードに適用できます。これを行うには、次の形式でオーバーライドファイルに許容値を追加します。

tolerations:
  scout:
  - key: "key1"
    operator: "Equal"
    value: "value1"
    effect: "NoSchedule"

すべてのTaintにTolerationsを追加するには(Taintに関係なくすべてのノードにランタイムセキュリティを適用する)、オーバーライドファイルに次の行を追加します。

tolerations:
  scout:
  - key: ""
    operator: Exists

サポートされるLinuxカーネルのメジャー/マイナーバージョン

Container Security は、次のカーネルバージョンをサポートしています。 これらのストリームの新しいカーネルリリースは、可能な限り早期にサポートされる予定です。

プラットフォーム メジャーマイナーバージョン フレーバー
Amazon Linux 2 4.14.x
Amazon Linux 2 5.4.x
Amazon Linux 2 5.10.x
Red Hat Enterprise Linux CoreOS (RHCOS) 4.18.x
Ubuntu 4.15.x generic
Ubuntu 5.4.x generic
Ubuntu 5.4.x azure
Ubuntu 5.4.x aws
Ubuntu 5.4.x gke
Ubuntu 5.11.x generic
Ubuntu 5.11.x azure
Ubuntu 5.11.x aws
Google Container-Optimized OS (COS) 5.4.x
Google Container-Optimized OS (COS) 5.10.x
Debian 11 5.10.x generic