Finding ID |
Severity |
Title |
Description |
V-254573
|
High |
Rancher RKE2 keystore must implement encryption to prevent unauthorized disclosure of information at rest within Rancher RKE2. |
Encrypting secrets at rest in etcd.
By default, RKE2 will create an encryption key and configuration file and pass these to the Kubernetes API server. The result is that RKE2 automatically encrypts Kubernetes Secret objects when writing them to etcd. |
V-254562
|
High |
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 authenticated and authorized. By allowing anonymous connections, the controls put in place to secure the API can... |
V-254561
|
High |
The Kubernetes kubelet must enable explicit authorization. |
Kubelet is the primary agent on each node. The API server communicates with each kubelet to perform tasks such as starting/stopping pods. By default, kubelets allow all authenticated requests, even anonymous ones, without requiring any authorization checks from the API server. This default behavior bypasses any authorization controls put in... |
V-254560
|
High |
The Kubernetes API server must have the insecure bind address not set. |
By default, the API server will listen on two ports and addresses. One address is the secure address and the other address is called the "insecure bind" address and is set by default to localhost. Any requests to this address bypass authentication and authorization checks. If this insecure bind address... |
V-254559
|
High |
The Kubernetes Kubelet must have the read-only port flag disabled. |
Kubelet serves a small REST API with read access to port 10255. The read-only port for Kubernetes provides no authentication or authorization security control. Providing unrestricted access on port 10255 exposes Kubernetes pods and containers to malicious attacks or compromise. Port 10255 is deprecated and should be disabled.
Close the... |
V-254558
|
High |
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 requests to this port bypass authentication and authorization checks. If this port is left... |
V-254553
|
High |
Rancher RKE2 must protect authenticity of communications sessions with the use of FIPS-validated 140-2 or 140-3 security requirements for cryptographic modules. |
Use strong TLS settings.
RKE2 uses FIPS validated BoringCrypto modules. RKE2 Server can prohibit the use of SSL and unauthorized versions of TLS protocols to properly secure communication. There is a lot of traffic between RKE2 nodes to deploy, update, and delete resources so it is important to set strong... |
V-268321
|
Medium |
Rancher RKE2 must be built from verified packages. |
Only RKE2 images that have been properly signed by Rancher Government's authorized key will be deployed to ensure the cluster's security and compliance with organizational policies. |
V-254575
|
Medium |
Rancher RKE2 registry must contain the latest images with most recent updates and execute within Rancher RKE2 runtime as authorized by IAVM, CTOs, DTMs, and STIGs. |
Software supporting RKE2, images in the registry must stay up to date with the latest patches, service packs, and hot fixes. Not updating RKE2 and container images will expose the organization to vulnerabilities.
Flaws discovered during security assessments, continuous monitoring, incident response activities, or information system error handling must also... |
V-254574
|
Medium |
Rancher RKE2 must remove old components after updated versions have been installed. |
Previous versions of Rancher RKE2 components that are not removed after updates have been installed may be exploited by adversaries by causing older components to execute which contain vulnerabilities. When these components are deleted, the likelihood of this happening is removed. |
V-254572
|
Medium |
Rancher RKE2 must prohibit the installation of patches, updates, and instantiation of container images without explicit privileged status. |
Controlling access to those users and roles responsible for patching and updating RKE2 reduces the risk of untested or potentially malicious software from being installed within the platform. This access may be separate from the access required to install container images into the registry and those access requirements required to... |
V-254571
|
Medium |
Rancher RKE2 must prevent nonprivileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures. |
Admission controllers intercept requests to the Kubernetes API before an object is instantiated. Enabling the admissions webhook allows for Kubernetes to apply policies against objects that are to be created, read, updated or deleted.
Admissions controllers can be used for:
- Prevent pod’s ability to run privileged containers
- Prevent... |
V-254570
|
Medium |
Rancher RKE2 runtime must maintain separate execution domains for each container by assigning each container a separate address space to prevent unauthorized and unintended information transfer via shared system resources. |
Separating user functionality from management functionality is a requirement for all the components within the Kubernetes Control Plane. Without the separation, users may have access to management functions that can degrade the Kubernetes architecture and the services being offered, and can offer a method to bypass testing and validation of... |
V-254569
|
Medium |
Rancher RKE2 runtime must isolate security functions from nonsecurity functions. |
RKE2 runs as isolated as possible.
RKE2 is a container-based Kubernetes distribution. A container image is essentially a complete and executable version of an application, which relies only on the host's OS kernel. Running containers use resource isolation features in the OS kernel, such as cgroups in Linux, to run... |
V-254568
|
Medium |
Rancher RKE2 must terminate all network connections associated with a communications session at the end of the session, or as follows: for in-band management sessions (privileged sessions), the session must be terminated after five minutes of inactivity. |
Terminating an idle session within a short time period reduces the window of opportunity for unauthorized personnel to take control of a management session enabled on the console or console port that has been left unattended. In addition, quickly terminating an idle session will also free up resources committed by... |
V-254567
|
Medium |
Rancher RKE2 must store only cryptographic representations of passwords. |
Secrets, such as passwords, keys, tokens, and certificates should not be stored as environment variables. These environment variables are accessible inside RKE2 by the "Get Pod" API call, and by any system, such as CI/CD pipeline, which has access to the definition file of the container. Secrets must be mounted... |
V-254566
|
Medium |
Rancher RKE2 runtime must enforce ports, protocols, and services that adhere to the PPSM CAL. |
Ports, protocols, and services within the RKE2 runtime must be controlled and conform to the PPSM CAL. Those ports, protocols, and services that fall outside the PPSM CAL must be blocked by the runtime. Instructions on the PPSM can be found in DOD Instruction 8551.01 Policy.
RKE2 sets most ports... |
V-254565
|
Medium |
Rancher RKE2 must be configured with only essential configurations. |
It is important to disable any unnecessary components to reduce any potential attack surfaces.
RKE2 allows disabling the following components:
- rke2-canal
- rke2-coredns
- rke2-ingress-nginx
- rke2-kube-proxy
- rke2-metrics-server
If utilizing any of these components presents a security risk, or if any of the components are not required then... |
V-254564
|
Medium |
Configuration and authentication files for Rancher RKE2 must be protected. |
There are various configuration files, logs, access credentials, and other files stored on the host filesystem that contain sensitive information.
These files could potentially put at risk, along with other specific workloads and components:
- API server.
- proxy.
- scheduler.
- controller.
- etcd.
- Kubernetes administrator account information.... |
V-254563
|
Medium |
All audit records must identify any containers associated with the event within Rancher RKE2. |
Ensure that the --audit-log-maxage argument is set to 30 or as appropriate.
Retaining logs for at least 30 days ensures that you can go back in time and investigate or correlate any events. Set your audit log retention period to 30 days or as per your business requirements.
Result: Pass |
V-254557
|
Medium |
The Kubernetes Kubelet must have anonymous authentication disabled. |
RKE2 registry is used to store images and is the keeper of truth for trusted images within the platform. To guarantee the images' integrity, access to the registry must be limited to those individuals who need to perform tasks to the images such as the update, creation, or deletion. Without... |
V-254556
|
Medium |
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 Controller Manager API service exposes port 10252/TCP by default for health and metrics information use. This port does not encrypt or authenticate connections.... |
V-254555
|
Medium |
Rancher RKE2 components must be configured in accordance with the security configuration settings based on DOD security configuration or implementation guidance, including SRGs, STIGs, NSA configuration guides, CTOs, and DTMs. |
Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of re-establishing access. One way to accomplish this is for the attacker to modify an existing account. Auditing of account creation is one method for mitigating this risk. A comprehensive account management process... |
V-254554
|
Medium |
RKE2 must use a centralized user management solution to support account management functions. |
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 service account. By default, service accounts use the same credentials for authentication. Implementing the default settings poses a high risk... |