Tải bản đầy đủ (.pdf) (12 trang)

Tài liệu Triển khai Windows 7 – Phần 20: Bảo mật MDT (1) ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.14 MB, 12 trang )

Triển khai Windows 7 – Phần 20: Bảo mật MDT (1)



Trong loạt bài này, chúng tôi sẽ tiếp tục giới thiệu cho các bạn các bước
cần thực hiện để bảo mật môi trường triển khai MDT.
Mẹo
: Bạn có thể tìm kiếm thêm thông tin về triển khai tự động LTI trong
Windows 7 Resource Kit của Microsoft.
Các thông tin qua trọng trong file Bootstrap.ini
Chúng tôi sẽ sớm quay trở lại giải thích về cách cấu hình và sử dụng cơ sở
dữ liệu MDT, tuy nhiên ở đây, chúng tôi muốn đề cập đến một vấn đề trong
bảo mật MDT. Cho tới phần 20 của loạt bài triển khai Windows 7 này,
chúng ta vẫn chưa quan tâm tới vấn đề bảo mật. Cho ví dụ, file Bootstrap.ini
mà chúng ta đang sử dụng cho deployment share của mình trong các bài này
có nội dung như dưới đây:
[Settings]
Priority=Default
[Default]
DeployRoot=\\SEA-DC1\DeploymentShare$
UserID=Administrator
UserDomain=CONTOSO
UserPassword=Pa$$w0rd
KeyboardLocale=en-US
SkipBDDWelcome=YES
Tài khoản người dùng được chỉ định bởi các thuộc tính UserID,
UserPassword và UserDomain trong file Bootstrap.ini, file được sử dụng bởi
Windows Deployment Wizard trên máy tính mục tiêu để kết nối đến
deployment share trên máy chủ MDT và truy cập nội dung của chia sẻ này.
Cho tới đây, chúng ta vẫn đang sử dụng tài khoản Administrator mặc định
trong miền cho mục đích này. Có hai lý do tại sao đây không phải là một ý


tưởng tốt.
Thứ nhất, nếu tự khởi tạo triển khai Lite Touch (LTI) bằng cách khởi động
các máy tính mục tiêu có sử dụng LiteTouchPE CD, khi đó bạn sẽ biết rằng
file Bootstrap.ini của mình quả thực có trong CD đó. Để xem file này, chúng
ta hãy bắt đầu bằng cách kiểm tra nội dung của LiteTouchPE CD trong
Windows Explorer (hình 1):

Hình 1: Nội dung bên trong của LiteTouchPE CD khi được xem trong
Windows Explorer
Lưu ý rằng hầu hết các CD đều có chứa file image của Windows, Boot.wim,
đây là file được tìm thấy trong thư mục \sources trên CD của bạn. (Thư mục
\boot chỉ chứa một số file được sử dụng để cho phép CD khởi động và gắn
image này). Giả sử rằng bạn để LiteTouchPE CD ở đâu đó và ai đó đã đánh
cắp chúng. Tên trộm sau khi đánh cắp được CD của bạn có thể cài đặt
Windows AIK 2.0 trên một máy tính và gắn file Boot.wim trên CD này vào
một thư mục trống bằng cách sử dụng lệnh Imagex như thể hiện dưới đây
(hình 2):

Hình 2: Gắn file Boot.wim từ LiteTouchPE CD
Khi file Boot.wim được gắn cho một thư mục trống rỗng (ở đây thư mục đó
có tên C:\PEbootfiles), kẻ trộm có thể duyệt nội dung của image đã được
gắn bằng Windows Explorer (hình 3):

Hình 3: File Bootstrap.ini của bạn có trong file Boot.wim của LiteTouchPE
CD
Sau đó tên trộm còn có thể mở được file Bootstrap.ini trong Notepad (hình
4):

Hình 4: File Bootstrap.ini này gồm có các dữ liệu quản trị quan trọng cho
miền!

