| name | cis-ocp-v160-1.1.4 |
| description | Ensure that the controller manager pod specification file ownership is set to root:root (Manual) |
| category | cis-openshift |
| version | 1.6.0 |
| author | cyberstrike-official |
| tags | ["cis","openshift","kubernetes","redhat","control-plane","master-node-config-files","controller-manager","file-ownership"] |
| cis_id | 1.1.4 |
| cis_benchmark | CIS Red Hat OpenShift Container Platform Benchmark v1.6.0 |
| tech_stack | ["kubernetes","openshift","redhat"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
CIS Red Hat OpenShift Container Platform Benchmark v1.6.0 - Control 1.1.4
Profile Applicability
Description
Ensure that the controller manager pod specification file ownership is set to root:root.
Rationale
The controller manager pod specification file controls various parameters that set the behavior of various components of the master node. You should set its file ownership to maintain the integrity of the file. The file should be owned by root:root.
Impact
None
Audit Procedure
OpenShift 4 deploys two controller managers: the OpenShift Controller manager and the Kube Controller manager.
The OpenShift Controller manager is managed as a deployment. The pod specification yaml for openshift-controller-manager is stored in etcd.
The Kube Controller manager is managed as a static pod. The pod specification file for the openshift-kube-controller-manager is created on control plane nodes at /etc/kubernetes/manifests/kube-controller-manager-pod.yaml. It is mounted via hostpath to the kube-controller-manager pods via /etc/kubernetes/static-pod-resources/kube-controller-manager-pod.yaml with ownership root:root.
Run the following command.
for i in $( oc get pods -n openshift-kube-controller-manager -o name -l app=kube-controller-manager)
do
oc exec -n openshift-kube-controller-manager $i -- \
stat -c %U:%G /etc/kubernetes/static-pod-resources/kube-controller-manager-pod.yaml
done
Verify that the ownership is set to root:root.
Remediation
No remediation required; file permissions are managed by the operator.
Default Value
By default, in OpenShift 4, the kube-controller-manager-pod.yaml file ownership is set to root:root.
References
- https://docs.openshift.com/container-platform/latest/architecture/control-plane.html#defining-masters_control-plane
- https://docs.openshift.com/container-platform/latest/operators/operator-reference.html#cluster-openshift-controller-manager-operator_red-hat-operators