Skip to content

Domain, hosting, code and data — in your name, in writing

jagaweb.

Pengehosan & Infrastruktur

Perancangan Pemulihan Bencana Laman Web untuk Perniagaan Malaysia

Bacaan 7 minitOleh JagaWeb

RPO dan RTO dalam bahasa mudah, peraturan backup 3-2-1, salinan offline, latihan restore, dan apa yang perlu didokumentasikan.

Backup yang Tidak Pernah Anda Restore Hanyalah Andaian

Ramai perniagaan boleh berkata "ya, kami ada backup" tanpa boleh memberitahu bila kali terakhir backup itu sebenarnya di-restore, atau berapa lama masa restore itu mengambil. Jurang itu — antara mempunyai backup dan mengetahui ia benar-benar berfungsi — itulah sebab perancangan disaster recovery wujud, untuk menutup jurang itu. Ia tidak perlu rumit, tetapi ia memerlukan dua angka, strategi salinan yang sebenar, dan sekurang-kurangnya satu latihan (rehearsal).

RPO dan RTO: Dua Angka yang Mentakrifkan Sesuatu Rancangan

Recovery Point Objective (RPO) ialah jumlah maksimum data yang perniagaan anda mampu untuk hilang, diukur mengikut masa. Jika sistem anda membuat backup setiap 24 jam, RPO anda kira-kira 24 jam — bermakna kegagalan sejurus sebelum backup seterusnya boleh menyebabkan anda kehilangan transaksi, pesanan, atau penghantaran borang sepanjang sehari penuh. Recovery Time Objective (RTO) pula ialah tempoh downtime maksimum yang perniagaan anda mampu tanggung sebelum gangguan itu menjadi serius merosakkan — berapa lama anda boleh offline sebelum ia benar-benar memberi kesan (Splunk).

Ini soalan yang berbeza dengan jawapan yang berbeza. Blog yang sarat kandungan mungkin boleh tahan RTO sehari (sedikit menjengkelkan, tetapi tidak bencana) tetapi mahukan RPO hampir sifar jika ia menerima komen pembaca atau langganan. Laman e-dagang yang memproses pesanan mungkin memerlukan keseimbangan yang sebaliknya. Tiada satu angka pun yang "betul" secara abstrak — kedua-duanya adalah keputusan perniagaan, dan cara yang jujur untuk menetapkannya ialah dengan bertanya apa yang sebenarnya berlaku, dari segi ringgit dan reputasi, bagi setiap jam kehilangan data atau downtime, bukannya terus memilih "secepat mungkin" tanpa menimbang kos untuk membina ke arah itu.

Peraturan 3-2-1, dan Dari Mana Ia Sebenarnya Berasal

Peraturan backup 3-2-1 adalah antara strategi ringkas yang paling lama wujud dan masih paling berguna dalam bidang ini: simpan tiga salinan data anda, pada dua jenis media storan yang berbeza, dengan satu daripada salinan itu disimpan offsite. Ia bukan berasal daripada IT enterprise — ia datang daripada buku jurugambar Peter Krogh pada 2005, The DAM Book: Digital Asset Management for Photographers, yang ditulis untuk menyelesaikan masalah biasa iaitu melindungi fail imej yang tidak boleh diganti daripada kegagalan satu drive sahaja.

Logiknya masih terpakai untuk laman web atau sistem perniagaan: tiga salinan bermaksud satu backup yang rosak tidak meninggalkan anda dengan tiada apa-apa langsung. Dua jenis media atau storan yang berbeza bermaksud satu teknologi yang gagal — drive yang rosak, storage bucket yang tersilap konfigurasi — tidak boleh memusnahkan semua salinan sekali gus. Satu salinan offsite, secara fizikal atau geografi berasingan daripada dua yang lain, bermaksud kebakaran, kecurian, atau outage tempatan di satu lokasi tidak memusnahkan semuanya. Sesetengah pengamal kini melanjutkan ini kepada "3-2-1-1-0" — menambah satu salinan yang offline atau air-gapped, dan keperluan sifar ralat yang disahkan selepas semakan pengesahan (AvePoint).

Offsite Bukan Sama dengan Offline

Perbezaan ini lebih penting berbanding dahulu, khususnya kerana ransomware. Salinan backup yang offsite tetapi masih bersambung secara kekal dengan rangkaian live anda — folder cloud yang di-mirror, drive yang sentiasa di-sync — masih boleh dienkripsi atau dipadam oleh penyerang yang telah menembusi sistem anda, kerana proses berniat jahat itu boleh mencapainya melalui sambungan live yang sama. Salinan offline atau air-gapped, yang terputus daripada mana-mana rangkaian live secara lalai dan hanya disambungkan sebentar serta sengaja untuk menulis backup baharu, tidak boleh dicapai dengan cara itu. Untuk mana-mana perniagaan yang mengendalikan data pelanggan, maklumat pembayaran, atau apa-apa lain yang bernilai untuk ditebus, sekurang-kurangnya satu salinan backup yang benar-benar offline — bukan sekadar "di tempat lain" — berbaloi dengan kesulitan tambahan itu.

Latihan Restore: Langkah yang Hampir Semua Orang Lompatkan

