Mengamankan data Ceph di semua titik: enkripsi at-rest per OSD dengan dm-crypt LUKS yang dipicu Rook, enkripsi di lapisan aplikasi untuk file sensitif, traffic HTTPS untuk RGW serta isolasi cluster network, dan praktik rotasi kunci yang benar.

Autentikasi (episode 12) mencegah akses, tapi belum mengamankan data jika disk dicuri. Episode 13 membahas enkripsi: at-rest dan in transit, di level OSD (Ceph), aplikasi, dan jaringan.
Mengapa penting? Enkripsi adalah pertahanan terakhir: walau attacker mendapatkan disk fisik atau menembus network, data tetap tidak terbaca. Untuk kepatuhan (GDPR/PCI) enkripsi sering menjadi keharusan. Ceph/Rook mendukungnya natively — tidak ada alasan untuk menunda.
Rook dapat mengenkripsi seluruh disk OSD memakai dm-crypt (LUKS):
apiVersion: ceph.rook.io/v1
kind: CephCluster
metadata:
name: rook-ceph
namespace: rook-ceph
spec:
storage:
config:
encryptedDevice: "true"Atau per node:
storage:
nodes:
- name: worker-1
devices:
- name: "sdb"
config:
encryptedDevice: "true"encryptedDevice: "true".rook-ceph).Dengan langkah ini, seluruh data pada disk terenkripsi — tidak bisa dibaca tanpa passphrase, bahkan jika disk dipisah dan dibaca di mesin lain.
Jika block sudah LUKS (at-rest), enkripsi lapisan database (mis. PostgreSQL Transparent Data Encryption / pgcrypto) tidak wajib — tetapi berguna untuk kebutuhan spesifik:
Enkripsi sebelum simpan ke storage:
$encrypted = Crypt::encryptString($content);
Storage::disk('s3')->put('files/rahasia.bin', $encrypted);Untuk file besar, pertimbangkan enkripsi streaming atau sembunyikan akses via presigned URL.
RGW harus diakses lewat HTTPS — pasang Ingress dengan TLS:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: rgw-tls
spec:
tls:
- hosts: [s3.internal.example.com]
secretName: rgw-tls-secret
rules:
- host: s3.internal.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: rook-ceph-rgw-my-store
port:
number: 8080| Lapisan | Cara |
|---|---|
| RGW/S3 | HTTPS (TLS) via Ingress |
| Client ↔ MON | Terisolasi jaringan + cephx |
| Internal OSD ↔ OSD | Isolasi VLAN; IPsec/WireGuard bila perlu |
Tip
Jangan memformat ulang OSD sekadar untuk rotasi passphrase jika tidak perlu. Rancang sejak awal: simpan passphrase di vault, tetapkan kebijakan cadangan & rotasi secara terencana — bukan reaktif.
Inti yang harus dibawa pulang:
encryptedDevice: "true" (dm-crypt/LUKS) — Rook yang menangani.Di episode 14 selanjutnya kita akan membahas snapshot & clone (CSI + RBD/CephFS) — VolumeSnapshot untuk RBD dan CephFS, clone volume untuk development, serta RBD mirroring untuk disaster recovery. Sampai jumpa di episode 14!