(Post 08/06/2010) Nếu sử dụng máy chủ email hay hệ thống tính lương đã được ảo hóa trong môi trường thì bất cứ người dùng nào có quyền truy cập quản trị vào môi trường ảo có thể dễ dàng đánh cắp hệ thống này và mọi dữ liệu lưu trữ trong đó mà không để lại bất cứ dấu vết nào. Việc đánh cắp một máy chủ vật lý khỏi trung tâm dữ liệu mà không bị phát hiện là không thể thực hiện được, tuy nhiên, đánh cắp một máy ảo lại có thể tiến hành ở bất cứ đâu trên hệ thống mạng, và ai cũng có thể dễ dàng sử dụng một ổ USB để đánh cắp những máy ảo mong muốn.

Chúng ta có thể khẳng định ảo hóa mang lại rất nhiều lợi ích so với những máy chủ vật lý, tuy nhiên cũng có nhiều hiểm họa khôn lường mà chúng ta cần lưu tâm để có thể áp dụng phương pháp bảo vệ tốt nhất tránh thất thoát những dữ liệu quan trọng. Do máy ảo được gói gọn trong một file đĩa ảo duy nhất trên một máy chủ ảo, nên không có gì khó khăn để tạo ra một bản copy của file đĩa ảo đó và truy cập vào mọi dữ liệu trong đó với quyền truy cập phù hợp. Đây là một thao tác rất đơn giản, và trong bài viết này chúng ta sẽ tìm hiểu các bước thực hiện để có thể bảo vệ môi trường trước những cuộc tấn công tương tự.

Về cơ bản có hai cách truy cập vào file đĩa ảo (.vmdk) của một máy ảo. Cách thứ nhất là sử dụng ESX Service Console. Nếu ai đó biết được mật khẩu gốc hay một tài khoản người dùng trên máy chủ thì học có thể có được quyền truy cập vào các ổ đĩa VMFS chứa các file máy ảo sau đó sử dụng những công cụ sao chép như Secure Copy hay SCP để copy lại những file này. Cách thứ hai là sử dụng vSphere/Vmware Infrastructure Client có tích hợp một công cụ duyệt tìm kho dữ liệu; đây là phương pháp chúng ta sẽ nghiên cứu.

Bước 1: Snapshot máy ảo

Thao tác đầu tiên cần thực hiện đó là chụp ảnh máy ảo. Khi đó ổ đĩa ảo của máy ảo sẽ chuyển sang chế độ chỉ đọc (read-only) đồng thời tạo một file mới để ghi những dữ liệu mới vào ổ đĩa. Chúng ta phải thực hiện thao tác này bởi vì máy ảo này đang vận hành và đang sử dụng file đĩa của nó. Nếu bỏ qua thao tác này, chúng ta sẽ không thể sao chép file VMDK vì nó đã bị khóa. Đây là phương pháp tương tự mà nhiều ứng dụng backup máy ảo sử dụng khi backup các máy ảo. Nếu máy ảo này đã tắt hay treo thì chúng ta có thể bỏ qua thao tác này.

Bước 2: Sao chép ổ đĩa ảo

Thao tác tiếp theo là tạo bản sao của file đĩa ảo. Chúng ta có thể lựa chọn sao chép file cấu hình (.vmx) cho máy ảo này để có thể nhập nó vào Player hay Workstation dễ dàng hơn. File đĩa ảo (.vmdk) thực ra gồm hai file, file lớn chứa các khối đĩa, file nhỏ là một file văn bản miêu tả ổ đĩa này. Nếu chúng ta sử dụng ứng dụng duyệt tìm kho dữ liệu tích hợp trong máy trạm vSphere thì những file này sẽ xuất hiện như một file duy nhất và cùng được sao chép. Nếu sử dụng một ứng dụng sao chép khác như WinSCP thì chúng ta sẽ phải copy cả hai file này.

Để duyệt tìm kho dữ liệu khi máy ảo đang vận hành, vào thư mục chủ cảu máy ảo này, lựa chọn những file cần thiết rồi click vào Download. Sau đó chúng ta có thể lựa chọn một thư mục trên PC đang vận hành máy trạm vSphere để tải về những file đã chọn. Tùy thuộc vào kích thước của file đĩa ảo và tốc độ mạng, các file này sẽ được tải về trong một khoảng thời gian nhất định. Khi đã hoàn thành, chúng ta sẽ chuyển sang bước cuối cùng. Chúng ta có thể xóa Snapshot của máy ảo khi đã hoàn thành copy file đĩa ảo.

Bước 3: Truy cập vào file đĩa ảo

Giờ đây chúng ta đã có file đĩa ảo và có thể truy cập vào những dữ liệu trong đó theo hai cách sau:

1. Cài file đĩa ảo vào PC bằng lệnh vmware-mount từ Virtual Disk Development (VDDK) của Vmware. Khi đó đĩa ảo này sẽ xuất hiện như một ổ đĩa trên máy tính và cho phép duyệt tìm. Phương pháp này chỉ cho phép chúng ta truy cập những file được lưu trữ trên máy ảo đó và không cho phép chạy bất kỳ ứng dụng nào trên đó.

