Kubernetes Security Technical Implementation Guide
Rules, Groups, and Values defined within the XCCDF Benchmark
-
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.
<VulnDiscussion>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.
<VulnDiscussion>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 use TLS to protect the confidentiality of sensitive data during electronic dissemination.
<VulnDiscussion>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 -
The Kubernetes etcd must use TLS to protect the confidentiality of sensitive data during electronic dissemination.
<VulnDiscussion>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.
<VulnDiscussion>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.
<VulnDiscussion>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.
<VulnDiscussion>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.
<VulnDiscussion>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 Controller Manager must have secure binding.
<VulnDiscussion>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.
<VulnDiscussion>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.
<VulnDiscussion>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.
<VulnDiscussion>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.
<VulnDiscussion>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 -
The Kubernetes API server must have anonymous authentication disabled.
<VulnDiscussion>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.
<VulnDiscussion>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.
<VulnDiscussion>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.
<VulnDiscussion>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.
<VulnDiscussion>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 -
Kubernetes dashboard must not be enabled.
<VulnDiscussion>While the Kubernetes dashboard is not inherently insecure on its own, it is often coupled with a misconfiguration of Role-Bas...Rule Medium Severity -
SRG-APP-000033-CTR-000090
<GroupDescription></GroupDescription>Group -
Kubernetes Kubectl cp command must give expected access and results.
<VulnDiscussion>One of the tools heavily used to interact with containers in the Kubernetes cluster is kubectl. The command is the tool Syste...Rule Medium Severity -
SRG-APP-000033-CTR-000090
<GroupDescription></GroupDescription>Group -
The Kubernetes kubelet staticPodPath must not enable static pods.
<VulnDiscussion>Allowing kubelet to set a staticPodPath gives containers with root access permissions to traverse the hosting filesystem. The...Rule High Severity -
SRG-APP-000033-CTR-000100
<GroupDescription></GroupDescription>Group -
Kubernetes DynamicAuditing must not be enabled.
<VulnDiscussion>Protecting the audit data from change or deletion is important when an attack occurs. One way an attacker can cover their tra...Rule Medium Severity -
SRG-APP-000033-CTR-000095
<GroupDescription></GroupDescription>Group -
Kubernetes DynamicKubeletConfig must not be enabled.
<VulnDiscussion>Kubernetes allows a user to configure kubelets with dynamic configurations. When dynamic configuration is used, the kubelet w...Rule Medium Severity -
SRG-APP-000033-CTR-000090
<GroupDescription></GroupDescription>Group -
The Kubernetes API server must have Alpha APIs disabled.
<VulnDiscussion>Kubernetes allows alpha API calls within the API server. The alpha features are disabled by default since they are not ready ...Rule Medium Severity -
SRG-APP-000092-CTR-000165
<GroupDescription></GroupDescription>Group -
The Kubernetes API Server must have an audit log path set.
<VulnDiscussion>When Kubernetes is started, components and user services are started for auditing startup events, and events for components a...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.