Tại đây, toàn bộ cơ sở hạ tầng Windows của bạn đã bị thỏa hiệp do tên trộm
đã thu được các dữ liệu cần thiết của quản trị viên miền. Vì vậy, nếu sẽ sử
dụng các dữ liệu quản trị viên miền trong file Bootstrap.ini của mình, bạn
cần bảo vệ LiteTouchPE CD (hoặc DVD hoặc USB phụ thuộc vào thiết bị
khởi động đang sử dụng để khởi tạo quá trình LTI). Nói theo cách khác,
không cho người không có quyền có thể truy cập các thiết bị như vậy.
Một vấn đề bảo mật khác có liên quan đến việc truyền tải các dữ liệu quan
trọng trên mạng. Khi bạn khởi động máy tính mục tiêu vào Windows PE
bằng cách sử dụng thiết bị khởi động LiteTouchPE của mình, máy tính sẽ
yêu cầu một địa chỉ IP từ một máy chủ DHCP và sau đó sẽ cố gắng thiết lập
kết nối với deployment share trên máy chủ MDT. Lúc này, nếu sử dụng
MDT trong kịch bản máy tính mới (New Computer, kịch bản thực hiện một
triển khai bare metal vào máy tính mục tiêu hiện chưa có hệ điều hành) thì
thẩm định Kerberos hoặc NTLM sẽ được sử dụng để trao đổi một cách an
toàn các dữ liệu quan trọng trong file Bootstrap.ini từ máy tính mục tiêu đến
máy chủ MDT, và kẻ nào đó đang “đánh hơi” mạng trong của bạn sẽ không
thể đánh cắp được các dữ liệu quan trọng này. Tuy nhiên nếu bạn sử dụng
MDT trong kịch bản Refresh Computer (kịch bản để re-image một máy tính
đang tồn tại trước đó, sau đó lưu và khôi phục các thông tin trạng thái của
người dùng), thì file Bootstrap.ini được xử lý từ deployment share và các dữ
liệu quan trọng sẽ được truyền tải qua mạng dưới dạng văn bản trong sáng.
Điều này có nghĩa nếu có kẻ nào đó đang “đánh hơi” trong mạng của bạn thì
hắn có thể đánh cắp các thông tin quan trọng được chỉ định trong file
Bootstrap.ini, và nếu có các thông tin quản trị miền thì mạng của bạn sẽ bị
thỏa hiệp.
Rõ ràng, nếu sử dụng MDT trong môi trường test, hoặc trong phòng thí
nghiệm an toàn có mirror mạng sản xuất của bạn nhưng có một miền khác
thì tốt nhất là bạn nên để tài khoản quản trị viên mặc định cho miền trong
file Bootstrap.ini như thể hiện trong hình 4 ở trên. Mặc dù vậy nếu sử dụng
MDT trong môi trường sản xuất, bạn chắc chắn không muốn thực hiện như

vậy. Chúng ta sẽ đi xem xét một giải pháp có thể cho vấn đề này ngay dưới
đây.
Các dữ liệu quan trọng trong file CustomSettings.ini
Một địa điểm có dữ liệu quan trọng khác có trong MDT là file
CustomSettings.ini cho triển khai của bạn ở đây. Đặc biệt, phần dưới đây
của file CustomSettings.ini được sử dụng để tự động hóa quá trình join các
máy tính mục tiêu vào miền trong giao đoạn cuối cùng của quá trình triển
khai:
JoinDomain=CONTOSO
DomainAdmin=Administrator
DomainAdminDomain=CONTOSO
DomainAdminPassword=Pa$$w0rd
Lưu ý rằng, chúng ta đang sử dụng cùng một tài khoản
(CONTOSO\Administrator) trong bài viết này cho cả file Bootstrap.ini (để
cho phép máy tính mục tiêu truy cập deployment share) và
CustomSettings.ini (để join máy tính mục tiêu vào miền khi cài đặt hoàn tất).
Lúc này file CustomSettings.ini của bạn sẽ không hiện diện trong thiết bị
khởi động LiteTouchPE, vì vậy không có vấn đề bảo mật liên quan đến nó ở
đây. Tuy nhiên trong tất cả các kịch bản triển khai, nơi quá trình gia nhập
miền được thực hiện một cách tự động, các thông tin ở trên chứa trong file
CustomSettings.ini sẽ được truyền tải qua mạng, từ máy chủ MDT đến máy
tính mục tiêu dưới dạng văn bản trong sáng. Điều này có nghĩa rằng nếu bạn
sử dụng tài khoản quản trị viên miền Domain Admin để tự động hóa việc gia
nhập (join) các máy tính đã triển khai vào miền, thì kẻ đang “đánh hơi”
trong mạng của bạn sẽ có thể thỏa hiệp dễ dàng sự bảo mật toàn bộ mạng.
Mặc dù vậy, các chứng chỉ mức quản trị viên được yêu cầu nếu bạn muốn
gia nhập một máy tính nào đó vào miền. Do đó có một số biện pháp phòng
tránh cho vấn đề này và chúng tôi sẽ giới thiệu cho các bạn ở bên dưới. Mặc
dù vậy, nếu sử dụng MDT trong môi trường test hoặc trong một phòng thí
nghiệm an toàn thì bạn có thể để tài khoản Administrator mặc định cho miền