2. Nhập máy ảo này vào Vmware Player, Workstation hay Server rồi vận hành nó. Một nhược điểm của phương pháp này đó là nó yêu cầu thông tin đang nhập vào hệ điều hành. Để khắc phục nhược điểm này, chúng ta có thể khởi động từ một Live CD, hoặc bẻ khóa/thay đổi mật khẩu quản trị hoặc truy cập trực tiếp vào file hệ thống.

Dưới đây là từng bước của mỗi phương pháp:

Bước đầu tiên cho cả hai phương pháp

Do đã tạo một Snapshot của máy ảo này nên chúng ta cần thay đổi file cấu hình (.vmx) để máy ảo không còn nhận biết được file này nữa. Chúng ta chỉ cần hiệu chỉnh file này trong một trình soạn thảo văn bản. Xác định dòng bắt đầu với “scsi0:0.fileName” rồi loại bỏ giá trị -000001 khỏi tên file sau đó lưu lại.

Phương pháp 1: Cài ổ đĩa ảo

  1. Trước tiên cần tải VDDK từ trang web của Vmware. Công cụ này bao gồm bản dành cho Windows (33MB) và Linux (49MB).
  2. Tiếp theo tiến hành cài đặt VDDK. Thông thường sau khi cài đặt công cụ này sẽ nằm trong đường dẫn C:\Program Files\VMware\VMware Virtual Disk Development Kit.
  3. Lệnh vmware-mount.exe nằm trong thư mục con bin; mở Command Prompt rồi chuyển hướng tới thư mục đó. Chúng ta có thể nhập lệnh vmware-mount /? để xem những tùy chọn của lệnh này. Để cài một file đĩa, sử dụng lệnh có cú pháp: Vmware-mount.exe
  4. Khi ổ đĩa đã được cài, chúng ta có thể sử dụng lệnh vmware-mount.exe /L để kiểm tra kết quả cài, hoạc chỉ cần truy cập vào ổ đĩa mới rồi thực hiện liệt kê thư mục.
  5. Đến đây ổ đĩa ảo đã được cài và chúng ta có thể truy cập vào mọi thứ trên ổ đĩa này như thê truy cập vào một ổ đĩa cục bộ.

Phương pháp 2: Nhập máy ảo

    1. Theo phương pháp này chúng ta cần đưa máy ảo vào một thiết bị có thể đọc nó. Cách đơn giản nhất là sử dụng công cụ miễn phí Vmware Player dùng cho cả hệ điều hành Windows và Linux. Ngoài ra, chúng ta cũng có thể sử dụng công cụ Vmware Server hay Workstation.
    2. Trong ví dụ này, chúng ta sẽ sử dụng Vmware Player. Khi khởi chạy công cụ này, vào Open a Virtual Machine rồi duyệt tìm tới file .vmx của máy ảo cần đọc trên máy PC.
    1. Sau đó click vào liên kết Play Virtual Machine để chạy máy ảo. Khi đó, có thể chúng ta sẽ nhận được thông báo cho biết máy ảo đó đã bị di chuyển hoặc sao chép bởi vì một số file của nó không tồn tại, đồng thời một số thông tin trong file cấu hình không phù hợp với vùng lưu trữ mới. Nếu nhận được thông báo như vậy chúng ta chỉ cần lựa chọn tùy chọn I copied it rồi nhấn OK, những file còn thiếu sẽ được tạo tự động và file cấu hình sẽ được cập nhật. Có thể một thông báo của Vmware Tools sẽ xuất hiện trong trường hợp những công cụ này đã được cài đặt trên hệ thống; đó là do phiên bản ESX đang sử dụng có đôi chút khác biệt so với những công cụ trên máy chủ như Player. Chúng ta có thể lựa chọn tải phiên bản ESX khác hoặc không vì nó không ảnh hưởng nhiều tới máy ảo.
    1. Khi máy ảo đã được khởi động chúng ta có thể đăng nhập vào đó. Nếu muốn hủy bỏ kết nối mạng, chỉ cần click vào Settings của Player, lựa chọn card giao tiếp mạng ảo (NIC) rồi hủy chọn hộp chọn Connected, nếu không chúng ta sẽ phải cấu hình lại kết nối mạng mới bên trong hệ điều hành máy ảo để nó sử dụng cấu hình mạng tương tự với máy PC chứa máy ảo này.
  1. Nếu không có mật khẩu quản trị, chúng ta có thể bẻ hay thiết lập lại mật khẩu với một số công cụ có trong Live CD, như: PC Login Now , Ophcrack, Offline NT Password & Registry Editor. Khi đã tải và giải nén file ISO, chúng ta có thể cài nó vào ổ đĩa CD-ROM của máy ảo để máy ảo khởi động từ ổ CD-ROM thay vì ổ cứng. Sau đó, khi khởi động máy ảo, chúng ta cần click thật nhanh vào bên trong các cửa sổ của máy ảo rồi nhấn ESC để hiển thị menu khởi động và lựa chọn khởi động từ ổ CD-ROM. Ngoài ra, chúng ta có thể sử dụng một Live CD khác như Ultimate Boot CD hay Knoppix với hỗ trợ duyệt tìm hệ thống file của máy ảo. Click vào đây để xem danh sách Live CD.

