Skip to content

Kubernetes Security Technical Implementation Guide

Rules, Groups, and Values defined within the XCCDF Benchmark

  • SRG-APP-000026-CTR-000070

    <GroupDescription></GroupDescription>
    Group
  • 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.

    &lt;VulnDiscussion&gt;Within Kubernetes, audit data for all components is generated by the API server. This audit data is important when there are ...
    Rule Medium Severity
  • SRG-APP-000133-CTR-000290

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes Kubelet must deny hostname override.

    &lt;VulnDiscussion&gt;Kubernetes allows for the overriding of hostnames. Allowing this feature to be implemented within the kubelets may break the ...
    Rule Medium Severity
  • SRG-APP-000133-CTR-000295

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes manifests must be owned by root.

    &lt;VulnDiscussion&gt;The manifest files contain the runtime configuration of the API server, proxy, scheduler, controller, and etcd. If an attacke...
    Rule Medium Severity
  • SRG-APP-000133-CTR-000300

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes KubeletConfiguration file must be owned by root.

    &lt;VulnDiscussion&gt;The kubelet configuration file contains the runtime configuration of the kubelet service. If an attacker can gain access to t...
    Rule Medium Severity
  • SRG-APP-000133-CTR-000305

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes KubeletConfiguration files must have file permissions set to 644 or more restrictive.

    &lt;VulnDiscussion&gt;The kubelet configuration file contains the runtime configuration of the kubelet service. If an attacker can gain access to t...
    Rule Medium Severity
  • SRG-APP-000133-CTR-000310

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes manifest files must have least privileges.

    &lt;VulnDiscussion&gt;The manifest files contain the runtime configuration of the API server, scheduler, controller, and etcd. If an attacker can g...
    Rule Medium Severity
  • SRG-APP-000141-CTR-000315

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes Controller Manager must disable profiling.

    &lt;VulnDiscussion&gt;Kubernetes profiling provides the ability to analyze and troubleshoot Controller Manager events over a web interface on a hos...
    Rule Medium Severity
  • SRG-APP-000142-CTR-000325

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

    &lt;VulnDiscussion&gt;Kubernetes API Server PPSs must be controlled and conform to the PPSM CAL. Those PPS that fall outside the PPSM CAL must be b...
    Rule Medium Severity
  • SRG-APP-000142-CTR-000325

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

    &lt;VulnDiscussion&gt;Kubernetes Scheduler PPS must be controlled and conform to the PPSM CAL. Those ports, protocols, and services that fall outsi...
    Rule Medium Severity
  • SRG-APP-000142-CTR-000330

    <GroupDescription></GroupDescription>
    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).

    &lt;VulnDiscussion&gt;Kubernetes Controller ports, protocols, and services must be controlled and conform to the PPSM CAL. Those PPS that fall outs...
    Rule Medium Severity
  • SRG-APP-000142-CTR-000325

    <GroupDescription></GroupDescription>
    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).

    &lt;VulnDiscussion&gt;Kubernetes etcd PPS must be controlled and conform to the PPSM CAL. Those PPS that fall outside the PPSM CAL must be blocked....
    Rule Medium Severity
  • SRG-APP-000142-CTR-000330

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes cluster must use non-privileged host ports for user pods.

    &lt;VulnDiscussion&gt;Privileged ports are those ports below 1024 and that require system privileges for their use. If containers can use these por...
    Rule Medium Severity
  • SRG-APP-000171-CTR-000435

    <GroupDescription></GroupDescription>
    Group
  • Secrets in Kubernetes must not be stored as environment variables.

    &lt;VulnDiscussion&gt;Secrets, such as passwords, keys, tokens, and certificates should not be stored as environment variables. These environment v...
    Rule High Severity
  • SRG-APP-000211-CTR-000530

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes must separate user functionality.

    &lt;VulnDiscussion&gt;Separating user functionality from management functionality is a requirement for all the components within the Kubernetes Con...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes API server must use approved cipher suites.

    &lt;VulnDiscussion&gt;The Kubernetes API server communicates to the kubelet service on the nodes to deploy, update, and delete resources. If an att...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes API Server must have the SSL Certificate Authority set.

    &lt;VulnDiscussion&gt;Kubernetes control plane and external communication are managed by API Server. The main implementation of the API Server is t...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes Kubelet must have the SSL Certificate Authority set.

    &lt;VulnDiscussion&gt;Kubernetes container and pod configuration are maintained by Kubelet. Kubelet agents register nodes with the API Server, moun...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes Controller Manager must have the SSL Certificate Authority set.

    &lt;VulnDiscussion&gt;The Kubernetes Controller Manager is responsible for creating service accounts and tokens for the API Server, maintaining the...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes API Server must have a certificate for communication.

    &lt;VulnDiscussion&gt;Kubernetes control plane and external communication is managed by API Server. The main implementation of the API Server is to...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes etcd must enable client authentication to secure service.

    &lt;VulnDiscussion&gt;Kubernetes container and pod configuration are maintained by Kubelet. Kubelet agents register nodes with the API Server, moun...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes Kubelet must enable tlsPrivateKeyFile for client authentication to secure service.

    &lt;VulnDiscussion&gt;Kubernetes container and pod configuration are maintained by Kubelet. Kubelet agents register nodes with the API Server, moun...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes Kubelet must enable tlsCertFile for client authentication to secure service.

    &lt;VulnDiscussion&gt;Kubernetes container and pod configuration are maintained by Kubelet. Kubelet agents register nodes with the API Server, moun...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes etcd must enable client authentication to secure service.

    &lt;VulnDiscussion&gt;Kubernetes container and pod configuration are maintained by Kubelet. Kubelet agents register nodes with the API Server, moun...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes etcd must have a key file for secure communication.

    &lt;VulnDiscussion&gt;Kubernetes stores configuration and state information in a distributed key-value store called etcd. Anyone who can write to e...
    Rule Medium Severity
  • SRG-APP-000219-CTR-000550

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes etcd must have a certificate for communication.

    &lt;VulnDiscussion&gt;Kubernetes stores configuration and state information in a distributed key-value store called etcd. Anyone who can write to e...
    Rule Medium 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