Courseiva
hardMultiple Select

CKS Practice Question: Which THREE of the following are valid methods to…

Which THREE of the following are valid methods to secure etcd?

⚠ Common exam trap

Many candidates think HTTP reduces overhead and is acceptable for internal cluster traffic, but the CKS exam strictly requires TLS encryption for all etcd communication, and exposing ports to all interfaces is a clear security violation.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Encrypt secrets at rest using EncryptionConfiguration

Kubernetes supports encrypting secrets at rest in etcd via an EncryptionConfiguration object. This configuration specifies which resources (e.g., secrets) should be encrypted and which encryption provider (e.g., AES-CBC, secretbox) to use, ensuring that data stored on disk is protected against unauthorized access to the etcd data directory.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Use HTTP instead of HTTPS to reduce overhead

    Why it's wrong here

    Plain HTTP transmits all data in cleartext, exposing etcd's sensitive cluster state — including Secret objects and ConfigMaps — to any observer on the network. The negligible performance savings of avoiding TLS does not justify a trivial man-in-the-middle impersonating the apiserver or reading leadership election data. HTTPS should always be used so that communication remains confidential and tamper-resistant.

  • ✓

    Encrypt secrets at rest using EncryptionConfiguration

    Why this is correct

    EncryptionConfiguration, passed via the apiserver's --encryption-provider-config flag, defines a set of key providers (aescbc, aesgcm, or secretbox) that encrypt specific resources — typically Secrets — before they are written to etcd and decrypt them on reads. This protects data at rest, meaning if an attacker steals an etcd snapshot or physically accesses the storage files, they only see ciphertext. Without this, any read of etcd returns plaintext secrets.

  • ✓

    Enable RBAC authorization on etcd

    Why this is correct

    etcd supports Role-Based Access Control (RBAC) that restricts operations to authenticated users by granting verbs (get, put, delete) over key ranges. By default etcd has authentication disabled, so any client that can reach the port can read and modify all keys. Enabling RBAC requires creating root users and roles, and then configuring the apiserver's --etcd-certfile and --etcd-keyfile so that only the apiserver has write access to the cluster's key namespace.

  • ✗

    Open etcd port 2379 to all network interfaces

    Why it's wrong here

    Binding the etcd client port (2379) to all interfaces exposes the datastore to every process and host that can reach your network, bypassing any apiserver-level authorizers. An attacker who reaches this port may read secrets, delete keys, or alter cluster objects, effectively taking over the cluster. The port should listen on 127.0.0.1 when etcd is colocated with the apiserver, or be protected by firewall/network policies to only allow the apiserver's IP address.

  • ✓

    Enable TLS client certificates for authentication

    Why this is correct

    Mutual TLS (mTLS) with client certificates is the only way to cryptographically prove that an etcd client is actually the Kubernetes API server. When etcd starts with --cert-file, --key-file, and --client-cert-auth, it requires every client to present a certificate signed by a trusted CA; requests without a valid certificate are rejected. This both encrypts traffic and authenticates the peer, preventing unauthorized nodes from reading or writing cluster state even if they can reach the port.

Quick reference

Symmetric Encryption Algorithm Comparison

AlgorithmKey SizeBlock SizeStatusNotes
AES-128128-bit128-bitCurrent standardNIST approved; WPA3, TLS
AES-256256-bit128-bitCurrent standardPreferred for sensitive / govt data
3DES112-bit effective64-bitDeprecated (2023)Replaced by AES
DES56-bit64-bitBrokenCracked in < 24 h; never deploy
ChaCha20256-bitStream cipherCurrentTLS 1.3, WireGuard

About these practice questions

This CKS question is part of Courseiva's 845-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This CKS practice question is part of Courseiva's free CNCF certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CKS exam.