Mục tiêu chương / Learning objectives
- Phân biệt Business Continuity (BC) và Disaster Recovery (DR) — phạm vi và mục tiêu khác nhau.
- Định nghĩa và áp dụng RTO, RPO, MTTR, MTBF vào quyết định kỹ thuật thực tế.
- Mô tả quy trình Business Impact Analysis (BIA) và cách ưu tiên hóa hệ thống.
- So sánh chiến lược DR: hot site, warm site, cold site — chi phí và thời gian phục hồi.
- Phân biệt full/incremental/differential backup và áp dụng quy tắc 3-2-1.
- Thực hành kiểm tra trạng thái backup trên Windows Server và tạo backup Linux với tar/rsync.
1. Lý thuyết cốt lõi / Core theory
1.1. BC vs DR — Phân biệt và mối quan hệ (Business Continuity vs Disaster Recovery)
Business Continuity (BC) là khả năng của tổ chức tiếp tục cung cấp dịch vụ ở mức tối thiểu (minimum acceptable level) trong và sau sự cố. BC bao gồm toàn bộ tổ chức: con người, quy trình, công nghệ, địa điểm. Ví dụ: nhân viên làm việc từ xa khi văn phòng bị ngập lụt.
Disaster Recovery (DR) là tập hợp các quy trình và công cụ để khôi phục hệ thống IT về trạng thái hoạt động bình thường sau thảm họa. DR là một thành phần của BC, tập trung vào công nghệ. Ví dụ: restore database từ backup sau khi server chính bị cháy.
Tương quan: BC Plan (BCP) là tài liệu tổng thể bao gồm DR Plan (DRP) như một phụ lục kỹ thuật. Nếu văn phòng bị thiên tai → BCP kích hoạt → DRP là một phần của BCP được thực thi để phục hồi IT systems.
1.2. Các chỉ số phục hồi quan trọng (RTO / RPO / MTTR / MTBF)
- RTO (Recovery Time Objective — Mục tiêu thời gian phục hồi): Thời gian tối đa cho phép hệ thống downtime sau sự cố. Ví dụ: RTO của hệ thống thanh toán = 4 giờ — nếu quá 4h thì thiệt hại kinh doanh vượt ngưỡng chấp nhận.
- RPO (Recovery Point Objective — Mục tiêu điểm phục hồi): Lượng dữ liệu tối đa có thể mất, đo bằng thời gian. Ví dụ: RPO = 1 giờ — backup mỗi giờ, trong tình huống xấu nhất mất tối đa 1 giờ dữ liệu.
- MTTR (Mean Time To Repair — Thời gian trung bình sửa chữa): Thời gian trung bình để khôi phục hệ thống sau khi xảy ra lỗi. MTTR thấp = team phản ứng nhanh, process tốt.
- MTBF (Mean Time Between Failures — Thời gian trung bình giữa các lần lỗi): Đo độ tin cậy của hệ thống. MTBF cao = hệ thống ổn định hơn. Availability = MTBF / (MTBF + MTTR).
Ví dụ thực tế: Database server có MTBF = 720 giờ (30 ngày), MTTR = 2 giờ. Availability = 720/(720+2) = 99.72%. Nếu business yêu cầu 99.99% uptime (≈52 phút downtime/năm), cần giải pháp High Availability (clustering, replication).
1.3. Business Impact Analysis (BIA — Phân tích tác động kinh doanh)
BIA là quá trình xác định các business function quan trọng và đánh giá tác động nếu chúng bị gián đoạn. Quy trình BIA gồm:
- Identify critical functions: Liệt kê tất cả quy trình kinh doanh — xử lý đơn hàng, thanh toán, chăm sóc khách hàng, HR, email.
- Determine dependencies: Mỗi function phụ thuộc vào hệ thống IT nào? Database nào? Network nào?
- Assess impact: Nếu function này dừng 1h, 4h, 24h — thiệt hại tài chính, uy tín, pháp lý là bao nhiêu?
- Set RTO/RPO: Dựa trên mức thiệt hại, xác định RTO và RPO phù hợp cho từng hệ thống.
- Prioritize: Hệ thống thanh toán (RTO 2h, RPO 15 phút) ưu tiên cao hơn hệ thống HR (RTO 24h, RPO 4h).
1.4. Chiến lược DR Site & Backup (Hot / Warm / Cold Site + Backup Types)
| Site Type | Mô tả | RTO | Chi phí |
|---|---|---|---|
| Hot Site | Luôn sẵn sàng, data đồng bộ real-time, có thể failover trong phút | < 1 giờ | Rất cao |
| Warm Site | Có hardware sẵn, data backup định kỳ, cần vài giờ để activate | 2 – 12 giờ | Trung bình |
| Cold Site | Chỉ có địa điểm và điện/mạng, phải mua/cài hardware mới, restore từ backup | 1 – 7 ngày | Thấp |
Backup types:
- Full backup: Copy toàn bộ dữ liệu. Restore nhanh nhất — chỉ cần 1 tape/file. Tốn nhiều dung lượng và thời gian backup.
- Incremental backup: Chỉ copy dữ liệu thay đổi kể từ lần backup cuối cùng (bất kỳ loại nào). Backup nhanh, dung lượng nhỏ — nhưng restore phải dùng full + tất cả incremental theo thứ tự.
- Differential backup: Copy dữ liệu thay đổi kể từ lần full backup gần nhất. Backup chậm hơn incremental nhưng restore đơn giản hơn — chỉ cần full + differential mới nhất.
Quy tắc 3-2-1 (3-2-1 Backup Rule): Luôn có ít nhất 3 bản sao dữ liệu, lưu trên 2 loại media khác nhau (disk + tape, hoặc disk + cloud), trong đó 1 bản offsite (tại địa điểm khác hoặc cloud). Quy tắc này đảm bảo không có single point of failure trong backup strategy.
1.5. Vòng đời xử lý sự cố PICERL (Incident Response Lifecycle)
Mô hình PICERL của ISC2 CC gồm 6 giai đoạn:
- Prepare (Chuẩn bị): Xây dựng IR policy, thành lập team (CIRT/CSIRT), cài đặt công cụ monitoring, chạy tabletop exercise định kỳ.
- Identify (Nhận diện): Phát hiện sự cố qua alert, báo cáo user, SIEM. Xác định: đây có thực sự là incident không? Phạm vi ảnh hưởng?
- Contain (Ngăn chặn): Ngăn sự cố lây lan. Short-term: isolate hệ thống bị nhiễm. Long-term: vá lỗ hổng, đổi credentials.
- Eradicate (Loại trừ): Xóa malware, đóng backdoor, xác định root cause và loại bỏ hoàn toàn.
- Recover (Phục hồi): Restore hệ thống từ backup sạch, verify integrity, đưa vào production với giám sát tăng cường.
- Lessons Learned (Rút kinh nghiệm): Họp post-incident trong vòng 2 tuần. Ghi lại: what happened, timeline, what worked, what didn't, cải tiến process.
2. Bài thực hành / Hands-on lab
Lab 1 — Kiểm tra trạng thái Backup trên Windows Server
OS: Windows Server 2022 · Tool: PowerShell 7 + Windows Server Backup (wbadmin).
Mục tiêu: xác minh backup schedule và kiểm tra tính toàn vẹn của các bản backup — bước Accounting và Monitor trong vòng đời DR.
- Cài Windows Server Backup feature nếu chưa có:
# Cài Windows Server Backup (cần quyền Admin)
Install-WindowsFeature -Name Windows-Server-Backup -IncludeManagementTools
# Xem tóm tắt trạng thái backup gần nhất
Get-WBSummary
# Liệt kê tất cả phiên bản backup đang lưu
wbadmin get versions
# Liệt kê các item trong backup gần nhất
wbadmin get items -version:(wbadmin get versions | Select-String "Version identifier:" | Select-Object -Last 1 | ForEach-Object { $_ -replace "Version identifier: ","" })
- Kiểm tra Volume Shadow Copy (VSS) — nền tảng của backup trên Windows:
# Liệt kê tất cả shadow copy hiện có
vssadmin list shadows
# Liệt kê shadow storage allocation
vssadmin list shadowstorage
# Kiểm tra trạng thái VSS Writers (phải ở trạng thái Stable)
vssadmin list writers | Select-String -Pattern "Writer name|State|Last error"
# Xem lịch sử backup qua event log
Get-WinEvent -LogName "Microsoft-Windows-Backup" -MaxEvents 20 |
Select-Object TimeCreated, LevelDisplayName, Message |
Format-Table -AutoSize -Wrap
✅ Kết quả mong đợi / Expected output: Get-WBSummary hiển thị LastBackupTime, LastBackupResult (Success/Failed), NextBackupTime. wbadmin get versions liệt kê các version với timestamp và kích thước. VSS writers ở trạng thái [1] Stable. Nếu LastBackupResult là "Failed" hoặc NextBackupTime đã qua — cần điều tra ngay (vi phạm RPO).
Lab 2 — Linux Backup với tar + rsync
OS: Ubuntu 22.04 · Tool: Bash + rsync.
Mục tiêu: tạo backup compressed có timestamp, sync offsite qua rsync, và verify integrity bằng checksum — áp dụng 3-2-1 rule.
# Bước 1: Tạo thư mục backup local nếu chưa có
sudo mkdir -p /backup/local
sudo mkdir -p /backup/logs
# Bước 2: Tạo full backup của /home với tar (compressed, preserve permissions)
BACKUP_DATE=$(date +%Y%m%d-%H%M)
BACKUP_FILE="/backup/local/${BACKUP_DATE}-home-full.tar.gz"
sudo tar \
--create \
--gzip \
--preserve-permissions \
--verbose \
--file="$BACKUP_FILE" \
/home \
2>/backup/logs/${BACKUP_DATE}-backup.log
echo "Backup created: $BACKUP_FILE"
ls -lh "$BACKUP_FILE"
# Bước 3: Tạo SHA-256 checksum để verify integrity sau này
sha256sum "$BACKUP_FILE" | sudo tee "${BACKUP_FILE}.sha256"
echo "Checksum saved."
# Bước 4: Sync sang backup server offsite (thay IP bằng server thật)
# Yêu cầu: SSH key-based auth đã setup giữa hai server
BACKUP_SERVER="[email protected]"
REMOTE_PATH="/backup/company-server/"
rsync \
--archive \
--verbose \
--progress \
--compress \
--checksum \
"$BACKUP_FILE" \
"${BACKUP_FILE}.sha256" \
"${BACKUP_SERVER}:${REMOTE_PATH}"
# Bước 5: Verify checksum sau khi copy
echo "=== Verifying integrity ==="
sha256sum --check "${BACKUP_FILE}.sha256"
# Bước 6: Dọn backup cũ hơn 30 ngày (retention policy)
find /backup/local -name "*.tar.gz" -mtime +30 -exec echo "Would delete: {}" \;
# Bỏ echo và \; để thực sự xóa: find /backup/local -name "*.tar.gz" -mtime +30 -delete
✅ Kết quả mong đợi / Expected output: File 20260524-0900-home-full.tar.gz được tạo trong /backup/local/. File .sha256 chứa hash để verify. rsync hiển thị tiến trình transfer với tốc độ MB/s. Lệnh sha256sum --check trả về OK — xác nhận file không bị corrupt trong quá trình transfer. Đây là minh họa 3-2-1: 1 bản local + 1 bản remote (offsite).
3. Tình huống doanh nghiệp / Real-world scenario
Bối cảnh — Ransomware tấn công File Server lúc 17:00 thứ Sáu:
Một công ty logistics 500 nhân viên bị tấn công ransomware vào chiều thứ Sáu. File server chính chứa dữ liệu vận đơn, hợp đồng và báo cáo kế toán bị mã hóa hoàn toàn. Attacker để lại thông điệp yêu cầu 50,000 USD Bitcoin trong 72 giờ. Đội IT kích hoạt IR Plan ngay lập tức.
Thực thi PICERL:
- Prepare (đã thực hiện trước đó): IR Policy có sẵn, CSIRT được thành lập, backup chạy hàng ngày lúc 2AM với rsync offsite, tabletop exercise chạy 6 tháng/lần.
- Identify (17:05): Alert từ antivirus về file encryption activity trên
\\fileserver\shared. IT xác nhận: 80% file có extension.encrypted. Ransom note trong mỗi folder. Xác định: đây là incident cấp độ Critical. - Contain (17:10): Short-term: isolate file server khỏi network (unplug LAN, disable switch port). Kiểm tra các máy trạm khác — phát hiện thêm 3 máy bị nhiễm qua network share, isolate tiếp. Disable tài khoản service account đang dùng để map share.
- Eradicate (19:00): Forensics team thu thập memory dump và disk image trước khi wipe. Xác định attack vector: phishing email thứ Tư → credential compromise → lateral movement qua SMB. Wipe và rebuild file server từ clean OS image.
- Recover (21:00): Restore từ backup của 2AM thứ Sáu (mất 15 giờ dữ liệu — trong RPO 24h đã định). Verify integrity file. Đưa server lên mạng với giám sát tăng cường (EDR + network monitoring). Thông báo nhân viên có thể làm việc lại lúc 9AM thứ Hai.
- Lessons Learned (thứ Tư tuần sau): Root cause: email phishing không bị MFA chặn vì service account không có MFA. Gap: backup verification không được test định kỳ (lần này may mắn restore thành công). Action items: bật MFA cho tất cả tài khoản kể cả service account, lên lịch test restore hàng tháng, triển khai email sandboxing.
Key takeaway: Backup tốt là tuyến phòng thủ cuối cùng chống ransomware. Nhưng backup không được test là backup không tồn tại. "The best time to test your backup is before you need it."
4. Tự kiểm tra / Knowledge check
- Một ngân hàng có RTO = 2 giờ và RPO = 15 phút cho hệ thống core banking. Họ nên chọn loại DR site nào? Loại backup nào phù hợp?
- Phân biệt incremental và differential backup. Trong tình huống khẩn cấp cần restore nhanh nhất có thể, bạn chọn loại nào? Tại sao?
- Đội CSIRT đang ở giai đoạn Contain — họ cần isolate server bị nhiễm nhưng lo ngại mất evidence. Làm thế nào để balance giữa containment và evidence preservation?
- Quy tắc 3-2-1 yêu cầu gì? Nếu một công ty chỉ backup lên NAS nội bộ, họ vi phạm phần nào của quy tắc này?
- Tabletop exercise là gì? Nó khác với DR drill (drill thực tế) như thế nào? Khi nào nên dùng loại nào?