| name | cis-k8s-v1120-4.1.3 |
| description | If proxy kubeconfig file exists ensure permissions are set to 600 or more restrictive (Manual) |
| category | cis-k8s |
| version | 1.12.0 |
| author | cyberstrike-official |
| tags | ["cis","kubernetes","worker-nodes","worker-node-config","file-permissions"] |
| cis_id | 4.1.3 |
| 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.3
Description
If kube-proxy is running, and if it is using a file-based kubeconfig file, ensure that the proxy kubeconfig file has permissions of 600 or more restrictive.
Rationale
The kube-proxy kubeconfig file controls various parameters of the kube-proxy 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.
It is possible to run kube-proxy with the kubeconfig parameters configured as a Kubernetes ConfigMap instead of a file. In this case, there is no proxy kubeconfig file.
Impact
None
Audit Procedure
Step 1: Find the kubeconfig file being used by kube-proxy
ps -ef | grep kube-proxy
If kube-proxy is running, get the kubeconfig file location from the --kubeconfig parameter.
Step 2: Verify file permissions
Run the below command (based on the file location on your system) on the each worker node. For example,
stat -c %a <path><filename>
Verify that a file is specified and it exists with 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,
chmod 600 <proxy kubeconfig file>
Default Value
By default, proxy file has permissions of 640.
References
- https://kubernetes.io/docs/admin/kube-proxy/
CIS Controls
| Controls Version | Control | IG 1 | IG 2 | IG 3 |
|---|
| v8 | 3.3 Configure Data Access Control Lists 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 ListsProtect all information stored on systems with file system, network share, claims, application, or database specific access control lists. |