Jun 17, 2012
91 Views

Cấu hình bảo mật Hyper-V bằng Authorization Manager

Written by

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 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:

Alt text
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:

Alt text
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.

Alt text
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:

  1. X:Virtual Machines
  2. X:Virtual MachinesDevelopmentTeamVirtualMachines
  3. 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ăngNội dung bảo mậtCấu hình nên đặt
Virtual Machine Management ServiceManages overall Hyper-V environmentSYSTEM AccountDefault
Hyper-V Image Management ServiceManagement of Virtual Hard DisksNetwork ServiceDefault
Hyper-V Network Management ServiceManagement of Hyper-V Virtual NetworkingSYSTEM AccountDefault

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.

Việc bảo mật các máy ảo đang chạy trên Hyper-V là một nhiệm vụ quan trọng. Chính vì vậy mà trong phần hai này, chúng tôi sẽ giới thiệu cho các bạn về cách bảo mật các máy ảo khi chạy trên Hyper-V. Authorization Manager là một thành phần có trong Windows. Hyper-V sử dụng kho hàng của nó để bảo mật cho partition cha của Hyper-V và cá máy ảo đang chạy trên nó. Các thiết lập chính sách cho Hyper-V được trữ trong một file XML. Mặc định, Local Administrator có thể quản lý tất cả các khía cạnh của Hyper-V.

Phần này sẽ tập trung vào các chủ đề sau:

  • Bảo mật tài nguyên Hyper-V bằng cách sử dụng Authorization Manager
  • Từng bước trong sử dụng Authorization Manager
  • Các nhiệm vụ (Task), hoạt động (Operation) và hạng mục của Hyper-V
  • Ví dụ đơn giản về sử dụng Authorization Manager

Hyper-V sử dụng Authorization Manager để bảo mật cho Partition cha của Hyper-V và các VM. Trước khi thực hiện với chúng, bạn phải làm quen với các thuật ngữ cơ bản được sử dụng trong Authorization Manager, bắt đầu với các thuật ngữ sau:

Authorization Manager sử dụng model điều khiển truy cập role (RBAC). Trong model này, các role được cho phép truy cập đến các hoạt động hoặc các nhiệm vụ để thực hiện một hành động đã được liệt kê trong danh sách các hoạt động. Hình 1 định nghĩa các thuật ngữ dưới đây:


Hình 1: Mô hình Authorization Manager RABC

Phạm vi – Scope: Scope là đường biên cho một Role nào đó. Bạn có thể tạo một Scope bằng cách kích chuột phải vào Hyper-V Services trong Authorization Manager hoặc bằng cách sử dụng kịch bản nhỏ. Khi tạo một scope mới, có ba thứ có liên quan với mỗi scope mà bạn tạo trong Authorization Manager như thể hiện trong hình 2:


Hình 2: Màn hình của Authorization Manager
  • Groups
  • Definitions
  • Role Assignments

Hoạt động – Operation: Operation là khối cấp phép cơ bản. Cho ví dụ, ngừng và bắt đầu một VM.

Nhiệm vụ – Task và Sự chỉ định role – Role Definition: Task là một bộ các hoạt động, còn Role Definition là giấy phép được gán cho Role Assignment.

Nghĩa vụ role – Role Assignment: Role Assignment gồm có nhiều người dùng được gán các nhiệm vụ hoặc hoạt động nào đó.

Như thể hiện trong hình 1, hai phạm vi được tạo: SCOPE 1 và SCOPE 2. Cả hai phạm vi đều gồm có Operation, Task và Role, tuy nhiên các điều khoản là khác nhau. Role đã định nghĩa trong Scope 1 là User 1 and User 2, và Operation gán cho các Role này là “Start Virtual Machine” và “Stop Virtual Machine”. Tương tự, bạn có thể thấy trong SCOPE 2, các Role ở đây khác hoàn toàn: User 3 và User 4. Scope 2 chỉ có một Operation được định nghĩa cho User 3 và User 4: “Configure Virtual Machine Settings”.

Các Operation, Task và Role được định nghĩa trong một file XML.

%SystemRoot%ProgramDataMicrosoftWindowsHyper-VInitialStore.XML

Lưu ý: Thư mục ProgramData bị ẩn mặc định trên Windows Server 2008. Bạn có thể cần phải hiện thư mục này để xem đường dẫn bên trên.

Hyper-V Server sử dụng kho hàng này. Nếu file bị mất thì các dịch vụ Hyper-V sẽ khi lỗi khi khởi chạy. Ban đầu Hyper-V sẽ việc đọc file này để lấy các điều khoản đã được gán cho VM. Sau đó nó truy vấn một entry của registry hiển thị bên dưới để lấy đường dẫn của file InitialStore.XML:

HKLMSoftwareMicrosoftWindows NTCurrentVersionVirtualization

Key ở trên lưu hai entry của registry: StoreLocation và ServiceApplication. Entry StoreLocation định nghĩa đường dẫn của file InitialStore.XML còn entry ServiceApplication định nghĩa ứng dụng nào trong chính sách mà file InitialStore.XML được sử dụng. Trong trường hợp này, nó là Hyper-V Services.

Mẹo: File InitialStore.XML được cài đặt chỉ khi bạn kích hoạt Hyper-V Role. Nếu file này bị mất hoặc bị lỗi, bạn có hai tùy chọn sau:

