Skip to content

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
  • Kubernetes API Server audit logs must be enabled.

    Kubernetes API Server validates and configures pods and services for the API object. The REST operation provides frontend functionality to the cluster share state. Enabling audit logs provides a wa...
    Rule Medium Severity
  • Kubernetes must have a Pod Security Admission control file configured.

    An admission controller intercepts and processes requests to the Kubernetes API prior to persistence of the object, but after the request is authenticated and authorized. Kubernetes (> v1.23)offer...
    Rule High Severity
  • The Kubernetes etcd must have file permissions set to 644 or more restrictive.

    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 Control Plane would be compromised.
    Rule Medium Severity
  • SRG-APP-000516-CTR-001335

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

    The Kubernetes admin kubeconfig 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 wi...
    Rule Medium Severity
  • SRG-APP-000516-CTR-001335

    Group
  • SRG-APP-000190-CTR-000500

    Group
  • SRG-APP-000014-CTR-000035

    Group
  • The Kubernetes Scheduler must use TLS 1.2, at a minimum, to protect the confidentiality of sensitive data during electronic dissemination.

    The Kubernetes Scheduler 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 Ku...
    Rule Medium Severity
  • SRG-APP-000014-CTR-000040

    Group
  • The Kubernetes API Server must use TLS 1.2, at a minimum, 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
  • SRG-APP-000014-CTR-000035

    Group
  • The Kubernetes etcd must enforce ports, protocols, and services (PPS) that adhere to the Ports, Protocols, and Services Management Category Assurance List (PPSM CAL).

    Kubernetes etcd PPS must be controlled and conform to the PPSM CAL. Those PPS that fall outside the PPSM CAL must be blocked. Instructions on the PPSM can be found in DoD Instruction 8551.01 Policy.
    Rule Medium Severity
  • The Kubernetes Scheduler must enforce ports, protocols, and services (PPS) that adhere to the Ports, Protocols, and Services Management Category Assurance List (PPSM CAL).

    Kubernetes Scheduler PPS must be controlled and conform to the PPSM CAL. Those ports, protocols, and services that fall outside the PPSM CAL must be blocked. Instructions on the PPSM can be found i...
    Rule Medium Severity
  • The Kubernetes etcd must use TLS to protect the confidentiality of sensitive data during electronic dissemination.

    Kubernetes etcd 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 Kubernetes ...
    Rule Medium Severity
  • SRG-APP-000014-CTR-000035

    Group
  • SRG-APP-000142-CTR-000330

    Group
  • SRG-APP-000142-CTR-000330

    Group
  • SRG-APP-000023-CTR-000055

    Group
  • The Kubernetes Controller Manager must create unique service accounts for each work payload.

    The Kubernetes Controller Manager is a background process that embeds core control loops regulating cluster system state through the API Server. Every process executed in a pod has an associated se...
    Rule High Severity
  • SRG-APP-000033-CTR-000090

    Group
  • The Kubernetes API Server must enable Node,RBAC as the authorization mode.

    To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DOD-approved PKIs, all DOD systems (e.g., networks, web servers, and web porta...
    Rule Medium Severity
  • SRG-APP-000038-CTR-000105

    Group
  • User-managed resources must be created in dedicated namespaces.

    Creating namespaces for user-managed resources is important when implementing Role-Based Access Controls (RBAC). RBAC allows for the authorization of users and helps support proper API server permi...
    Rule High Severity
  • SRG-APP-000033-CTR-000090

    Group
  • The Kubernetes Scheduler 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 Sc...
    Rule Medium Severity
  • SRG-APP-000033-CTR-000090

    Group
  • The Kubernetes Controllers must enforce ports, protocols, and services (PPS) that adhere to the Ports, Protocols, and Services Management Category Assurance List (PPSM CAL).

    Kubernetes Controller ports, protocols, and services must be controlled and conform to the PPSM CAL. Those PPS that fall outside the PPSM CAL must be blocked. Instructions on the PPSM can be found ...
    Rule Medium Severity
  • SRG-APP-000033-CTR-000095

    Group
  • The Kubernetes API server must have the insecure port flag disabled.

    By default, the API server will listen on two ports. One port is the secure port and the other port is called the "localhost port". This port is also called the "insecure port", port 8080. Any requ...
    Rule High Severity

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