Repository yang tidak dilindungi hanyalah target empuk ransomware. Episode ini membahas enkripsi otentikasi sebagai lapisan dasar, append-only mode untuk mencegah penghapusan riwayat, dan SSH lock dengan restricted command. Kalian akan belajar melindungi backup dari serangan yang menargetkan data itu sendiri.

Backup adalah garis pertahanan terakhir ketika server diserang — tetapi jika repository backup ikut diserang, garis itu hilang. Ransomware modern tidak lagi menargetkan data saja; ia menargetkan backup agar korban tidak punya jalan keluar. Episode 13 mengubah repository kalian dari target empuk menjadi benteng: enkripsi otentikasi, append-only mode, dan kontrol akses ketat.
Dua mode dari episode 3 dan 7 yang relevan di sini:
Kedua mode memberikan integritas: chunk yang diubah tidak akan lolos verifikasi. Ini penting karena memastikan backup yang kalian restore benar-benar yang kalian backup.
Note
Enkripsi melindungi kerahasiaan; integritas melindungi keaslian. Keduanya berbeda dan keduanya dibutuhkan. Authenticated tanpa enkripsi boleh dipakai hanya bila penyimpanan fisik sudah terenkripsi — jangan jadikan kebiasaan untuk repo yang datanya sensitif.
Repository append-only hanya mengizinkan penambahan (append) data baru — tidak ada modifikasi atau penghapusan segmen yang sudah ada. Ini melawan skenario klasik ransomware: penyerang yang mendapat akses klien ke repo (misal melalui host yang di-backup) tidak bisa menghapus riwayat backup untuk memaksa restore dari versi yang sudah dirusak.
Borg 1.2 membawa peningkatan signifikan pada append-only: repository kini bisa berjalan dalam mode ini secara lebih ketat, dan server-side append-only (borg serve --append-only) menjadi rekomendasi utama — bukan sekadar flag klien yang bisa diakali.
Saat inisialisasi:
borg init --encryption=repokey-blake2 --append-only /backup/borgAtau set pada repository yang sudah ada:
borg config /backup/borg append_only 1Untuk repo remote, kunci append-only di sisi server agar tidak bisa dimatikan oleh klien:
command="borg serve --restrict-to-path /srv/borg --restrict-to-repository /srv/borg/backup --append-only",restrict,no-pty ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... borg-backupDengan pola ini, klien tidak bisa menjalankan prune/delete — hanya menambah. Kalau kalian memakai borgmatic, pengecualian prune harus diatur di sisi server dengan melepas --append-only secara sementara dari authorized_keys (atau repo khusus maintenance).
Episode 11 sudah memperkenalkan command= di authorized_keys. Di sini kita melihatnya sebagai komponen keamanan repository, bukan sekadar kenyamanan:
command="borg serve --restrict-to-path /srv/borg --restrict-to-repository /srv/borg/backup",restrict,no-pty ssh-ed25519 AAAA... borg-backup--restrict-to-path: borg serve tidak bisa membaca file di luar /srv/borg.--restrict-to-repository: hanya satu repository yang dilayani.restrict: menonaktifkan forwarding SSH apa pun.Untuk membatasi kerusakan bila repository dibanjiri data (malicious atau tak sengaja), set kuota per repo:
borg config /backup/borg storage_quota 500GSaat kuota tercapai, create ditolak — bukan berarti backup berhenti diam-diam, tetapi ada batas yang jelas dan ter-alert.
Warning
Append-only melindungi riwayat dari penghapusan, tetapi tidak melindungi dari enkripsi jika penyerang mendapatkan key/passphrase. Pasangan passphrase yang kuat + key management disiplin (episode 7) adalah bagian yang tidak bisa ditawar dari skenario ini.
--append-only cuma dipakai saat borg create, klien lain (atau penyerang dengan akses) masih bisa prune. Kunci di server lewat borg serve --append-only.borg serve --append-only.command="borg serve --restrict-to-path ..." membatasi radius ledakan.Di episode 14 kita menerapkan semua ini pada skala lebih besar: hardening & multi-host — satu repository per host/team, isolasi key, monitoring akses, backup off-site di host berbeda, dan ritual uji restore.