Skip to content

Kubernetes Security Technical Implementation Guide

Rules, Groups, and Values defined within the XCCDF Benchmark

  • The Kubernetes etcd must have file permissions set to 644 or more restrictive.

    <VulnDiscussion>The Kubernetes etcd key-value store provides a way to store data to the Control Plane. If these files can be changed, data to...
    Rule Medium Severity
  • SRG-APP-000516-CTR-001335

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

    &lt;VulnDiscussion&gt;The Kubernetes admin kubeconfig files contain the arguments and settings for the Control Plane services. These services are c...
    Rule Medium Severity
  • SRG-APP-000516-CTR-001335

    <GroupDescription></GroupDescription>
    Group
  • SRG-APP-000190-CTR-000500

    <GroupDescription></GroupDescription>
    Group
  • SRG-APP-000014-CTR-000035

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

    &lt;VulnDiscussion&gt;The Kubernetes Scheduler will prohibit the use of SSL and unauthorized versions of TLS protocols to properly secure communica...
    Rule Medium Severity
  • SRG-APP-000014-CTR-000040

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes API Server must use TLS 1.2, at a minimum, to protect the confidentiality of sensitive data during electronic dissemination.

    &lt;VulnDiscussion&gt;The Kubernetes API Server will prohibit the use of SSL and unauthorized versions of TLS protocols to properly secure communic...
    Rule Medium Severity
  • SRG-APP-000014-CTR-000035

    <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
  • 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
  • The Kubernetes etcd must use TLS to protect the confidentiality of sensitive data during electronic dissemination.

    &lt;VulnDiscussion&gt;Kubernetes etcd will prohibit the use of SSL and unauthorized versions of TLS protocols to properly secure communication. Th...
    Rule Medium Severity
  • SRG-APP-000014-CTR-000035

    <GroupDescription></GroupDescription>
    Group
  • SRG-APP-000142-CTR-000330

    <GroupDescription></GroupDescription>
    Group
  • SRG-APP-000142-CTR-000330

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes etcd must use TLS to protect the confidentiality of sensitive data during electronic dissemination.

    &lt;VulnDiscussion&gt;The Kubernetes API Server will prohibit the use of SSL and unauthorized versions of TLS protocols to properly secure communic...
    Rule Medium Severity
  • SRG-APP-000023-CTR-000055

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

    &lt;VulnDiscussion&gt;The Kubernetes Controller Manager is a background process that embeds core control loops regulating cluster system state thro...
    Rule High Severity
  • SRG-APP-000033-CTR-000090

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

    &lt;VulnDiscussion&gt;To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DOD-ap...
    Rule Medium Severity
  • SRG-APP-000038-CTR-000105

    <GroupDescription></GroupDescription>
    Group
  • User-managed resources must be created in dedicated namespaces.

    &lt;VulnDiscussion&gt;Creating namespaces for user-managed resources is important when implementing Role-Based Access Controls (RBAC). RBAC allows ...
    Rule High Severity
  • SRG-APP-000033-CTR-000090

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes Scheduler must have secure binding.

    &lt;VulnDiscussion&gt;Limiting the number of attack vectors and implementing authentication and encryption on the endpoints available to external s...
    Rule Medium Severity
  • SRG-APP-000033-CTR-000090

    <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
  • The Kubernetes Controller Manager must have secure binding.

    &lt;VulnDiscussion&gt;Limiting the number of attack vectors and implementing authentication and encryption on the endpoints available to external s...
    Rule Medium Severity
  • SRG-APP-000033-CTR-000095

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes API server must have the insecure port flag disabled.

    &lt;VulnDiscussion&gt;By default, the API server will listen on two ports. One port is the secure port and the other port is called the "localhost ...
    Rule High Severity
  • SRG-APP-000033-CTR-000095

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes Kubelet must have the "readOnlyPort" flag disabled.

    &lt;VulnDiscussion&gt;Kubelet serves a small REST API with read access to port 10255. The read-only port for Kubernetes provides no authentication ...
    Rule High Severity
  • SRG-APP-000033-CTR-000095

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes API server must have the insecure bind address not set.

    &lt;VulnDiscussion&gt;By default, the API server will listen on two ports and addresses. One address is the secure address and the other address is...
    Rule High Severity
  • SRG-APP-000033-CTR-000100

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes API server must have the secure port set.

    &lt;VulnDiscussion&gt;By default, the API server will listen on what is rightfully called the secure port, port 6443. Any requests to this port wil...
    Rule Medium Severity
  • SRG-APP-000033-CTR-000100

    <GroupDescription></GroupDescription>
    Group
  • SRG-APP-000142-CTR-000325

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes API Server must have an audit log path set.

    &lt;VulnDiscussion&gt;When Kubernetes is started, components and user services are started for auditing startup events, and events for components a...
    Rule Medium Severity
  • SRG-APP-000026-CTR-000070

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes API server must have anonymous authentication disabled.

    &lt;VulnDiscussion&gt;The Kubernetes API Server controls Kubernetes via an API interface. A user who has access to the API essentially has root acc...
    Rule High Severity
  • SRG-APP-000033-CTR-000090

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes Kubelet must have anonymous authentication disabled.

    &lt;VulnDiscussion&gt;A user who has access to the Kubelet essentially has root access to the nodes contained within the Kubernetes Control Plane. ...
    Rule High Severity
  • SRG-APP-000033-CTR-000095

    <GroupDescription></GroupDescription>
    Group
  • The Kubernetes kubelet must enable explicit authorization.

    &lt;VulnDiscussion&gt;Kubelet is the primary agent on each node. The API server communicates with each kubelet to perform tasks such as starting/st...
    Rule High Severity
  • SRG-APP-000033-CTR-000095

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes Worker Nodes must not have sshd service running.

    &lt;VulnDiscussion&gt;Worker Nodes are maintained and monitored by the Control Plane. Direct access and manipulation of the nodes should not take p...
    Rule Medium Severity
  • SRG-APP-000033-CTR-000095

    <GroupDescription></GroupDescription>
    Group
  • Kubernetes Worker Nodes must not have the sshd service enabled.

    &lt;VulnDiscussion&gt;Worker Nodes are maintained and monitored by the Control Plane. Direct access and manipulation of the nodes must not take pla...
    Rule Medium Severity
  • SRG-APP-000033-CTR-000095

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