Kubernetes Security Technical Implementation Guide
Rules, Groups, and Values defined within the XCCDF Benchmark
-
SRG-APP-000014-CTR-000035
Group -
The Kubernetes Controller Manager must use TLS 1.2, at a minimum, to protect the confidentiality of sensitive data during electronic dissemination.
The Kubernetes Controller Manager will prohibit the use of SSL and unauthorized versions of TLS protocols to properly secure communication. The use of unsupported protocol exposes vulnerabilities ...Rule Medium Severity -
The Kubernetes etcd must use TLS to protect the confidentiality of sensitive data during electronic dissemination.
The Kubernetes API Server will prohibit the use of SSL and unauthorized versions of TLS protocols to properly secure communication. The use of unsupported protocol exposes vulnerabilities to the K...Rule Medium Severity -
The Kubernetes Controller Manager must have secure binding.
Limiting the number of attack vectors and implementing authentication and encryption on the endpoints available to external sources is paramount when securing the overall Kubernetes cluster. The Co...Rule Medium Severity -
The Kubernetes API server must have anonymous authentication disabled.
The Kubernetes API Server controls Kubernetes via an API interface. A user who has access to the API essentially has root access to the entire Kubernetes cluster. To control access, users must be a...Rule High Severity -
Kubernetes Kubectl cp command must give expected access and results.
One of the tools heavily used to interact with containers in the Kubernetes cluster is kubectl. The command is the tool System Administrators used to create, modify, and delete resources. One of th...Rule Medium Severity -
Kubernetes DynamicAuditing must not be enabled.
Protecting the audit data from change or deletion is important when an attack occurs. One way an attacker can cover their tracks is to change or delete audit records. This will either make the atta...Rule Medium Severity -
Kubernetes API Server must generate audit records that identify what type of event has occurred, identify the source of the event, contain the event results, identify any users, and identify any containers associated with the event.
Within Kubernetes, audit data for all components is generated by the API server. This audit data is important when there are issues, to include security incidents that must be investigated. To make...Rule Medium Severity -
The Kubernetes manifests must be owned by root.
The manifest files contain the runtime configuration of the API server, proxy, scheduler, controller, and etcd. If an attacker can gain access to these files, changes can be made to open vulnerabil...Rule Medium Severity -
The Kubernetes manifest files must have least privileges.
The manifest files contain the runtime configuration of the API server, scheduler, controller, and etcd. If an attacker can gain access to these files, changes can be made to open vulnerabilities a...Rule Medium Severity -
The Kubernetes cluster must use non-privileged host ports for user pods.
Privileged ports are those ports below 1024 and that require system privileges for their use. If containers can use these ports, the container must be run as a privileged user. Kubernetes must stop...Rule Medium Severity -
Kubernetes API Server must have the SSL Certificate Authority set.
Kubernetes control plane and external communication are managed by API Server. The main implementation of the API Server is to manage hardware resources for pods and containers using horizontal or ...Rule Medium Severity -
Kubernetes Kubelet must have the SSL Certificate Authority set.
Kubernetes container and pod configuration are maintained by Kubelet. Kubelet agents register nodes with the API Server, mount volume storage, and perform health checks for containers and pods. Any...Rule Medium Severity -
Kubernetes Kubelet must enable tlsPrivateKeyFile for client authentication to secure service.
Kubernetes container and pod configuration are maintained by Kubelet. Kubelet agents register nodes with the API Server, mount volume storage, and perform health checks for containers and pods. Any...Rule Medium Severity -
Kubernetes etcd must enable client authentication to secure service.
Kubernetes container and pod configuration are maintained by Kubelet. Kubelet agents register nodes with the API Server, mount volume storage, and perform health checks for containers and pods. Any...Rule Medium Severity -
Kubernetes etcd must have a certificate for communication.
Kubernetes stores configuration and state information in a distributed key-value store called etcd. Anyone who can write to etcd can effectively control a Kubernetes cluster. Even just reading the ...Rule Medium Severity -
Kubernetes etcd must have peer-cert-file set for secure communication.
Kubernetes stores configuration and state information in a distributed key-value store called etcd. Anyone who can write to etcd can effectively control the Kubernetes cluster. Even just reading th...Rule Medium Severity -
Kubernetes API Server must configure timeouts to limit attack surface.
Kubernetes API Server request timeouts sets the duration a request stays open before timing out. Since the API Server is the central component in the Kubernetes Control Plane, it is vital to protec...Rule Medium Severity -
Kubernetes must contain the latest updates as authorized by IAVMs, CTOs, DTMs, and STIGs.
Kubernetes software must stay up to date with the latest patches, service packs, and hot fixes. Not updating the Kubernetes control plane will expose the organization to vulnerabilities. Flaws dis...Rule Medium Severity -
The Kubernetes Kubelet certificate authority file must have file permissions set to 644 or more restrictive.
The Kubernetes kubelet certificate authority file contains settings for the Kubernetes Node TLS certificate authority. Any request presenting a client certificate signed by one of the authorities i...Rule Medium Severity
Node 2
The content of the drawer really is up to you. It could have form fields, definition lists, text lists, labels, charts, progress bars, etc. Spacing recommendation is 24px margins. You can put tabs in here, and can also make the drawer scrollable.