Back to Checks
Ensure that the --hostname-override argument is not set
KCV-0086
Service: kubernetesSeverity: high
OfficialBuilt-inVerified
Do not override node hostnames.
Run this check with Prowler
Run in Prowler CloudRun
prowler iac --checks KCV-0086Recommendation
Edit the kubelet service file /etc/systemd/system/kubelet.service.d/10-kubeadm.conf on each worker node and remove the --hostname-override argument
Check Code
# METADATA
# title: "Ensure that the --hostname-override argument is not set"
# description: "Do not override node hostnames."
# scope: package
# schemas:
# - input: schema["kubernetes"]
# related_resources:
# - https://www.cisecurity.org/benchmark/kubernetes
# custom:
# id: KCV-0086
# long_id: kubernetes-ensure-hostname-override-argument-not-set
# aliases:
# - AVD-KCV-0086
# - KCV0086
# - ensure-hostname-override-argument-not-set
# - kubernetes-ensure-hostname-override-argument-not-set
# severity: HIGH
# recommended_action: "Edit the kubelet service file /etc/systemd/system/kubelet.service.d/10-kubeadm.conf on each worker node and remove the --hostname-override argument"
# input:
# selector:
# - type: kubernetes
# subtypes:
# - kind: nodeinfo
package builtin.kubernetes.KCV0086
import rego.v1
types := ["master", "worker"]
validate_kubelet_hostname_override_set(sp) := {"kubeletHostnameOverrideArgumentSet": hostname_override} if {
sp.kind == "NodeInfo"
sp.type == types[_]
count(sp.info.kubeletHostnameOverrideArgumentSet.values) > 0
hostname_override = sp.info.kubeletHostnameOverrideArgumentSet.values
}
deny contains res if {
output := validate_kubelet_hostname_override_set(input)
msg := "Ensure that the --hostname-override argument is not set"
res := result.new(msg, output)
}