Backup yang tidak pernah di-restore tidak memberitahu anda apa-apa tentang sama ada ia benar-benar akan berfungsi dalam kegagalan sebenar. Panduan perancangan kontingensi National Institute of Standards and Technology (NIST) Amerika Syarikat, NIST SP 800-34 Revision 1, menggariskan cara berstruktur untuk mengujinya tanpa perlu menunggu bencana sebenar: satu tabletop exercise (walkthrough berasaskan perbincangan tanpa sebarang sistem sebenarnya disentuh), satu functional exercise (ujian sebenar yang terkawal — me-restore daripada tape backup atau membina semula server secara terasing), dan satu full-scale exercise (simulasi pemulihan hujung-ke-hujung yang sebenar) (NIST SP 800-34 Rev. 1). Tiada satu pun daripada ini memerlukan bajet enterprise untuk dicuba dalam bentuk yang lebih kecil — malah latihan setahun sekali seperti "restore backup terkini kami ke persekitaran buang-pakai dan lihat apa yang rosak" boleh mengesan masalah yang tidak akan pernah dikesan oleh laporan backup sahaja: fail yang hilang, credential yang tamat tempoh, skrip restore yang tiada sesiapa sentuh sejak orang yang menulisnya berhenti kerja.

Apa yang Ditambah oleh Landskap Regulatori Malaysia

Seksyen 9 Akta Perlindungan Data Peribadi 2010 — Prinsip Keselamatan — mewajibkan pengawal data mengambil langkah praktikal untuk melindungi data peribadi daripada kehilangan, penyalahgunaan, atau capaian tanpa kebenaran, yang pada praktiknya merangkumi keupayaan backup dan recovery yang sebenar, bukan sekadar dasar yang dinyatakan sahaja (perbincangan ringkasan Seksyen 9 PDPA). Secara berasingan, Akta Keselamatan Siber 2024 (Akta 854) berkuat kuasa pada 26 Ogos 2024 dan memperkenalkan kewajipan keselamatan siber tertentu — tetapi keperluan Kod Amalan mandatorinya disasarkan kepada entiti National Critical Information Infrastructure (NCII) yang ditetapkan merentasi sebelas sektor yang dinyatakan, bukan setiap perniagaan kecil atau sederhana secara lalai (NACSA). Kebanyakan PKS tidak akan tertakluk kepada Akta 854 secara langsung, tetapi arah jangkaan regulatori di Malaysia — bahawa perniagaan yang mengendalikan data peribadi patut boleh menunjukkan amalan keselamatan dan pemulihan yang sebenar, bukan sekadar mendakwanya — patut diambil serius tidak kira undang-undang khusus mana yang terpakai kepada anda.

Mendokumentasikan Rancangan — dan Mengendalikan Secrets dengan Betul

Rancangan disaster recovery hanya berguna jika seseorang yang bukan anda boleh mengikutinya semasa insiden sebenar. Sekurang-kurangnya, dokumentasikan: apa RPO dan RTO anda untuk setiap sistem yang penting, di mana setiap salinan backup berada secara fizikal atau logik, siapa yang bertanggungjawab mencetuskan restore, dan langkah-langkah tepat untuk melakukannya.

Jika dokumentasi itu merangkumi mana-mana skrip atau contoh konfigurasi, credential tidak boleh sekali-kali di-hardcode ke dalamnya. Skrip backup yang di-commit ke dalam shared repository, ditampal ke dalam support ticket, atau diserahkan kepada kontraktor yang sedang keluar dengan password sebenar tertulis di dalamnya adalah kebocoran credential yang menunggu masa untuk berlaku — dan salah satu cara paling biasa backup itu sendiri menjadi attack vector. Corak yang lebih selamat ialah membaca credential daripada environment variable semasa runtime, supaya skrip itu sendiri langsung tidak mengandungi apa-apa secret:

#!/usr/bin/env bash
# Example: nightly database backup, credential-free by design.
# DB_BACKUP_PASSWORD is set in the server's environment or secret
# manager — never written into this file or into version control.

set -euo pipefail

if [ -z "${DB_BACKUP_PASSWORD:-}" ]; then
  echo "DB_BACKUP_PASSWORD is not set. Aborting." >&2
  exit 1
fi

mysqldump --single-transaction \
  -u backup_user \
  -p"${DB_BACKUP_PASSWORD}" \
  your_database > "/backups/db-$(date +%Y%m%d-%H%M%S).sql"

Ini bukan sekadar pilihan gaya — inilah yang memastikan skrip backup selamat untuk disimpan, dikongsi dengan developer, atau diserahkan semasa kecemasan sebenar tanpa turut menyerahkan kunci sekali.

Di Mana Nak Mula

Rancangan disaster recovery yang realistik untuk perniagaan kecil Malaysia tidak perlu rumit: RPO dan RTO bertulis untuk sistem yang penting, setup backup 3-2-1 (atau 3-2-1-1-0) yang sebenar dengan sekurang-kurangnya satu salinan offline, dan satu latihan restore yang didokumentasikan setiap tahun. Jika anda tidak pasti di mana kedudukan setup semasa anda berbanding semua itu, Essential System Review (RM1,500, kini RM999 sehingga 16 September 2026) adalah tempat yang munasabah untuk mengetahuinya — atau JagaWeb Care + Changes (RM1,500 sebulan) jika anda lebih suka ini dipantau dan diselenggara secara berterusan berbanding disemak sekali sahaja dan dibiarkan begitu sahaja.

WhatsApp