Đến đây chúng ta đã hoàn thành những gì cần thực hiện, đây không phải là thao tác quá phức tạp khi chúng ta đã nắm được phương pháp thực hiện. Có thể nói, bất kỳ ai có quyền truy cập phù hợp đuề có thể đánh cắp dữ liệu quan trọng trên máy ảo, đó là lí do tại sao những file .vmdk thô cần được bảo vệ cẩn trọng.

Hiện nay, vSphere không tích hợp bất kì công cụ mã hóa file .vmdk nào, tuy nhiên, công cụ mã hóa file .vmdk được tích hợp trong phiên bản Workstation 7, do đó trong thời gian tới vSphere cũng tích hợp công cụ này. Không phải mọi quản trị viên đều chú trọng tới những dữ liệu quan trọng, tuy nhiên bảo vệ những dữ liệu quan trọng là sự bảo đảm tốt nhất. Dưới đây là một số phương pháp để chúng ta có thể bảo vệ máy ảo trước những thủ đoạn tương tự:

1. Bảo vệ những dữ liệu quan trọng tại hệ điều hành hay lớp ứng dụng nếu có thểbằng cách sử dụng một công cụ mã hóa. Tuy nhiên đây không phải là lựa chọn duy nhất và thường chiếm dụng tài nguyên máy chủ bởi vì phải cài đặt công cụ mã hóa. Tuy nhiên, khi sử dụng phương pháp này, cho dù ai đó truy cập được vào ổ đĩa ảo thì họ cũng khó có thể đọc được dữ liệu trong đó.

2. Giới hạn truy cập trong vCenter Server tới những đặc quyền cho phép chạy file của kho dữ liệu máy chủ. Chúng ta không cần phải loại bỏ đặc quyền Browse Datastore (duyệt tìm kho dữ liệu) của một người dùng chức năng nào, mà chỉ cần loại bỏ Low Level File Operations (vận hành file cấp độ thấp) để chặn tải, sao chép và thay đổi tên file. Không phải ai truy cập vào vCenter Server cũng cần kiểu truy cập này, do đó cần đảm bảo và chỉ cấp quyền truy cập này cho những người thực sự cần. Hạn chế cấp quyền truy cập đầy đủ trong vCenter Sphere cho người dùng, sử dụng những role khác nhau để thay đổi quyền truy cập phù hợp với người dùng.

3. Trong vCenter Server hay ESX không tích hợp bất kỳ công cụ tạo bản ghi hay kiểm soát nào giúp đưa ra cảnh báo khi máy trạm vSphere vận hành file. Khi chúng ta sử dụng Datastore Browser thì ứng dụng ưu tiên được sử dụng là Secure File Transfer Protocol (SFTP), có một số dữ liệu kết xuất trong file /var/log/sercure bên trong ESX Service Console, tuy nhiên không có bất kỳ dữ liệu nào cung cấp thông tin về các file tải.

Chúng ta có thể xem xét triển khai một chức năng của ứng dụng nhập như HyTrust Appliance có thể cung cấp khả năng kiểm soát truy cập rất mạnh và một thiết bị đăng nhập tập trung cho mọi máy chủ. Ứng dụng HyTrust có thể tạo ra các bản ghi còn thiếu của tiến trình truyền SCP/SFTP và những lệnh gọi giao tiếp lập trình nâng cao (API) được tạo ra khi sử dụng Datastore Browser cũng như chặn truy cập tới ESX Service Console và vCenter Server.

4. Chỉ cấp quyền truy cập vào ESX Service Console cho những người dùng thực sự cần thiết. Chúng ta có thể sử dụng sudo để giới hạn những gì mà một người dùng có thể truy cập và thực hiện bên trong ESX Service Console. Với những tiến trình thông thường, không cần phải truy cập vào ESX Service Console khi mọi thứ có thể được thực hiện qua vSphere Client.

Để có thể bảo đảm rằng dữ liệu được an toàn chúng ta phải áp dụng nhiều phương pháp bảo mật trên nhiều lớp khác nhau. Bảo vệ dữ liệu, ứng dụng, hệ điều hành và máy chủ vật lý, đồng thời đảm bảo rằng lớp ảo hóa cũng đã được bảo vệ. Khi áp dụng các biện pháp bảo mật không được để xảy ra bất kì sai xót nào dù là nhỏ nhất. Không hiểu và đánh giá được những khó khăn đặc trưng trong công tác bảo mật môi trường ảo có thể là một sai lầm đắt giá mà chúng ta không muốn mắc phải.

Hiển Bùi – TechTarget
(theo QTM)

FPT Aptech – Hệ Thống Đào Tạo Lập Trình Viên Quốc Tế

FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 25 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng.
0981578920
icons8-exercise-96