Hướng dẫn bật Virtualization-Based Security (VBS) và Credential Guard trên VMware vSphere

Hacker sẽ làm gì khi chiếm được quyền Local Admin?

Hãy tưởng tượng Windows Server là một tòa nhà văn phòng. Tài khoản Administrator lúc này giống hệt chùm chìa khóa vạn năng. Khi mã độc xâm nhập và leo quyền SYSTEM hoặc Admin thành công, mọi rào cản thông thường gần như sụp đổ.

Kẻ tấn công chỉ cần gõ một dòng lệnh Mimikatz quen thuộc: sekurlsa::logonpasswords. Ngay lập tức, tiến trình LSASS (Local Security Authority Subsystem Service) bị trích xuất sạch bộ nhớ. Mọi NTLM hash và vé Kerberos của các tài khoản từng đăng nhập máy chủ này đều lộ diện. Từ đây, hacker dễ dàng thực hiện tấn công Pass-the-Hash để nhảy sang Domain Controller chỉ trong vài phút.

Để giải quyết gốc rễ vấn đề, Microsoft và VMware chọn hướng tiếp cận phần cứng: cô lập hoàn toàn kho chứa mật khẩu vào một vùng nhớ bất khả xâm phạm. Đó là cơ chế hoạt động của Virtualization-Based Security (VBS) và Credential Guard.

So sánh 3 cách bảo vệ thông tin xác thực trên máy ảo

Khi quản trị máy chủ Windows Server trên hạ tầng ảo hóa, bạn thường có ba lựa chọn chính:

  • Phương pháp 1: Dùng Antivirus hoặc EDR truyền thống. Agent bảo mật chạy trực tiếp trong OS để giám sát hành vi đọc bộ nhớ LSASS. Cách này dễ triển khai nhưng hay bị hacker vô hiệu hóa bằng kỹ thuật unhooking hoặc nạp driver lỗi thời (BYOVD).
  • Phương pháp 2: Kiến trúc phân tầng tài khoản kết hợp Windows LAPS. Hệ thống tự động đổi mật khẩu Local Admin định kỳ và ngăn quản trị viên dùng tài khoản Domain Admin đăng nhập bừa bãi vào máy trạm hoặc app server. Phương án này giảm phạm vi ảnh hưởng khi một máy bị lộ, nhưng không ngăn được việc đọc RAM tại chỗ.
  • Phương pháp 3: Cách ly phần cứng bằng VBS và Credential Guard trên vSphere. Hypervisor chia máy ảo thành hai vùng riêng biệt: Normal World (nơi Windows hoạt động) và Secure World (Virtual Secure Mode – VSM). Tiến trình xác thực nhạy cảm LsaIso.exe được đẩy sang chạy bên trong Secure World. Dù hacker có quyền SYSTEM cao nhất ở Windows, CPU vẫn chặn đứng mọi nỗ lực can thiệp vào vùng VSM này.

Đánh giá chi tiết ưu và nhược điểm

Bảng so sánh dưới đây giúp bạn cân đối giữa rủi ro bảo mật và chi phí vận hành:

Tiêu chí Antivirus / EDR LAPS & Phân quyền tiering VBS + Credential Guard
Khả năng chống dump LSASS Trung bình. EDR dễ bị qua mặt nếu hacker khai thác zero-day hoặc dùng kỹ thuật nạp driver có chữ ký số hợp lệ để can thiệp kernel. Gián tiếp. Thu hẹp quy mô lây lan mạng ngang hàng chứ không chặn được thao tác đọc RAM trên máy bị chiếm. Gần như tuyệt đối. Cơ chế phân tách mức hypervisor bảo vệ bộ nhớ an toàn trước mọi tiến trình chạy ở Normal World.
Độ phức tạp triển khai Thấp. Chỉ cần cài agent và đẩy policy từ console quản lý tập trung. Trung bình. Đòi hỏi tái cấu trúc mô hình phân quyền Active Directory và thay đổi quy trình vận hành của đội ngũ IT. Khá cao. Yêu cầu tính năng phần cứng CPU, cấu hình vCenter Key Provider, chỉnh sửa VM settings và Group Policy.
Tải nguyên tiêu hao Chiếm 2% – 5% CPU và tốn từ 300MB – 800MB RAM cho các tiến trình quét nền. Không đáng kể, chỉ phát sinh tác vụ nhỏ khi định kỳ đồng bộ mật khẩu mới về AD. Tiêu tốn thêm khoảng 1% – 3% CPU do chi phí xử lý ảo hóa lồng nhau (Nested Paging / SLAT).

