Verwenden Sie die folgenden Befehle und Beispiele, um die Cluster-Richtlinie und das
Laufzeit-Regelsatz-Custom-Resource für Ihre clusterverwalteten Richtlinien in Container
Security zu erstellen.
Clusterverwaltete Richtlinien sind standardmäßig nicht aktiviert. Um diesen Richtlinientyp
zu aktivieren, fügen Sie Folgendes zu Ihrer
overrides.yaml-Datei hinzu:visionOne:
policyOperator:
enabled: true
clusterPolicyName: <name of your policy custom resource>
Richtlinie auf Cluster anwenden
Weitere Informationen zu den Regeln, Ausnahmen und XDR-Aktivierungsressourcen, die
Sie auf Ihre verwaltete Cluster-Richtlinie anwenden können, finden Sie unter Benutzerdefinierte Ressourcen für clusterverwaltete Richtlinien.
Verwenden Sie den folgenden Befehl, um Ihre Richtlinie auf einen Cluster anzuwenden:
HinweisIhre Datei muss nicht
policy.yaml genannt werden. |
kubectl apply -f policy.yaml
HinweisDer Name der benutzerdefinierten Ressource der Cluster-Richtlinie muss mit dem in
den Werten oder der
overrides.yaml-Datei angegebenen Namen übereinstimmen. |
Das Folgende ist ein Beispiel für eine clusterverwaltete Richtliniendatei:
apiVersion: container-security.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
Benutzerdefinierte Ressourcenregelset
Das Laufzeit-Regelwerk definiert die Regeln für die Laufzeitsicherheit. Diese Falco-Regeln
werden von Trend Micro verwaltet und mit der Regel-ID referenziert. Die
RuntimeRuleset-Spezifikation enthält die Laufzeitdefinition mit zwei Feldern: labels und rules.labels: Ein Array von Pod-Labels, bei dem die Regeln mithilfe von Label-Selektoren angewendet
werden. Ohne die Labels werden die Regeln auf alle Pods angewendet.
- key: Beschriftungsschlüssel.
- value: Bezeichnungswert.
Regeln: Ein Array von Regel-IDs und die zu ergreifende Maßnahme, wenn die Regel ausgelöst
wird.
- ruleID: Die Trend Micro Laufzeitregel-ID als
TM-{8 digit id}(Beispiel: TM-00000001). Liste der verfügbaren, vordefinierten Regeln anzeigen. - mitigation: Die durchgeführte Aktion, wenn eine Regel übereinstimmt. Verwenden Sie
log,isolateoderterminate.
Verwenden Sie folgenden Befehl zum Anwenden des Laufzeit-Regelsatzes:
HinweisIhre Datei muss nicht
runtimeruleset.yaml genannt werden. |
kubectl apply -f runtimeruleset.yaml
Das Folgende ist ein Beispiel für eine Laufzeit-Regelsatzdatei:
apiVersion: container-security.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
