Mengamankan backup itu sendiri: enkripsi saat penyimpanan & transmisi, retention policy yang jelas, dan compliance checklist, lalu praktik membangun backup yang aman dan patuh aturan di lab.

Di episode 9 kalian membangun backup; di episode 19 kalian membangun deteksi keamanan. Episode 20 menyilangkan keduanya: mengamankan backup itu sendiri dan memastikan semuanya patuh aturan.
Pertanyaan yang jarang ditanyakan tapi krusial: apa yang terjadi jika backup kalian dicuri? Backup berisi salinan semua data — jika tidak dienkripsi, pencurian backup sama dengan kebocoran data besar. Di episode ini, backup bukan lagi sekadar "cadangan", melainkan aset keamanan yang harus dilindungi dan diatur.
Data yang berpindah antara server dan target backup wajib terenkripsi dalam perjalanan — rsync via SSH, restic ke S3 via HTTPS, borg via SSH. Aturan: jangan pernah kirim data backup lewat plaintext.
rsync -avz -e ssh /srv/backup/ remote-server:/var/backup/
scp /srv/backup/appdb.sql backup-remote:/var/backup/Backup di istirahat (disimpan) wajib dienkripsi — siapa pun yang mencuri media backup tidak boleh bisa membaca isinya. Restic dan Borg melakukan ini secara default (passphrase):
# Repository sudah terenkripsi sejak init (episode 9)
restic -r /srv/backup-repo backup /srv/data --password-file /etc/restic/pw
restic -r /srv/backup-repo ls latest --password-file /etc/restic/pwCoba tebak: tanpa passphrase, restic ls menolak — itulah enkripsi bekerja. Untuk file backup biasa, gunakan age atau gpg:
age-keygen -o /etc/backup-key.txt
age -e -r $(age-keygen -y /etc/backup-key.txt) -o appdb.sql.age appdb.sql
age -d -i /etc/backup-key.txt -o appdb.sql appdb.sql.ageIni bagian yang paling sering dilupakan dan paling menyakitkan: kunci enkripsi yang hilang = backup tidak berguna. Aturannya:
Ransomware modern sering menyerang backup juga — karena itulah satu-satunya cara korban lolos dari pembayaran tebusan. Solusinya: backup immutable — backup yang tidak bisa diubah atau dihapus bahkan oleh admin, sampai masa retensinya berakhir.
aws s3api put-object-lock-configuration \
--bucket lab-backup-bucket \
--object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "GOVERNANCE", "Days": 30 } } }'Konsep write-once-read-many (WORM): data bisa ditulis sekali, dibaca kapan saja, diubah/dihapus hanya setelah masa lock habis. Di lab, alternatif sederhana: target backup yang hanya writable lewat akun khusus, dengan mount read-only untuk yang lain.
Important
Ransomware mengubah aturan main: backup biasa (yang bisa dihapus proses yang terkompromi) bukan pertahanan. Backup yang immutable atau offline (terpisah dari sistem yang terinfeksi) adalah satu-satunya jaminan kalian bisa pulih. Ini bagian dari varian strategi 3-2-1-1-0.
Retention menjawab: berapa lama setiap backup disimpan, lalu dihapus? Tanpa kebijakan, repository membengkak dan biaya membubung — atau sebaliknya, backup terlalu cepat dihapus dan data yang harusnya ada sudah lenyap.
| Data | Contoh Retention | Alasan |
|---|---|---|
| Harian | 7 hari | Recovery cepat masalah kecil |
| Mingguan | 4 minggu | Recovery masalah menengah |
| Bulanan | 6-12 bulan | Audit, data historis |
| Tahunan | 3-7+ tahun | Compliance, regulasi |
Penerapan dengan Borg (sudah dikenalkan di episode 9):
borg prune -d 7 -w 4 -m 6 -y 3 /srv/borg-repo --statsDengan restic, gunakan forget:
restic -r /srv/backup-repo forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune --password-file /etc/restic/pwCompliance bukan sekadar "aturan birokrasi" — ia adalah jaring pengaman yang memaksa praktik baik. Sebagai sysadmin, kalian akan menghadapi audit yang menanyakan hal-hal dasar:
| Area | Pertanyaan Audit | Dokumen yang Perlu Ada |
|---|---|---|
| Enkripsi | Data dienkripsi saat simpan & kirim? | Kebijakan enkripsi |
| Retention | Berapa lama data disimpan & kenapa? | Retention policy |
| Backup | Backup diuji? Berapa RPO/RTO? | Hasil drill + SLA |
| Access | Siapa punya akses ke backup & kunci? | Daftar akses, prinsip least privilege |
| Audit log | Log disimpan berapa lama? | Log retention + bukti |
Prinsip compliance untuk sysadmin: if it isn't documented, it didn't happen — bukti (dokumen, hasil drill, log) lebih penting daripada klaim.
Tip
Mulailah membiasakan checklist compliance sejak di lab: simpan hasil drill restore (tanggal, siapa, hasil), catat kebijakan retention, dan pastikan enkripsi aktif. Ketika kalian bekerja di perusahaan, kebiasaan ini akan membuat audit terasa ringan — bukan mimpi buruk.
Latihan terpadu:
# 1. Backup terenkripsi (restic/borg — enkripsi default)
# 2. Simpan kunci di tempat terpisah & uji bisa restore
# 3. Terapkan retention (7 daily, 4 weekly, 6 monthly)
# 4. Simulasi ransomware: hapus data produksi
rm -rf /srv/data/*
# 5. Restore dari backup terenkripsi, verifikasi
restic -r /srv/backup-repo restore latest --target / --password-file /etc/restic/pw
cmp /srv/data/laporan.txt <(echo "laporan keuangan Q3") && echo "DATA AMAN"
# 6. Catat hasil drill di runbook (episode 25)Jika data kembali utuh setelah "serangan ransomware", backup kalian tidak hanya aman — ia terbukti aman oleh drill. Itu perbedaan yang dilihat auditor (dan disyukuri saat benar-benar terjadi).
Inti yang harus dibawa pulang dari episode 20:
forget --prune/prune.Di episode 21 selanjutnya kita akan membahas Performance Tuning — parameter kernel, resource limits, tuning I/O, dan profiling, dengan praktik mengoptimasi server di lab. Server yang aman belum tentu cepat — sekarang waktunya membuatnya keduanya!