Skip to content

Kubernetes Security Technical Implementation Guide

Rules, Groups, and Values defined within the XCCDF Benchmark

  • The Kubernetes Kube Proxy kubeconfig must be owned by root.

    The Kubernetes Kube Proxy kubeconfig contain the argument and setting for the Control Planes. These settings contain network rules for restricting network communication between pods, clusters, and ...
    Rule Medium Severity
  • SRG-APP-000516-CTR-001325

    Group
  • SRG-APP-000219-CTR-000550

    Group
  • Kubernetes Controller Manager must have the SSL Certificate Authority set.

    The Kubernetes Controller Manager is responsible for creating service accounts and tokens for the API Server, maintaining the correct number of pods for every replication controller and provides no...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    Group
  • Kubernetes API Server must have a certificate for communication.

    Kubernetes control plane and external communication is managed by API Server. The main implementation of the API Server is to manage hardware resources for pods and container using horizontal or ve...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    Group
  • 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
  • SRG-APP-000219-CTR-000550

    Group
  • The Kubernetes kubeadm.conf must have file permissions set to 644 or more restrictive.

    The Kubernetes kubeadm.conf contains sensitive information regarding the cluster nodes configuration. If this file can be modified, the Kubernetes Platform Plane would be degraded or compromised fo...
    Rule Medium Severity
  • SRG-APP-000516-CTR-001330

    Group
  • SRG-APP-000219-CTR-000550

    Group
  • Kubernetes Kubelet must enable tlsCertFile 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
  • SRG-APP-000219-CTR-000550

    Group
  • SRG-APP-000219-CTR-000550

    Group
  • Kubernetes etcd must have a key file 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
  • SRG-APP-000219-CTR-000550

    Group
  • SRG-APP-000219-CTR-000550

    Group
  • Kubernetes etcd must have the SSL Certificate Authority set.

    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
  • SRG-APP-000219-CTR-000550

    Group
  • 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 the Kubernetes cluster. Even just reading th...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    Group
  • Kubernetes etcd must have a key file 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 a Kubernetes cluster. Even just reading the ...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    Group
  • The Kubernetes Kube Proxy kubeconfig must have file permissions set to 644 or more restrictive.

    The Kubernetes Kube Proxy kubeconfig contain the argument and setting for the Control Planes. These settings contain network rules for restricting network communication between pods, clusters, and ...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    Group
  • Kubernetes etcd must have a peer-key-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 a Kubernetes cluster. Even just reading the ...
    Rule Medium Severity
  • SRG-APP-000233-CTR-000585

    Group
  • Kubernetes Kubelet must enable kernel protection.

    System kernel is responsible for memory, disk, and task management. The kernel provides a gateway between the system hardware and software. Kubernetes requires kernel access to allocate resources t...
    Rule High Severity
  • SRG-APP-000342-CTR-000775

    Group
  • The Kubernetes API server must have the ValidatingAdmissionWebhook enabled.

    Enabling the admissions webhook allows for Kubernetes to apply policies against objects that are to be created, read, updated, or deleted. By applying a pod security policy, control can be given to...
    Rule High Severity
  • SRG-APP-000342-CTR-000775

    Group
  • Kubernetes must have a pod security policy set.

    Enabling the admissions webhook allows for Kubernetes to apply policies against objects that are to be created, read, updated, or deleted. By applying a pod security policy, control can be given to...
    Rule High Severity
  • SRG-APP-000435-CTR-001070

    Group
  • SRG-APP-000516-CTR-001325

    Group
  • SRG-APP-000454-CTR-001110

    Group
  • Kubernetes must remove old components after updated versions have been installed.

    Previous versions of Kubernetes components that are not removed after updates have been installed may be exploited by adversaries by allowing the vulnerabilities to still exist within the cluster. ...
    Rule Medium Severity
  • SRG-APP-000456-CTR-001125

    Group
  • SRG-APP-000516-CTR-001325

    Group
  • The Kubernetes component manifests must be owned by root.

    The Kubernetes manifests are those files that contain the arguments and settings for the Control Plane services. These services are etcd, the api server, controller, proxy, and scheduler. If these ...
    Rule Medium Severity
  • SRG-APP-000516-CTR-001325

    Group
  • The Kubernetes component etcd must be owned by etcd.

    The Kubernetes etcd key-value store provides a way to store data to the Control Plane. If these files can be changed, data to API object and the Control Plane would be compromised. The scheduler wi...
    Rule Medium Severity
  • SRG-APP-000516-CTR-001325

    Group
  • The Kubernetes conf files must be owned by root.

    The Kubernetes conf files contain the arguments and settings for the Control Plane services. These services are controller and scheduler. If these files can be changed, the scheduler will be implem...
    Rule Medium Severity
  • SRG-APP-000516-CTR-001325

    Group
  • The Kubernetes kubelet config must have file permissions set to 644 or more restrictive.

    The Kubernetes kubelet agent registers nodes with the API server and performs health checks to containers within pods. If this file can be modified, the information system would be unaware of pod o...
    Rule Medium Severity
  • SRG-APP-000516-CTR-001330

    Group
  • The Kubernetes kubelet config must be owned by root.

    The Kubernetes kubelet agent registers nodes with the API Server and performs health checks to containers within pods. If this file can be modified, the information system would be unaware of pod o...
    Rule Medium Severity
  • SRG-APP-000516-CTR-001335

    Group
  • SRG-APP-000516-CTR-001325

    Group

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.

Capacity
Modules