Chiến lược triển khai: Phòng thủ theo chiều sâu

Trong hạ tầng 8 host ESXi mà mình đang quản lý, không công cụ đơn lẻ nào đảm bảo an toàn 100%. Nếu chỉ ỷ lại vào EDR, hệ thống sẽ sụp đổ khi xuất hiện lỗ hổng zero-day cấp kernel.

Mô hình phòng thủ hiệu quả nhất là kết hợp đa tầng: triển khai LAPS để dập tắt lây lan ngang, giữ EDR để phát hiện sớm các bất thường mạng, và bật VBS kèm Credential Guard làm tấm khiên chốt chặn cuối cùng. Khi đó, hacker dù nắm trọn quyền quản trị cao nhất trên máy ảo cũng đành bất lực trước cánh cửa VSM.

Điều kiện phần cứng và phần mềm trên vSphere

Trước khi cấu hình, bạn cần rà soát lại thông số hạ tầng VMware:

  • ESXi và vCenter: Tối thiểu từ bản 6.7, nhưng khuyến nghị dùng vSphere 7.0 Update 2 trở lên hoặc vSphere 8.0 để tận dụng Native Key Provider.
  • CPU máy chủ vật lý: Hỗ trợ công nghệ ảo hóa Intel VT-x + EPT hoặc AMD-V + RVI, đồng thời phải bật IOMMU (Intel VT-d hoặc AMD-Vi) trong BIOS máy chủ.
  • Thông số máy ảo (VM): Virtual Hardware Version tối thiểu 14, Firmware chuẩn EFI và đã bật Secure Boot.
  • Hệ điều hành khách: Windows Server 2016 trở lên (tối ưu nhất là Windows Server 2022 và 2025).
  • Key Provider: vCenter cần cấu hình sẵn Native Key Provider hoặc kết nối KMS ngoài nếu bạn dự định gắn thêm vTPM cho máy ảo.

Quy trình triển khai 4 bước chi tiết

Bước 1: Thiết lập vSphere Native Key Provider trên vCenter

Nếu dùng vSphere 7.0 U2 trở lên, bạn không cần tốn ngân sách mua hệ thống KMS đắt đỏ của bên thứ ba:

  1. Truy cập vSphere Client, nhấp vào tên vCenter Server ở menu trái > chọn thẻ Configure.
  2. Tìm đến nhóm Security > chọn Key Providers > bấm Add > chọn Add Native Key Provider.
  3. Đặt tên cho provider (ví dụ: NKP-Cluster-Prod). Bỏ tích chọn mục Use key provider only for TPM hosts nếu cụm máy chủ vật lý của bạn chưa có chip TPM 2.0 gắn ngoài.
  4. Bấm Add Key Provider. Ngay sau đó, bạn bắt buộc phải bấm nút Back up để tải file chứng chỉ .p12 về máy. Key Provider chỉ chuyển sang trạng thái Active sau khi đã hoàn tất bước sao lưu này.

Bước 2: Kích hoạt VBS và gắn vTPM vào máy ảo

Hãy tắt máy ảo Windows Server trước khi chỉnh sửa thông số phần cứng ảo:

  1. Nhấp chuột phải vào VM > chọn Edit Settings.
  2. Chuyển qua thẻ VM Options > mở rộng mục Boot Options: Chọn Firmware là EFI và đánh dấu vào ô Secure Boot.
  3. Vẫn tại thẻ VM Options, cuộn xuống mục Virtualization Based Security: Tích chọn Turn On Virtualization Based Security. vSphere sẽ tự động bật các cờ ảo hóa phần cứng phụ trợ.
  4. Chuyển về thẻ Virtual Hardware, chọn Add New Device > chọn Trusted Platform Module (vTPM). Thiết bị này giúp Windows quản trị chứng chỉ và khóa mật mã an toàn hơn.
  5. Bấm OK rồi bật nguồn lại máy ảo.

Nếu cần áp dụng đồng loạt cho 20–30 máy ảo trong cụm, bạn có thể chạy đoạn script PowerCLI sau thay vì thao tác tay:

