Check ID:
Provider: Kubernetes
Service:
Severity: HIGH
Categories:
Resource type:
kubelet_service_file_permissionsProvider: Kubernetes
Service:
kubeletSeverity: HIGH
Categories:
node-securityResource type:
NodeWhat this check verifies
Kubernetes Kubelet service file on worker nodes is assessed for restrictive permissions of600 or tighter. The evaluation reviews the kubelet systemd drop-in configuration to confirm only the owner has read/write access and no broader permissions are granted.
Risk
Excess permissions let local users alter kubelet startup options, undermining integrity and availability. Attackers could enable insecure ports, weaken auth/TLS, or inject flags, leading to node compromise, pod tampering, and lateral movement that threatens cluster confidentiality.Recommendation
Apply least privilege: set the kubelet service file to600 with root control to block group/other access. Enforce via configuration management, restrict administrative shell access to nodes, and monitor with file integrity alerts. Use defense in depth by maintaining strong kubelet auth and TLS settings.
Remediation
- CLI
- Dashboard steps
chmod 600 /etc/systemd/system/kubelet.service.d/kubeadm.conf
References
- https://support.icompaas.com/support/solutions/articles/62000234693-ensure-that-the-kubelet-service-file-permissions-are-set-to-600-or-more-restrictive
- https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#44-joining-your-nodes
- https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-config/
Where this check fires
This check runs on every scheduled scan against your Kubernetes account. Findings appear at Cloud Security → Findings filterable byCheck ID = kubelet_service_file_permissions. 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