Guide to the Secure Configuration of Amazon Elastic Kubernetes Service
Rules, Groups, and Values defined within the XCCDF Benchmark
-
HyperShift Cluster Namespace Prefix
The prefix to use for HyperShift Hosted Clusters Namespace. This value will be used when a non-default namespace naming scheme is used. The default...Value -
Root of files obtained from OCP nodes
When scanning OpenShift clusters, some settings are not exposed as files. In the case that they are exported from the cluster (typically as yaml fi...Value -
Configure Kubelet EvictionHard Image FS Available
Image FS Available for the EvictionHard threshold to trigger.Value -
Configure Kubelet EvictionHard Image FS inodes Free
Image FS inodes Free for the EvictionHard threshold to trigger.Value -
Introduction
The purpose of this guidance is to provide security configuration recommendations and baselines for Amazon Elastic Kubernetes Service. The guide is...Group -
General Principles
The following general principles motivate much of the advice in this guide and should also influence any configuration decisions that are not expli...Group -
Encrypt Transmitted Data Whenever Possible
Data transmitted over a network, whether wired or wireless, is susceptible to passive monitoring. Whenever practical solutions for encrypting such ...Group -
Least Privilege
Grant the least privilege necessary for user accounts and software to perform tasks. For example, <code>sudo</code> can be implemented to limit aut...Group -
Run Different Network Services on Separate Systems
Whenever possible, a server should be dedicated to serving exactly one network service. This limits the number of other services that can be compro...Group -
Configure Security Tools to Improve System Robustness
Several tools exist which can be effectively used to improve a system's resistance to and detection of unknown attacks. These tools can improve rob...Group -
How to Use This Guide
Readers should heed the following points when using the guide.Group -
Formatting Conventions
Commands intended for shell execution, as well as configuration file text, are featured in a <code>monospace font</code>. <i>Italics</i> are used t...Group -
Read Sections Completely and in Order
Each section may build on information and recommendations discussed in prior sections. Each section should be read and understood completely; instr...Group -
Reboot Required
A system or service reboot is implicitly required after some actions in order to complete the reconfiguration of the system. In many cases, the cha...Group -
Root Shell Environment Assumed
Most of the actions listed in this document are written with the assumption that they will be executed by the root user running the <code>/bin/bash...Group -
Test in Non-Production Environment
This guidance should always be tested in a non-production environment before deployment. This test environment should simulate the setup in which t...Group -
Kubernetes Settings
Each section of this configuration guide includes information about the configuration of a Kubernetes cluster and a set of recommendations for hard...Group -
HyperShift Cluster Name
When this parameter is set, we will assume the cluster is a HyperShift cluster, and we will fetch the OCP version api resource for HyperShift clusterValue -
OCP version api path
When scanning OpenShift clusters, not all type of cluster has same api resource path for ocp version, ex. HyperShift OCP version api resource path ...Value -
OCP version yaml path
When scanning OpenShift clusters, not all type of cluster has same api resource path for ocp version, ex. HyperShift OCP version api resource path ...Value -
Kubernetes - Account and Access Control
In traditional Unix security, if an attacker gains shell access to a certain login account, they can perform any action or access any file to which...Group -
Use Dedicated Service Accounts
Kubernetes workloads should not use cluster node service accounts to authenticate to Amazon EKS APIs. Each Kubernetes workload that needs to authen...Rule Unknown Severity -
Authentication
In cloud workloads, there are many ways to create and configure to multiple authentication services. Some of these authentication methods by not be...Group -
OAuth Clients Token Inactivity Timeout
Enter OAuth Clients Token Inactivity Timeout in SecondsValue -
OAuth Token Inactivity Timeout
Enter OAuth Token Inactivity TimeoutValue -
Manage Users with AWS IAM
Amazon EKS uses IAM to provide authentication to your Kubernetes cluster through the AWS IAM Authenticator for Kubernetes. You can configure the st...Rule Unknown Severity -
Kubernetes - General Security Practices
Contains evaluations for general security practices for operating a Kubernetes environment.Group -
Consider Fargate for Untrusted Workloads
It is Best Practice to restrict or fence untrusted workloads when running in a multi-tenant environment.Rule Unknown Severity -
Kubernetes Kubelet Settings
The Kubernetes Kubelet is an agent that runs on each node in the cluster. It makes sure that containers are running in a pod. The kubelet takes a ...Group -
Configure Kubelet Event Limit
Maximum event creations per second.Value -
kubelet - Authorization Options
ABAC - Attribute-Based Access Control (ABAC) mode allows you to configure policies using local files. <br>RBAC - Role-based access control (RBAC) m...Value -
Configure Kubelet EvictionHard Memory Available
Memory Available for the EvictionHard threshold to trigger.Value -
Configure Kubelet EvictionHard NodeFS Available
Node FS Available for the EvictionHard threshold to trigger.Value -
Configure Kubelet EvictionHard Node FS inodes Free
Node FS inodes Free for the EvictionHard threshold to trigger.Value -
Configure Kubelet EvictionSoft Image FS Available
Image FS Available for the EvictionSoft threshold to trigger.Value -
Configure Kubelet EvictionSoft Image FS inodes Free
Image FS inodes Free for the EvictionSoft threshold to trigger.Value -
Configure Kubelet EvictionSoft Memory Available
Memory Available for the EvictionSoft threshold to trigger.Value -
Configure Kubelet EvictionSoft NodeFS Available
Node FS Available for the EvictionSoft threshold to trigger.Value -
Configure Kubelet EvictionSoft Node FS inodes Free
Node FS inodes Free for the EvictionSoft threshold to trigger.Value -
Configure Kubelet use of the Strong Cryptographic Ciphers
Cryptographic Ciphers Available for Kubelet, separated by commaValue -
Configure Kubelet use of the Strong Cryptographic Ciphers
Cryptographic Ciphers Available for KubeletValue -
Configure Kubelet to use secure TLS version
Secure version of TLS available for configuring KubeletValue -
Configure Kubelet to use secure TLS version
TLS versions available for configuring Kubelet, excluding insecure versionsValue -
Configure which node to scan based on role
Configure which node to scan based on roleValue -
Configure which node to scan based on role
Configure which node to scan based on roleValue -
Streaming Connection Timeout Options
Time until connection timeouts. Use (s) for seconds, (m) for minutes, and (h) for hours.Value -
Disable Anonymous Authentication to the Kubelet
By default, anonymous access to the Kubelet server is enabled. This configuration check ensures that anonymous requests to the Kubelet server are d...Rule Medium Severity -
Ensure authorization is set to Webhook
Unauthenticated/unauthorized users should have no access to OpenShift nodes. The Kubelet should be set to only allow Webhook authorization. To ensu...Rule Medium Severity -
kubelet - Configure the Client CA Certificate
By default, the kubelet is not configured with a CA certificate which can subject the kubelet to man-in-the-middle attacks. To configure a client ...Rule Medium Severity -
kubelet - Hostname Override handling
Normally, OpenShift lets the kubelet get the hostname from either the cloud provider itself, or from the node's hostname. This ensures that the PKI...Rule Low 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.