次のコマンドと例を使用して、Container Inventory のクラスター管理ポリシーのためのクラスター ポリシーおよびランタイム ルールセットのカスタム リソースを作成します。
クラスター管理ポリシーはデフォルトでは有効になっていません。このポリシータイプを有効にするには、次の内容を
overrides.yaml
ファイルに追加してください:cloudOne: policyOperator: enabled: true clusterPolicyName: <name of your policy custom resource>
ポリシーをクラスターに適用
クラスター管理ポリシーに適用できるルール、例外、およびXDR有効化リソースの詳細については、クラスター管理ポリシーのカスタムリソースを参照してください。
次のコマンドを使用して、ポリシーをクラスターに適用します:
注意ファイル名を
policy.yaml にする必要はありません。 |
kubectl apply -f policy.yaml
注意クラスター ポリシーのカスタム リソース名は、values または
overrides.yaml ファイルに指定された名前と一致している必要があります。 |
次は、クラスタ管理ポリシーファイルの例です:
apiVersion: visionone.trendmicro.com/v1alpha1 kind: ClusterPolicy metadata: name: trendmicro-cluster-policy spec: xdrEnabled: true rules: # Pod properties - type: hostNetwork action: log mitigation: log - type: hostIPC action: log mitigation: log - type: hostPID action: log mitigation: log # Container properties - type: runAsNonRoot action: log mitigation: log - type: privileged action: log mitigation: log - type: privileged action: log mitigation: log - type: allowPrivilegeEscalation action: log mitigation: log - type: readOnlyRootFilesystem action: log mitigation: log - type: containerCapabilities properties: capabilityRestriction: baseline action: log mitigation: log # Image properties - type: imageRegistry properties: operator: equals values: - 198890578717.dkr.ecr.us-east-1.amazonaws.com/sample-registry action: log mitigation: log - type: imageName properties: operator: startsWith values: - nginx - alpine action: log mitigation: log - type: imageTag properties: operator: notEquals values: - latest action: log mitigation: log - type: imagePath properties: operator: contains values: - example.com/org/repo - example.com/image action: log mitigation: log # Unscanned images - type: imagesNotScanned properties: scanType: vulnerability maxScanAge: 30 action: log mitigation: log - type: imagesNotScanned properties: scanType: malware maxScanAge: 30 action: log mitigation: log - type: imagesNotScanned properties: scanType: secret maxScanAge: 30 action: log mitigation: log # Artifact Scanner Scan results - type: imagesWithMalware action: log mitigation: log - type: imagesWithSecrets action: log mitigation: log - type: imagesWithVulnerabilities properties: severity: critical action: log mitigation: log - type: imagesWithCVSSAttackVector properties: attackVector: network severity: high action: log mitigation: log - type: imagesWithCVSSAttackComplexity properties: attackComplexity: high severity: high action: log mitigation: log - type: imagesWithCVSSAvailabilityImpact properties: availabilityImpact: low severity: high action: log mitigation: log # Kubectl Access - type: podExec action: log mitigation: log - type: podPortForward action: log mitigation: log # Exceptions exceptions: - type: imageName properties: operator: equals values: - sampleImage namespaces: # exclude to apply to all namespaces - sample-namespace - type: imageRegistry properties: operator: equals values: - 198890578717.dkr.ecr.us-east-1.amazonaws.com/sample-registry
カスタムリソースルールセット
ランタイムルールセットはランタイムセキュリティのルールを定義します。これらのFalcoルールはトレンドマイクロによって管理され、ruleIDで参照されます。
RuntimeRuleset
仕様には、labels
とrules
の2つのフィールドを含むランタイム定義が含まれています。[labels]: ラベルセレクターを使用してルールが適用されるポッドラベルの配列です。ラベルがない場合、ルールはすべてのポッドに適用されます。
- [key]: ラベルキー。
- [value]: ラベル値。
[rules]: ルールIDの配列と、ルールがトリガーされたときに適用する緩和策。
- [ruleID]: トレンドマイクロのランタイムルールIDは
TM-{8 digit id}
です (例: TM-00000001)。利用可能な定義済みルールのリストを表示。 - [mitigation]: ルールが一致したときに実行された処理。
log
、isolate
、またはterminate
を使用します。
次のコマンドを使用してランタイムルールセットを適用します:
注意ファイル名を
runtimeruleset.yaml にする必要はありません。 |
kubectl apply -f runtimeruleset.yaml
次の例は、ランタイムルールセットファイルです:
apiVersion: visionone.trendmicro.com/v1alpha1 kind: RuntimeRuleset metadata: labels: app.kubernetes.io/name: init app.kubernetes.io/managed-by: kustomize name: trendmicro-ruleset-sample spec: definition: labels: - key: "app" value: "nginx" rules: - ruleID: TM-00000001 mitigation: log - ruleID: TM-00000002 mitigation: log - ruleID: TM-00000003 mitigation: isolate - ruleID: TM-00000004 mitigation: terminate