Back to Checks
Ensure that the --anonymous-auth argument is set to false
KCV-0001
Service: kubernetesSeverity: medium
OfficialBuilt-inVerified
Disable anonymous requests to the API server.
Run this check with Prowler
Run in Prowler CloudRun
prowler iac --checks KCV-0001Recommendation
Set '--anonymous-auth' to 'false'.
Check Code
# METADATA
# title: "Ensure that the --anonymous-auth argument is set to false"
# description: "Disable anonymous requests to the API server."
# scope: package
# schemas:
# - input: schema["kubernetes"]
# related_resources:
# - https://www.cisecurity.org/benchmark/kubernetes
# custom:
# id: KCV-0001
# long_id: kubernetes-ensure-anonymous-auth-argument-is-false
# aliases:
# - AVD-KCV-0001
# - KCV0001
# - ensure-anonymous-auth-argument-is-false
# - kubernetes-ensure-anonymous-auth-argument-is-false
# severity: MEDIUM
# recommended_action: "Set '--anonymous-auth' to 'false'."
# input:
# selector:
# - type: kubernetes
package builtin.kubernetes.KCV0001
import rego.v1
import data.lib.kubernetes
check_flag(container) if {
some arg in container.args
contains(arg, "--anonymous-auth=false")
}
check_flag(container) if {
some cmd in container.command
contains(cmd, "--anonymous-auth=false")
}
deny contains res if {
container := kubernetes.containers[_]
kubernetes.is_apiserver(container)
not check_flag(container)
msg := "Ensure that the --anonymous-auth argument is set to false"
res := result.new(msg, container)
}