Nếu muốn triển khai Hyper-V và các máy ảo, một trong những yêu cầu chính cần phải có đó là bảo đảm cho môi trường của bạn được an toàn. Bài viết này chúng tôi sẽ giới thiệu cho các bạn về cách cấu hình bảo mật Hyper-V bằng cách sử dụng Authorization Manager. Bài viết cũng giới thiệu những cách thực hành tốt nhất để bảo mật của Hyper-V và cung cấp một số ví dụ về cách thực thi bảo mật Hyper-V bằng Authorization Manager.
Các thuật ngữ
Parent Partition: Windows Server 2008 đang chạy Hyper-V role được gọi là Parent Partition. Parent Partition có nhiệm vụ tạo Child Partition và kiểm soát sự truyền thông giữa các máy ảo.
Child Partition: Một máy ảo chạy trên Hyper-V Server được gọi là Child Partition. Parent Partition tạo ra các Child Partition.
Authorization Manager: Authorization Manager bảo đảm an toàn cho tài nguyên. Hyper-V sử dụng Authorization Manager để bảo vệ an toàn cho các máy ảo.
Nhiệm vụ đầu tiên mà các quản trị viên CNTT cần phải thực hiện là cung cấp sự an toàn cho cơ sở hạ tầng máy chủ trước khi được thực thi thực trong môi trường sản xuất. Hyper-V là một trong số đó. Có rất nhiều quản trị viên CNTT đều không biết cách thực thi một môi trường Hyper-V an toàn. Điều này không phải do lỗi từ phía các quản trị viên mà chính là do Hyper-V vẫn còn rất mới trong thế giới ảo hóa. Hay nói một cách khác, so với Vmware thì Hyper-V có tuổi đời ít hơn rất nhiều. Công nghệ mới này có chứa nhiều điểm khác biệt so với đối thủ cạnh tranh của nó. Cho ví dụ, Vmware sử dụng kiến trúc Monolithic VMM, trong khi đó Hyper-V sử dụng kiến trúc Microkernelized VMM. Sự khác biệt cũng có thể nằm trong kiến trúc bảo mật.
Hyper-V không có công cụ đi kèm để sử dụng cho việc bảo vệ máy ảo mà thay vào đó, nó sử dụng một thành phần của Windows có tên Authorization Manager giúp bảo mật cho các máy ảo và Hyper-V. Authorization Manager là một thành phần có trong Windows Server 2008 và được kích hoạt mặc định. Vấn đề bảo mật ở đây có liên quan đến tất cả khía cạnh. Cho ví dụ, bảo mật các hệ điều hành có liên quan đến bảo mật các file hệ điều hành (chẳng hạn như các file DLL và OCX). Tương tự như vậy, với Hyper-V, bạn cũng nên biết những gì cần bảo mật khi muốn bảo mật Hyper-V và các máy ảo của mình (ví như bạn muốn bảo mật các máy ảo hay toàn bộ môi trường Hyper-V?).
Tuy nhiên việc bảo mật các máy ảo không liên quan nhiều đến việc quản trị. Bạn chỉ cần biết cách sử dụng Authorization Manager và thực hiện một số nhiệm vụ bảo mật. Để bảo mật cho toàn bộ môi trường Hyper-V, bạn phải biết mọi thứ về Hyper-V, cần phải biết được nơi Hyper-V copy tất cả các file của nó, tất cả các cổng được mở cho các dịch vụ đang chạy trên Hyper-V và cấu hình mặc định của Hyper-V.
Chúng tôi sẽ giới thiệu cho các bạn chi tiết về các chủ đề dưới đây trong loạt bài này:
Cấu hình mặc định của Hyper-V và việc bảo mật file, thư mục
Các quản trị viên cần phải biết được cấu hình mặc định của Hyper-V. Đầu tiên, chúng tôi sẽ giới thiệu đến việc bảo mật các thư mục mà ở đó có chứa các máy ảo VHD và các file cấu hình (XML).
Khi kích hoạt Hyper-V role trên Windows Server 2008 lần đầu, chương trình sẽ tạo một vài thư mục và copy nhiều file trong nó. Ở đây chúng ta cần phải biết được location mặc định cho việc lưu các máy ảo và các file cấu hình trước khi bắt tay vào thực hiện bảo mật cho Hyper-V.
%SystemRoot%ProgramDataMicrosoftWindowsHyper-VVirtual Machines %SystemRoot%ProgramDataMicrosoftWindowsHyper-VVirtual Hard Disks %SystemRoot%ProgramDataMicrosoftWindowsHyper-VSnapshots
Mặc định, Hyper-V sử dụng các thư mục ở trên để lưu các file cấu hình máy ảo cũng như VHD và các snapshot có liên quan đến các máy ảo. Bạn phải thay đổi location mặc định trước khi chuyển Hyper-V sang môi trường sản xuất. Cách tốt nhất là nên thay đổi location mặc định cho việc lưu VHD, XML và các file Snapshot vào SAN drive.
Khi bạn cài đặt Hyper-V Role, một nhóm bảo mật đặc biệt mang tên "Virtual Machines" sẽ được tạo. Nhóm bảo mật này gồm có các GUID của tất cả máy ảo đã được đăng ký với Hyper-V Server, và nó có quyền truy cập vào thư mục
%SystemRoot%ProgramDataMicrosoftWindowsHyper-VVirtual Machines
đây là thư mục lưu các file cấu hình (XML Files) của các máy ảo. Nếu nhóm bảo mật (Security Group) bị xóa hoặc không có trong tab Security của thư mục máy ảo thì bạn không thể truy cập vào các máy ảo đang chạy trên Hyper-V. Quá trình VMMS.EXE chịu trách nhiệm quản lý sự truy cập cho tất cả các máy ảo, sử dụng nhóm bảo mật "Virtual Machines" để tăng sự truy cập vào các máy ảo trên Hyper-V Server.
Mặc định, các đặc quyền bảo mật trên thư mục
Hyper-VVirtual Machines
như thể hiện dưới đây:
Các đặc quyền bảo mật mặc định trên thư mục Virtual Machines Tối thiểu, cần giữ các nhóm bảo mật được đề cập bên dưới trong property của thư mục
Hyper-VVirtual Machines: SYSTEM Account -Full Control Administrators -Full Control Virtual Machines -Special Permissions
Mặc định, Hyper-V không cho phép bất cứ ai truy cập các máy ảo ngoại trừ SYSTEM Account và Local Administrators Account. Điều này hoàn toàn rõ ràng trong hình ở trên. Local Administrators Security Group được bổ sung vào kho lưu trữ các chính sách của Authorization Manager và nó được trao quyền kiểm soát toàn bộ trên Hyper-V, gồm có cả các máy ảo đang chạy trên nó.
Các thiết lập bảo mật tương tự, được thể hiện trong hình trên, sử dụng cho thư mục Hyper-Vsnapshots.
Mẹo: Nếu bạn muốn không cho người dùng hoặc quản trị viên tạo các máy ảo trên Hyper-V Server, hãy remove nhóm bảo mật đặc biệt "Virtual Machines" khỏi thư mục:
Hyper-VVirtual Machines
Thư mục tiếp theo cần bảo mật trên Hyper-V là
Hyper-VVirtual Hard Disks
Việc bảo mật thư mục này có ý nghĩa quan trọng hơn so với thư mục có chứa các file XML vì Hyper-V hỗ trợ các máy ảo dưới định dạng VHD. Các định dạng VHD này có thể được sử dụng với các phiên bản trước đây của phần mềm ảo hóa. Người dùng không thẩm định truy cập vào các file VHD đều có thể copy file VHD và sử dụng nó với Virtual Server hoặc Virtual PC. Các thiết lập mặc định trên thư mục
Hyper-VVirtual Hard Disks
thể hiện như những gì bên dưới:
Các đặc quyền bảo mật mặc định trên thư mục Virtual Hard Disks Để thắt chặt hơn vấn đề bảo mật cho thư mục có chứa VHD, bạn có thể remove nhóm bảo mật Users đã được thêm khi kích hoạt Hyper-V Role ban đầu. Tối thiểu, bạn nên giữ các nhóm bảo mật dưới đây trong tab Security:
SYSTEM - Full Control Administrators - Full Control Authenticated Users - Read & Execute
Cách bảo mật truy cập máy ảo bằng DACL
Authorization Manager, thành phần sẽ được chúng tôi giới thiệu ở phần sau, là một công cụ chính cho việc bảo mật truy cập máy ảo. Tuy nhiên các bạn cũng có thể cấu hình DACL trên thư mục máy ảo để bảo mật cho các máy ảo đang chạy trên Hyper-V. Cách thức bảo mật này được thực hiện bằng cách sử dụng các đặc quyền NTFS.
Bảo mật truy cập máy ảo bằng DACL Như những gì các bạn thấy trong hình trên, tổ chức thể hiện có hai nhóm: nhóm phát triển và nhóm Test. Hai nhóm bảo mật đã được tạo cho mỗi đội – Dev Team và Test Team. Nhóm phát triển Development chịu trách nhiệm viết mã, sau đó chuyển giao chúng cho nhóm Test để thực hiện kiểm tra. Nhóm phát triển phải truy cập tất cả 10 máy ảo (lấy ví dụ). Tại cùng thời điểm đó, phải bảo đảm cho nhóm Test không truy cập đến các máy ảo của họ, ngoại trừ TVM1 đến TVM5. Để thực hiện điều đó, hãy gán các đặc quyền NTFS trên các thư mục máy ảo.
Trong ví dụ này, có ba thư mục máy ảo:
Nhóm phát triển được gán đặc quyền kiểm soát toàn bộ trên thư mục 2 và 3, còn nhóm Test được gán đặc quyền toàn bộ chỉ trên thư mục 3. Đôi khi nhóm Test thậm chí còn không có đặc quyền đọc trên thư mục 3.
Tổng quan các dịch vụ và việc bảo mật các dịch vụ của Hyper-V
Hyper-V là một ứng dụng client/server. Hyper-V có ba dịch vụ mặc định bên dưới:
Tên dịch vụ Chức năng
Nội dung bảo mật
Cấu hình nên đặt
Virtual Machine Management Service
Manages overall Hyper-V environment
SYSTEM Account
Default
Hyper-V Image Management Service
Management of Virtual Hard Disks
Network Service
Default
Hyper-V Network Management Service
Management of Hyper-V Virtual Networking
SYSTEM Account
Default
Các dịch vụ ở trên được cấu hình khởi chạy hoàn toàn tự động dưới nội dung bảo mật SYSTEM Account. Tài khoản theo đó mà các dịch vụ này chạy có đặc quyền cao nhất trên hệ thống. Bạn không nên thay đổi tài khoản bên dưới nội dung mà chúng chạy. Nếu thay đổi, hacker hoặc mã độc có thể tấn công vào các máy ảo hoặc Parent Partition của Hyper-V. Mật khẩu tài khoản SYSTEM cũng cần phải được đảm bảo bí mật. Việc chạy các dịch vụ này trong một tài khoản người dùng miền sẽ không an toan chút nào vì lúc này hacker có thể tìm ra mật khẩu bằng các phần mềm.
Kết luận
Trong phần này, chúng tôi đã giới thiệu cho các bạn về cách Hyper-V lưu các file VHD và các file XML trên ổ đĩa hệ thống như thế nào. Một điểm cần nhấn mạnh trong bài là các bạn nên thay đổi location mặc định để lưu VHD và XML vào SAN Drive, sau đó thực hiện bảo mật bằng cách gán các đặc quyền NTFS. Trong phần chúng tôi cũng đã cung cấp một ví dụ về cách bảo mật truy cập máy ảo bằng cách sử dụng các đặc quyền NTFS.
Các thuật ngữ
Parent Partition: Windows Server 2008 đang chạy Hyper-V role được gọi là Parent Partition. Parent Partition có nhiệm vụ tạo Child Partition và kiểm soát sự truyền thông giữa các máy ảo.
Child Partition: Một máy ảo chạy trên Hyper-V Server được gọi là Child Partition. Parent Partition tạo ra các Child Partition.
Authorization Manager: Authorization Manager bảo đảm an toàn cho tài nguyên. Hyper-V sử dụng Authorization Manager để bảo vệ an toàn cho các máy ảo.
Nhiệm vụ đầu tiên mà các quản trị viên CNTT cần phải thực hiện là cung cấp sự an toàn cho cơ sở hạ tầng máy chủ trước khi được thực thi thực trong môi trường sản xuất. Hyper-V là một trong số đó. Có rất nhiều quản trị viên CNTT đều không biết cách thực thi một môi trường Hyper-V an toàn. Điều này không phải do lỗi từ phía các quản trị viên mà chính là do Hyper-V vẫn còn rất mới trong thế giới ảo hóa. Hay nói một cách khác, so với Vmware thì Hyper-V có tuổi đời ít hơn rất nhiều. Công nghệ mới này có chứa nhiều điểm khác biệt so với đối thủ cạnh tranh của nó. Cho ví dụ, Vmware sử dụng kiến trúc Monolithic VMM, trong khi đó Hyper-V sử dụng kiến trúc Microkernelized VMM. Sự khác biệt cũng có thể nằm trong kiến trúc bảo mật.
Hyper-V không có công cụ đi kèm để sử dụng cho việc bảo vệ máy ảo mà thay vào đó, nó sử dụng một thành phần của Windows có tên Authorization Manager giúp bảo mật cho các máy ảo và Hyper-V. Authorization Manager là một thành phần có trong Windows Server 2008 và được kích hoạt mặc định. Vấn đề bảo mật ở đây có liên quan đến tất cả khía cạnh. Cho ví dụ, bảo mật các hệ điều hành có liên quan đến bảo mật các file hệ điều hành (chẳng hạn như các file DLL và OCX). Tương tự như vậy, với Hyper-V, bạn cũng nên biết những gì cần bảo mật khi muốn bảo mật Hyper-V và các máy ảo của mình (ví như bạn muốn bảo mật các máy ảo hay toàn bộ môi trường Hyper-V?).
Tuy nhiên việc bảo mật các máy ảo không liên quan nhiều đến việc quản trị. Bạn chỉ cần biết cách sử dụng Authorization Manager và thực hiện một số nhiệm vụ bảo mật. Để bảo mật cho toàn bộ môi trường Hyper-V, bạn phải biết mọi thứ về Hyper-V, cần phải biết được nơi Hyper-V copy tất cả các file của nó, tất cả các cổng được mở cho các dịch vụ đang chạy trên Hyper-V và cấu hình mặc định của Hyper-V.
Chúng tôi sẽ giới thiệu cho các bạn chi tiết về các chủ đề dưới đây trong loạt bài này:
- Cấu hình mặc định Hyper-V và việc bảo vệ file, thư mục
- Máy ảo và các đặc quyền NTFS
- Tổng quan và bảo mật các dịch vụ của Hyper-V
- Các Rule và cấu hình tường lửa của Hyper-V
- Bảo mật Hyper-V và các máy ảo bằng Authorization Manager
- Ví dụ về bảo mật Hyper-V bằng Authorization Manager
- Một số thực hành bảo mật tốt nhất
Cấu hình mặc định của Hyper-V và việc bảo mật file, thư mục
Các quản trị viên cần phải biết được cấu hình mặc định của Hyper-V. Đầu tiên, chúng tôi sẽ giới thiệu đến việc bảo mật các thư mục mà ở đó có chứa các máy ảo VHD và các file cấu hình (XML).
Khi kích hoạt Hyper-V role trên Windows Server 2008 lần đầu, chương trình sẽ tạo một vài thư mục và copy nhiều file trong nó. Ở đây chúng ta cần phải biết được location mặc định cho việc lưu các máy ảo và các file cấu hình trước khi bắt tay vào thực hiện bảo mật cho Hyper-V.
%SystemRoot%ProgramDataMicrosoftWindowsHyper-VVirtual Machines %SystemRoot%ProgramDataMicrosoftWindowsHyper-VVirtual Hard Disks %SystemRoot%ProgramDataMicrosoftWindowsHyper-VSnapshots
Mặc định, Hyper-V sử dụng các thư mục ở trên để lưu các file cấu hình máy ảo cũng như VHD và các snapshot có liên quan đến các máy ảo. Bạn phải thay đổi location mặc định trước khi chuyển Hyper-V sang môi trường sản xuất. Cách tốt nhất là nên thay đổi location mặc định cho việc lưu VHD, XML và các file Snapshot vào SAN drive.
Khi bạn cài đặt Hyper-V Role, một nhóm bảo mật đặc biệt mang tên "Virtual Machines" sẽ được tạo. Nhóm bảo mật này gồm có các GUID của tất cả máy ảo đã được đăng ký với Hyper-V Server, và nó có quyền truy cập vào thư mục
%SystemRoot%ProgramDataMicrosoftWindowsHyper-VVirtual Machines
đây là thư mục lưu các file cấu hình (XML Files) của các máy ảo. Nếu nhóm bảo mật (Security Group) bị xóa hoặc không có trong tab Security của thư mục máy ảo thì bạn không thể truy cập vào các máy ảo đang chạy trên Hyper-V. Quá trình VMMS.EXE chịu trách nhiệm quản lý sự truy cập cho tất cả các máy ảo, sử dụng nhóm bảo mật "Virtual Machines" để tăng sự truy cập vào các máy ảo trên Hyper-V Server.
Mặc định, các đặc quyền bảo mật trên thư mục
Hyper-VVirtual Machines
như thể hiện dưới đây:
Các đặc quyền bảo mật mặc định trên thư mục Virtual Machines
Hyper-VVirtual Machines: SYSTEM Account -Full Control Administrators -Full Control Virtual Machines -Special Permissions
Mặc định, Hyper-V không cho phép bất cứ ai truy cập các máy ảo ngoại trừ SYSTEM Account và Local Administrators Account. Điều này hoàn toàn rõ ràng trong hình ở trên. Local Administrators Security Group được bổ sung vào kho lưu trữ các chính sách của Authorization Manager và nó được trao quyền kiểm soát toàn bộ trên Hyper-V, gồm có cả các máy ảo đang chạy trên nó.
Các thiết lập bảo mật tương tự, được thể hiện trong hình trên, sử dụng cho thư mục Hyper-Vsnapshots.
Mẹo: Nếu bạn muốn không cho người dùng hoặc quản trị viên tạo các máy ảo trên Hyper-V Server, hãy remove nhóm bảo mật đặc biệt "Virtual Machines" khỏi thư mục:
Hyper-VVirtual Machines
Thư mục tiếp theo cần bảo mật trên Hyper-V là
Hyper-VVirtual Hard Disks
Việc bảo mật thư mục này có ý nghĩa quan trọng hơn so với thư mục có chứa các file XML vì Hyper-V hỗ trợ các máy ảo dưới định dạng VHD. Các định dạng VHD này có thể được sử dụng với các phiên bản trước đây của phần mềm ảo hóa. Người dùng không thẩm định truy cập vào các file VHD đều có thể copy file VHD và sử dụng nó với Virtual Server hoặc Virtual PC. Các thiết lập mặc định trên thư mục
Hyper-VVirtual Hard Disks
thể hiện như những gì bên dưới:
Các đặc quyền bảo mật mặc định trên thư mục Virtual Hard Disks
SYSTEM - Full Control Administrators - Full Control Authenticated Users - Read & Execute
Cách bảo mật truy cập máy ảo bằng DACL
Authorization Manager, thành phần sẽ được chúng tôi giới thiệu ở phần sau, là một công cụ chính cho việc bảo mật truy cập máy ảo. Tuy nhiên các bạn cũng có thể cấu hình DACL trên thư mục máy ảo để bảo mật cho các máy ảo đang chạy trên Hyper-V. Cách thức bảo mật này được thực hiện bằng cách sử dụng các đặc quyền NTFS.
Bảo mật truy cập máy ảo bằng DACL
Trong ví dụ này, có ba thư mục máy ảo:
- X:Virtual Machines
- X:Virtual MachinesDevelopmentTeamVirtualMachines
- X:Virtual MachinesTestTeamVirtualMachines
Nhóm phát triển được gán đặc quyền kiểm soát toàn bộ trên thư mục 2 và 3, còn nhóm Test được gán đặc quyền toàn bộ chỉ trên thư mục 3. Đôi khi nhóm Test thậm chí còn không có đặc quyền đọc trên thư mục 3.
Tổng quan các dịch vụ và việc bảo mật các dịch vụ của Hyper-V
Hyper-V là một ứng dụng client/server. Hyper-V có ba dịch vụ mặc định bên dưới:
Tên dịch vụ Chức năng
Nội dung bảo mật
Cấu hình nên đặt
Virtual Machine Management Service
Manages overall Hyper-V environment
SYSTEM Account
Default
Hyper-V Image Management Service
Management of Virtual Hard Disks
Network Service
Default
Hyper-V Network Management Service
Management of Hyper-V Virtual Networking
SYSTEM Account
Default
Các dịch vụ ở trên được cấu hình khởi chạy hoàn toàn tự động dưới nội dung bảo mật SYSTEM Account. Tài khoản theo đó mà các dịch vụ này chạy có đặc quyền cao nhất trên hệ thống. Bạn không nên thay đổi tài khoản bên dưới nội dung mà chúng chạy. Nếu thay đổi, hacker hoặc mã độc có thể tấn công vào các máy ảo hoặc Parent Partition của Hyper-V. Mật khẩu tài khoản SYSTEM cũng cần phải được đảm bảo bí mật. Việc chạy các dịch vụ này trong một tài khoản người dùng miền sẽ không an toan chút nào vì lúc này hacker có thể tìm ra mật khẩu bằng các phần mềm.
Kết luận
Trong phần này, chúng tôi đã giới thiệu cho các bạn về cách Hyper-V lưu các file VHD và các file XML trên ổ đĩa hệ thống như thế nào. Một điểm cần nhấn mạnh trong bài là các bạn nên thay đổi location mặc định để lưu VHD và XML vào SAN Drive, sau đó thực hiện bảo mật bằng cách gán các đặc quyền NTFS. Trong phần chúng tôi cũng đã cung cấp một ví dụ về cách bảo mật truy cập máy ảo bằng cách sử dụng các đặc quyền NTFS.
Văn Linh (Theo Serverwatch)