# Kết nối vCenter Server
Connect-VIServer -Server vcenter.company.local

$VMName = "SRV-FILE-01"
$vm = Get-VM -Name $VMName

# Đảm bảo VM đã tắt nguồn trước khi cập nhật VBS
if ($vm.PowerState -eq "PoweredOff") {
    $spec = New-Object VMware.Vim.VirtualMachineConfigSpec
    $spec.Flags = New-Object VMware.Vim.VirtualMachineFlagInfo
    $spec.Flags.VbsEnabled = $true
    
    $vm.ExtensionData.ReconfigVM($spec)
    Write-Host "[OK] Da bat VBS thanh cong tren $VMName" -ForegroundColor Green
} else {
    Write-Warning "[!] Vui long tat nguon $VMName truoc khi thay doi cau hinh!"
}

Bước 3: Bật Credential Guard qua Local Group Policy

Sau khi máy ảo khởi động vào Windows Server, bạn cần chỉ định cho OS kích hoạt Credential Guard:

  1. Bấm tổ hợp phím Windows + R, nhập gpedit.msc rồi nhấn Enter (hoặc chỉnh sửa GPO từ Domain Controller để áp dụng cho cả OU máy chủ).
  2. Truy cập theo nhánh:

    Computer Configuration > Administrative Templates > System > Device Guard.
  3. Nhấp đúp chuột vào chính sách Turn On Virtualization Based Security, đổi trạng thái sang Enabled.
  4. Tại khung tùy chọn bên dưới, thiết lập các mục sau:
    • Select Platform Security Level: Chọn Secure Boot and DMA Protection (hoặc Secure Boot nếu phần cứng cũ hơn).
    • Credential Guard Configuration: Chọn Enabled with UEFI lock để ngăn hacker vô hiệu hóa qua registry mà không khởi động lại máy vật lý.
    • Secure Launch Configuration: Chọn Enabled (nếu CPU hỗ trợ bảo vệ khởi động DRTM).
  5. Bấm OK. Mở cửa sổ Command Prompt bằng quyền Administrator và chạy lệnh cập nhật policy, sau đó khởi động lại máy:
gpupdate /force
shutdown /r /t 0

Bước 4: Kiểm tra và xác nhận trạng thái

Khi máy chủ hoàn tất quá trình khởi động lại, mở PowerShell với quyền Administrator và chạy lệnh:

Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard | 
Select-Object SecurityServicesConfigured, SecurityServicesRunning, VirtualizationBasedSecurityStatus

Hệ thống cấu hình chuẩn xác khi trả về các giá trị sau:

  • VirtualizationBasedSecurityStatus = 2: VBS đã bật và đang chạy ổn định.
  • SecurityServicesRunning: Xuất hiện giá trị 1, biểu thị dịch vụ Credential Guard đang trực tiếp bảo vệ LSASS.

Để trực quan hơn, bạn mở hộp thoại Run, gõ msinfo32. Ở trang System Summary, kéo xuống dưới cùng để thấy mục Virtualization-based security hiển thị Running và Device Guard Security Services Running hiển thị Credential Guard.

Kinh nghiệm thực chiến khi vận hành hạ tầng

Dựa trên thực tế vận hành hệ thống, mình có 3 lưu ý bạn cần nắm rõ:

  • Di trú vMotion: Máy ảo gắn vTPM vẫn vMotion giữa các host bình thường. Tuy nhiên, toàn bộ ESXi host trong cluster bắt buộc phải kết nối chung một Key Provider. Nếu thiếu key, tiến trình di trú sẽ dừng ngay ở bước kiểm tra tương thích.
  • Độ trễ ứng dụng cơ sở dữ liệu: Với các tải tính toán nặng như Microsoft SQL Server hay Oracle DB, overhead ảo hóa lồng có thể làm tăng độ trễ truy vấn RAM từ 1% – 2%. Hãy benchmark hiệu năng trên môi trường staging trước khi áp dụng cho database cốt lõi.
  • Cấu hình giải pháp Backup: Các phần mềm sao lưu doanh nghiệp như Veeam Backup & Replication từ v11 trở lên hoặc Commvault đều hỗ trợ VM có vTPM. Dù vậy, hãy chắc chắn bạn đã kích hoạt tùy chọn sao lưu metadata mã hóa để việc restore máy ảo diễn ra trơn tru.
Share: