Check ID:
Provider: Kubernetes
Service:
Severity: CRITICAL
Categories:
Resource type:
apiserver_kubelet_cert_authProvider: Kubernetes
Service:
apiserverSeverity: CRITICAL
Categories:
cluster-security, encryptionResource type:
PodWhat this check verifies
Kubernetes API server is configured with a kubelet certificate authority via--kubelet-certificate-authority so it can validate kubelet serving certificates during APIkubelet TLS connections.
Risk
Without a trusted kubelet CA, the API server can’t verify kubelet identities, weakening TLS and enabling man-in-the-middle on control planenode traffic. Attackers could read logs/exec streams (Confidentiality), tamper with responses or commands (Integrity), and disrupt node management (Availability).Recommendation
Enforce mutual TLS for API server-kubelet communication. Provide a trusted CA using--kubelet-certificate-authority, issue certs from controlled PKI, rotate keys, and limit client credentials per least privilege. Prefer private networking and layered controls for defense in depth.
Remediation
- Native IaC
- Dashboard steps
References
- https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
- https://kubernetes.io/docs/setup/best-practices/certificates/#configure-certificates-manually
- https://docs.kics.io/latest/queries/kubernetes-queries/ec18a0d3-0069-4a58-a7fb-fbfe0b4bbbe0/
Where this check fires
This check runs on every scheduled scan against your Kubernetes account. Findings appear at Cloud Security → Findings filterable byCheck ID = apiserver_kubelet_cert_auth. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to Kubernetes checks