Back to Security Guide

etcd Security & Backup

Protecting Kubernetes State Data and Disaster Recovery

etcd Security Overview

etcd is Kubernetes' data storeβ€”it holds all cluster configuration, state, and secrets. Compromise of etcd means complete cluster compromise. Securing etcd requires encryption, access control, backup strategies, and disaster recovery.

⚠️ Critical: etcd contains all cluster data including unencrypted secrets by default. It must be protected with the highest level of security.

Encryption at Rest

Configure etcd Encryption

Enable encryption for etcd data in Kubernetes:

# In /etc/kubernetes/manifests/kube-apiserver.yaml - --encryption-provider-config=/etc/kubernetes/enc/encryption-config.yaml - --encryption-provider-config-automatic-reload=true

Encryption Configuration

apiVersion: apiserver.config.k8s.io/v1 kind: EncryptionConfiguration resources: - resources: - secrets providers: - aescbc: keys: - name: key1 secret: - identity: {}

Generate Encryption Key

# Generate 32-byte key and base64 encode head -c 32 /dev/urandom | base64

etcd Peer Security

TLS Configuration

Configure Peer TLS

--cert-file=/etc/kubernetes/pki/etcd/server.crt --key-file=/etc/kubernetes/pki/etcd/server.key --peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt --peer-key-file=/etc/kubernetes/pki/etcd/peer.key --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt

Access Control

etcd Backup Strategy

Manual Backup

# Snapshot etcd database sudo etcdctl --endpoints=127.0.0.1:2379 snapshot save backup.db # Verify snapshot sudo etcdctl --write-out=table snapshot status backup.db

Automated Backup with Velero

Use Velero for cluster-wide backup including etcd:

Backup Locations

Disaster Recovery

Restore from Backup

# Stop all API servers # Stop all etcd members # Restore from backup on one member sudo etcdctl snapshot restore backup.db \ --data-dir=/var/lib/etcd \ --initial-cluster=etcd0=https://master1:2380 \ --initial-advertise-peer-urls=https://master1:2380 \ --name=etcd0 # Start etcd and API servers

Recovery RTO/RPO

πŸ’‘ Recommendation: Back up etcd every hour and test recovery procedures quarterly.

etcd Security Checklist