Ensure that the kubelet service file permissions are set to 600 or more restrictive (Automated)
Scanned 9/3/2026
Install to Claude Code
npx -y skills add CyberStrikeus/CyberStrike --skill cis-k8s-v1120-4.1.1 --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cis K8s V1120 4.1.1?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/cyberstrikeus-cis-k8s-v1120-4-1-1)More formats (shields.io, HTML) on the badges page.
---
name: cis-k8s-v1120-4.1.1
description: "Ensure that the kubelet service file permissions are set to 600 or more restrictive (Automated)"
category: cis-k8s
version: "1.12.0"
author: cyberstrike-official
tags: [cis, kubernetes, worker-nodes, worker-node-config, file-permissions]
cis_id: "4.1.1"
cis_benchmark: "CIS Kubernetes Benchmark v1.12.0"
tech_stack: [kubernetes]
cwe_ids: []
chains_with: []
prerequisites: []
severity_boost: {}
---
# CIS Kubernetes Benchmark v1.12.0 - Control 4.1.1
## Description
Ensure that the `kubelet` service file has permissions of `600` or more restrictive.
## Rationale
The `kubelet` service file controls various parameters that set the behavior of the `kubelet` service in the worker node. You should restrict its file permissions to maintain the integrity of the file. The file should be writable by only the administrators on the system.
## Impact
None
## Audit Procedure
### Step 1: Set the kubelet service config variable
Automated AAC auditing has been modified to allow CIS-CAT to input a variable for the `<PATH>/<FILENAME>` of the kubelet service config file.
Please set `$kubelet_service_config=<PATH>` based on the file location on your system.
For example:
```bash
export kubelet_service_config=/etc/systemd/system/kubelet.service.d/kubeadm.conf
```
### Step 2: Verify file permissions
To perform the audit manually: Run the below command (based on the file location on your system) on the each worker node. For example,
```bash
stat -c %a /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
```
Verify that the permissions are `600` or more restrictive.
## Remediation
Run the below command (based on the file location on your system) on the each worker node. For example,
```bash
chmod 600 /etc/systemd/system/kubelet.service.d/kubeadm.conf
```
## Default Value
By default, the `kubelet` service file has permissions of `640`.
## References
1. https://kubernetes.io/docs/admin/kubelet/
2. https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#44-joining-your-nodes
3. https://kubernetes.io/docs/admin/kubeadm/#kubelet-drop-in
## CIS Controls
| Controls Version | Control | IG 1 | IG 2 | IG 3 |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---- | ---- | ---- |
| v8 | 3.3 Configure Data Access Control Lists<br>Configure data access control lists based on a user's need to know. Apply data access control lists, also known as access permissions, to local and remote file systems, databases, and applications. | | ● | ● |
| v7 | 14.6 Protect Information through Access Control Lists<br>Protect all information stored on systems with file system, network share, claims, application, or database specific access control lists. | ● | ● | ● |
## Profile Applicability
- Level 1 - Master Node
## Assessment Status
Automated
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!