(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
- 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).
- 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.
- 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
- 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.
- Đế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
- 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.
- 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.
- 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.
|
- 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.
|
- 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) |