Skip to content

Guide to the Secure Configuration of Amazon Elastic Kubernetes Service

Rules, Groups, and Values defined within the XCCDF Benchmark

  • kubelet - Enable Certificate Rotation

    To enable the kubelet to rotate client certificates, edit the kubelet configuration file <code>/etc/kubernetes/kubelet/kubelet-config.json</code> o...
    Rule Medium Severity
  • kubelet - Enable Client Certificate Rotation

    To enable the kubelet to rotate client certificates, edit the kubelet configuration file <code>/etc/kubernetes/kubelet/kubelet-config.json</code> o...
    Rule Medium Severity
  • kubelet - Enable Protect Kernel Defaults

    Protect tuned kernel parameters from being overwritten by the kubelet.

    Rule Medium Severity
  • kubelet - Do Not Disable Streaming Timeouts

    Timouts for streaming connections should not be disabled as they help to prevent denial-of-service attacks. To configure streaming connection timeo...
    Rule Medium Severity
  • kubelet - Do Not Disable Streaming Timeouts

    Timeouts for streaming connections should not be disabled as they help to prevent denial-of-service attacks. To configure streaming connection time...
    Rule Medium Severity
  • kubelet - Ensure that the --read-only-port is secured

    Disable the read-only port.
    Rule Medium Severity
  • OpenShift - Logging Settings

    Contains evaluations for the cluster's logging configuration settings.
    Group
  • Configure the OpenShift Audit Profile

    Audit log profiles define how to log requests that come to the OpenShift API server, the Kubernetes API server, and the OAuth API server.
    Value
  • Ensure Audit Logging is Enabled

    The audit logs are part of the EKS managed Kubernetes control plane logs that are managed by Amazon EKS. Amazon EKS is integrated with AWS CloudTra...
    Rule Unknown Severity
  • Kubernetes - Network Configuration and Firewalls

    Most systems must be connected to a network of some sort, and this brings with it the substantial risk of network attack. This section discusses th...
    Group
  • Ensure that application Namespaces have Network Policies defined.

    Use network policies to isolate traffic in your cluster network.
    Rule High Severity
  • Ensure Network Policy is Enabled

    Use Network Policy to restrict pod to pod traffic within a cluster and segregate workloads.
    Rule Unknown Severity
  • Encrypt Traffic to Load Balancers and Workloads

    Encrypt traffic to HTTPS load balancers using TLS certificates.
    Rule Unknown Severity
  • Restrict Access to the Control Plane Endpoint

    Enable Endpoint Private Access to restrict access to the cluster's control plane to only an allowlist of authorized IPs.
    Rule Unknown Severity
  • Ensure Private Endpoint Access

    Disable access to the Kubernetes API from outside the node network if it is not required.
    Rule Unknown Severity
  • Ensure Cluster Private Nodes

    Disable public IP addresses for cluster nodes, so that they only have private IP addresses. Private Nodes are nodes with no public IP addresses.
    Rule Unknown Severity
  • Kubernetes - Registry Security Practices

    Contains evaluations for Kubernetes registry security practices, and cluster-wide registry configuration.
    Group
  • Only use approved container registries

    Use approved container registries.
    Rule Unknown Severity
  • Ensure Image Vulnerability Scanning

    Scan images being deployed to Amazon EKS for vulnerabilities.
    Rule Unknown Severity
  • Ensure Cluster Service Account with read-only access to Amazon ECR

    Configure the Cluster Service Account with Storage Object Viewer Role to only allow read- only access to Amazon ECR.
    Rule Unknown Severity
  • Minimize user access to Amazon ECR

    Restrict user access to Amazon ECR, limiting interaction with build images to only authorized personnel and service accounts.
    Rule Unknown Severity
  • Kubernetes Secrets Management

    Secrets let you store and manage sensitive information, such as passwords, OAuth tokens, and ssh keys. Such information might otherwise be put in a...
    Group
  • Ensure Kubernetes Secrets are Encrypted

    Encrypt Kubernetes secrets, stored in etcd, using secrets encryption feature during Amazon EKS cluster creation.
    Rule Unknown Severity
  • Kubernetes - Worker Node Settings

    Contains evaluations for the worker node configuration settings.
    Group
  • Verify Group Who Owns The Kubelet Configuration File

    To properly set the group owner of <code>/etc/kubernetes/kubelet/kubelet-config.json</code>, run the command: <pre>$ sudo chgrp root /etc/kubernet...
    Rule Medium Severity
  • Verify Group Who Owns The Worker Kubeconfig File

    To properly set the group owner of <code>/var/lib/kubelet/kubeconfig</code>, run the command: <pre>$ sudo chgrp root /var/lib/kubelet/kubeconfig</...
    Rule Medium Severity
  • Verify User Who Owns The Kubelet Configuration File

    To properly set the owner of <code>/etc/kubernetes/kubelet/kubelet-config.json</code>, run the command: <pre>$ sudo chown root /etc/kubernetes/kub...
    Rule Medium Severity
  • Verify User Who Owns The Worker Kubeconfig File

    To properly set the owner of /var/lib/kubelet/kubeconfig, run the command:
    $ sudo chown root /var/lib/kubelet/kubeconfig 
    Rule Medium Severity
  • Verify Permissions on The Kubelet Configuration File

    To properly set the permissions of <code>/etc/kubernetes/kubelet/kubelet-config.json</code>, run the command: <pre>$ sudo chmod 0644 /etc/kubernet...
    Rule Medium Severity
  • Verify Permissions on the Worker Kubeconfig File

    To properly set the permissions of <code>/var/lib/kubelet/kubeconfig</code>, run the command: <pre>$ sudo chmod 0644 /var/lib/kubelet/kubeconfig</...
    Rule Medium Severity
  • System and Software Integrity

    System and software integrity can be gained by installing antivirus, increasing system encryption strength with FIPS, verifying installed software,...
    Group
  • System Cryptographic Policies

    OpenShift has the capability to centrally configure cryptographic polices.
    Group
  • OpenShift Kube API Server

    This section contains recommendations for kube-apiserver configuration.
    Group
  • API Server Request Timeout

    Enter API Server Request Timeout
    Value
  • API Server audit log max size

    API Server audit log max size
    Value
  • Bind Address of secure API endpoint

    Bind Address of secure API endpoint
    Value
  • OpenShift Kube APIServer client CA

    OpenShift Kube APIServer client CA
    Value
  • OpenShift APIServer etcd encryption filter

    OpenShift APIServer etcd encryption config check jq filter
    Value
  • OpenShift APIServer etcd encryption path

    OpenShift APIServer etcd encryption config check api path
    Value
  • OpenShift APIServer etcd encryption type

    OpenShift APIServer etcd encryption provider type to use for remediation. This variable is only applicable to remediations, and does not affect che...
    Value
  • OpenShift Kube APIServer etcd CA

    OpenShift Kube APIServer etcd CA
    Value
  • OpenShift Kube APIServer kubelet certificate authority

    OpenShift Kube APIServer kubelet certificate authority
    Value
  • OpenShift Kube APIServer kubelet client cert

    OpenShift Kube APIServer kubelet client cert
    Value
  • OpenShift Kube APIServer kubelet client key

    OpenShift Kube APIServer kubelet client key
    Value
  • OpenShift Kube APIServer TLS cert

    OpenShift Kube APIServer TLS cert
    Value
  • OpenShift Kube APIServer TLS private key

    OpenShift Kube APIServer TLS private key
    Value
  • OpenShift API Server config name

    OpenShift API Server config name
    Value
  • OpenShift APIServer etcd encryption filter

    OpenShift APIServer etcd encryption config check jq filter
    Value
  • OpenShift APIServer namespace

    OpenShift APIServer namespace
    Value
  • OpenShift Kube API Server config name

    OpenShift Kube API Server config name
    Value

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