– Copy file từ một Hyper-V Server đang làm việc

Hoặc

– Gắn Install.WIM từ Windows Server 2008 ISO, sau đó tìm kiếm InitialStore.XML. Copy file này vào Hyper-V Server.

Phạm vi của bài viết này được giới hạn chỉ cho vấn đề bảo mật của Hyper-V nên chúng tôi sẽ không giải thích nhiều về Authorization Manager và các tính năng của nó.

Mặc định, Hyper-V Server định nghĩa một Scope, 33 Operation và một Role, tất cả những thứ này được lưu trong một file XML được nói ở trên. Mặc định, Local Administrator trên partition cha được cấu hình là Default Role và tất cả đều được gán các đặc quyền để cấu hình Hyper-V và các VM đang chạy trên nó. Bạn có thể xem và cấu hình chúng bằng cách sử dụng Authorization Manager MMC. Tên MMC là AzMan.MSC. Người dùng phải là một thành viên của nhóm quản trị nội bộ trên partition cha để có thể sử dụng Authorization Manager.

Hướng dẫn từng bước cho Authorization Manager

1. Vào Start Menu > đánh “AzMan.MSC”
2. Kích phải vào Red Cross > kích “Open Authorization Store”
3. Trỏ đến %SystemRoot%ProgramDataMicrosoftWindowsHyper-VInitialStore.XML > kích Ok.
4. Khi kích OK, Authorization Manager sẽ đọc file InitialStore.XML và load nội dung từ file này để hiển thị trong snap-in như thể hiện bên dưới:
Ba hạng mục chính được định nghĩa trong Authorization Manager để kiểm soát Hyper-V Server và các máy ảo VM. Các hạng mục này bao gồm:

  • Hyper-V Services Operations
  • Hyper-V Network Operations
  • Hyper-V Virtual Machine Operations

Hình 3: Authorization Manager Snap-in

Như được giới thiệu từ trước, có 33 hoạt động Operation. Các hoạt động này được chia thành các hạng mục trên. Bảng bên dưới thể hiện các hoạt động có trong các hạng mục này:

Như thể hiện trong hình 4, bằng sử dụng Authorization Manager, bạn có thể ủy nhiệm hai kiểu hoạt động cho Hyper-V và VMs Configuration. Các hoạt động này là: Modify hoặc Read. Các ủy nhiệm này được yêu cầu trong tổ chức lớn, nơi một nhóm chịu trách nhiệm cho việc thay đổi Hyper-V Configuration và một nhóm chịu trách nhiệm cho việc kiểm tra Hyper-V VM và các thứ khác.


Hình 4: Các hạng mục của Operation trong Authorization Manager

Administrator Role là role được định nghĩa trong Authorization Manager, gồm có 33 hoạt động mặc định. Role này hoàn toàn đủ điều khiển các khía cạnh Hyper-V, gồm có các máy ảo và cấu hình của nó.

Ví dụ sẽ cho phép người dùng không phải quản trị viên nội bộ có thể quản lý máy chủ Hyper-V và các máy ảo.

Mặc định, quản trị viên nội bộ trên máy chủ Hyper-V được phép điều khiển Hyper-V Server và tất cả các máy ảo đang chạy trên nó. Bạn có thể ủy nhiệm sự điều khiển này cho một người dùng, người là thành viên của miền Active Directory. Đây là một ví dụ cho phép một người nào đó trong tổ chức của bạn có thể điều khiển Hyper-V Server và VM thay cho việc sử dụng tài khoản Local Administrator trên Hyper-V Server. Bạn có thể sử dụng Local Store của Authorization Manager cho ví dụ này.

  1. Mở AzMan.MSC
  2. Kích phải vào “Open Authorization Store” > chọn file XML từ location này:
    ProgramDataMicrosoftWindowsHyper-VInitialStore.XML.
  3. Kích OK để mở các thiết lập chính sách InitialStore.XML trong Authorization Manager.
  4. Mở rộng phần Microsoft Hyper-V Services > Role Assignments.
  5. Trong panel bên phải, kích “Administrator” chọn “Assign Users and Groups” sau đó chọn “From Windows and Active Directory”.
  6. Nhập vào tên của User hoặc Security Group mà bạn muốn cho phép họ điều khiển Hyper-V và VM.
  7. Kích OK, sau đó đóng Authorization Manager snap-in.

Ở ví dụ trên, người dùng trong miền Active Directory có thể điều khiển máy chủ Hyper-V và các máy ảo VM đang chạy trên nó.

Trong phần tiếp theo của loạt bài này, chúng tôi sẽ giới thiệu cho các bạn về sự điều khiển trên Hyper-V và các máy ảo đang chạy trên nó.

Kết luận

Trong phần này, chúng tôi đã giới thiệu cho các bạn Authorization Model có thể cung cấp sự bảo mật cho các máy ảo đang chạy trên Hyper-V Server. Bên cạnh đó chúng tôi cũng giới thiệu một số nhiệm vụ có sẵn với Authorization Manager, cung cấp một ví dụ đơn giản về cách cấu hình người dùng ngoài quản trị viên để có thể điều khiển Hyper-V Server và các máy ảo.

Article Categories:
IT & Network
    http://linholiver.com

    https://linholiver.com/diary/about/