ISC2 CC · Domain 2 · 10%

Kinh doanh liên tục, DR & Xử lý sự cố

Business Continuity / Disaster Recovery / Incident Response

Tổ chức phải hoạt động liên tục ngay cả khi thảm họa xảy ra. Chương này trang bị kiến thức về BC/DR planning, các chỉ số phục hồi quan trọng và vòng đời xử lý sự cố PICERL.

Mục tiêu chương / Learning objectives

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)

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:

  1. 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.
  2. Determine dependencies: Mỗi function phụ thuộc vào hệ thống IT nào? Database nào? Network nào?
  3. 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?
  4. 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.
  5. 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 TypeMô tảRTOChi phí
Hot SiteLuôn sẵn sàng, data đồng bộ real-time, có thể failover trong phút< 1 giờRất cao
Warm SiteCó hardware sẵn, data backup định kỳ, cần vài giờ để activate2 – 12 giờTrung bình
Cold SiteChỉ có địa điểm và điện/mạng, phải mua/cài hardware mới, restore từ backup1 – 7 ngàyThấp

Backup types:

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:

2. Bài thực hành / Hands-on lab

🖥️ Nền tảng: Windows Server 2022
🛠️ Công cụ: PowerShell 7 + Windows Server Backup

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.

  1. 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: ","" })
  1. 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).

🖥️ Nền tảng: Ubuntu 22.04 LTS
🛠️ Công cụ: Bash + rsync

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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

  1. 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?
  2. 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?
  3. Độ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?
  4. 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?
  5. 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?
C01: Nguyên lý bảo mật & Rủi ro C03: Kiểm soát truy cập
Thực hành trên công cụPowerShell 7 · Bash · rsync
Nền tảngWindows Server 2022 · Ubuntu 22.04
Thời điểm phát hànhQ2/2026
Ngày biên soạn24/05/2026
Người biên soạnTrần Văn Hòa (MCT)
Phiên bảnv1.0
Zalo