trong CustomSettings.ini như thể hiện ở trên.
Sử dụng bộ tách và join các tài khoản
Nếu sẽ sử dụng máy chủ MDT để triển khai Windows trong môi trường sản
xuất, thứ đầu tiên chúng ta có thể thực hiện để làm cho MDT trở nên an toàn
hơn là sử dụng các tài khoản người dùng riêng biệt cho việc kết nối với
deployment share và cho việc join các máy tính vào miền. Trong ví dụ này,
chúng ta sẽ tạo hai tài khoản người dùng mới:

mdt_build Tài khoản "build" này sẽ được sử dụng để tạo các máy
tính mục tiêu để kết nối đến deployment share của chúng ta.

mdt_join Tài khoản "join" này sẽ được sử dụng để join tự động các
máy tính mục tiêu vào miền khi quá trình triển khai kết thúc trên các
máy tính.
Khi bạn tạo các tài khoản này trong Active Directory Users và Computers,
chúng sẽ tự động được gán hội viên trong nhóm Domain Users. Hãy để sau
vấn đề này – không add tài khoản này vào nhóm Domain Admins.
Lúc này chúng ta cần nghiên cứu tỉ mỉ các ACL trên deployment share của
mình. Hình 5 chỉ thị rằng nhóm Users trên máy chủ MDT, máy chủ gồm có
nhóm Domain Users như một thành viên, có đặc quyền Read & Execute trên
deployment share.

Hình 5: Nhóm ACL of Users cho một deployment share
Nếu tất cả các bạn đều sử dụng deployment share này cho việc cài đặt
Windows trên các máy tính mục tiêu, thì đặc quyền Read & Execute hoàn
toàn đủ khả năng vì nó cho phép máy tính mục tiêu đọc các file có trong chia
sẻ và chạy kịch bản và các chương trình trong chia sẻ. Nói cách khác, tài
khoản “build” của chúng ta, được chỉ định trong Bootstrap.ini, có thể là một
tài khoản Domain Users đơn giản – nó không cần phải là tài khoản Domain
Admins. Đó là một tin tốt! Vì vậy chúng ta hãy tiếp tục và thay đổi tài khoản

được chỉ định bởi thuộc tính UserID trong file Bootstrap.ini từ
Administrator vào mdt_build. Khi đã thực hiện xong, file Bootstrap.ini mới
của chúng ta sẽ giống như thể hiện trong hình 6 bên dưới:

Hình 6: File Bootstrap.ini hiên chỉ định tài khoản người dùng miền
Không quên rằng sau khi thay đổi file Bootstrap.ini của mình, bạn cần nâng
cấp deployment share (hình 7):

Hình 7: Luôn luôn cập nhật deployment share sau khi thay đổi Bootstrap.ini
Thêm vào đó, cũng không được quên rằng sau khi nâng cấp deployment
share, bạn cần burn một LiteTouchPE CD mới vì file Bootstrap.ini được
nhóm trong nó.
Cho tới đây, quá tốt! Tuy nhiên lúc này vấn đề sử dụng tài khoản join có đôi
chút phức tạp hơn, vì vậy chúng ta hãy đề cập đến trong phần sau. Nhưng
chúng tôi cần đề cập một vấn đề cho bạn ở đây là, thay đổi mà bạn thực hiện
trong file Bootstrap.ini đã phá hỏng thứ gì đó nếu bạn cấu hình cơ sở dữ liệu
MDT để triển khai Windows cho các máy tính khác dựa trên UUID, địa chỉ
MAC của máy tính hoặc thuộc tính các máy khác như mô tả trong phần 16
và 17 của loạt bài này, bạn sẽ phát hiện ra rằng vấn đề sẽ không làm việc!
Đặc biệt bạn có thể triển khai Windows 7 bằng cách sử dụng MDT nhưng
các tùy chỉnh mà bạn đã thực hiện trong cơ sở dữ liệu MDT sẽ không được
áp dụng (và máy tính mục tiêu sẽ không join vào miền). Bạn có thể hoặc
không thể thấy thông báo lỗi hiển thị ở cuối quá trình triển khai, tuy nhiên
dù thực hiện cách nào thì khi kiểm tra file BDD.log trong thư mục
%WINDIR%\Temp\Deployment logs trên máy tính mục tiêu đã triển khai,
bạn cũng sẽ thấy thông báo lỗi sau:
ZTI error opening SQL Connection: Cannot open database "MDT"
requested by the login. The login failed. (-2147467259)
Chúng tôi sẽ giới thiệu cách cách khắc phục vấn đề này trong phần tiếp theo
của loạt bài, thêm đó chúng tôi cũng sẽ giới thiệu tỉ mỉ vấn đề join an toàn

vào miền.

×