Cadangan melindungi dari apa pun yang nasibnya tidak ia bagi. Di cakram yang sama, ia selamat dari berkas yang terhapus tetapi tidak dari cakram yang rusak. Di server yang sama, ia selamat dari cakram yang rusak tetapi tidak dari akun yang dibobol. Pertanyaannya selalu: salinan ini berbagi nasib dengan apa?
Tiga-dua-satu, dengan bahasa lugas
- Tiga salinan — yang sedang melayani dan dua cadangan.
- Dua jenis penyimpanan — bukan dua folder dalam satu cakram.
- Satu di tempat lain — mesin yang berbeda, dan sebaiknya penyedia yang berbeda.
«Tempat lain», diurutkan menurut seberapa banyak ia melindungi
- Cakram lain di server yang sama — dari cakram yang rusak, dan tidak dari apa pun selain itu.
- Server lain pada penyedia yang sama — dari server yang rusak. Bukan dari penangguhan akun, bukan pula dari kekeliruan yang dilakukan dengan akses selebar seluruh penyedia.
- Penyedia yang sama sekali lain — semua yang di atas, ditambah hari ketika akunnya sendirilah masalahnya.
Kalau pembobolan server Anda juga bisa menghapus cadangannya, maka cadangan itu bukan pertahanan terhadap pembobolan. Tujuan pencadangan seharusnya hanya bisa ditulisi dari server: boleh menambah, tidak boleh menghapus.
Hanya-tulis dalam praktiknya
# object storage with an append-only policy, or
# a pull model: the BACKUP server connects to the site and takes a copy,
# so the site never holds credentials that can delete anything
Model tarik adalah yang paling kuat dan paling jarang dipakai: tidak ada apa pun di server web yang bisa mencapai cadangannya, sehingga tidak ada kejadian di sana yang bisa menyentuhnya.
Enkripsi, dan simpan kuncinya di tempat lain
gpg --symmetric --cipher-algo AES256 backup.tar.gz
Kunci yang hanya disimpan di server yang mati itu bukanlah kunci. Tuliskan dan simpan di tempat yang sama sekali tak ada urusannya dengan server itu.
Ujilah secara khusus salinan yang di luar lokasi. Yang lokal biasanya bekerja, dan yang jauh itulah yang tak pernah dipulihkan siapa pun.