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

Quản trị mạng Windows bằng Script - Phần 9: Tìm hiểu kịch bản điều khiển xa

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 (223.91 KB, 5 trang )

Quản trị mạng Windows bằng Script - Phần 9: Tìm hiểu kịch bản điều khiển
xa

Nguồn : quantrimang.com 
Mitch Tulloch
Lúc này bạn cần phải quay lại ôn và nghiên cứu một cách chi tiết các kỹ
thuật của kịch bản điều khiển xa trước khi chúng ta tiến xa hơn trong vấn
đề này. Một cách cũng tốt cho bạn đó là nhảy vào và thử mọi thứ, tuy nhiên
cách làm này đôi khi lại đưa b
ạn gặp phải bức tường. Để tránh gặp phải
bức tường này chúng ta phải tìm hiểu về những nền tảng của chúng.

Hai loại kịch bản điều khiển xa

Có hai loại kịch bản điều khiển xa. Loại thứ nhất là khi chúng ta chạy một kịch
bản trên máy tính A và máy tính mục tiêu là B để thực hiện một số hành động
trên nó. Trong thử nghiệm bằng sử
dụng kịch bản ChangeIPAddress.vbs, chúng
tôi đã thay đổi dòng:
strComputer = "."
thành:
strComputer = "xp2"
Nếu chúng tôi sử dụng dòng đầu trên ở trên và chạy kịch bản trên máy tính A thì
sẽ thay đổi được địa chỉ IP của máy tính này. Còn nếu chúng ta sử dụng dòng
thứ hai ở trên và chạy kịch bản trên máy tính A thì sẽ thay đổi được địa chỉ IP
của máy tính B.

Kiểu thứ hai của kịch bản điều khiển xa và nó làm việc giống như vậ
y. Tôi là một
quản trị viên, đã đăng nhập vào máy tính A và có một kịch bản muốn sử dụng để
thực hiện một số công việc trên máy tính B. Tuy nhiên thay vì cố gắng chạy kịch


bản trên máy tính A và mục tiêu là máy tính B, tôi muốn chạy kịch bản trực tiếp
trên máy tính B. Chính vì vậy tôi đã đưa kịch bản từ máy tính A sang máy tính
mục tiêu B và sau đó chạy nó ở đây. Tôi có thể thực hiện điều đó như
thế nào?
Nếu có một môi trường Active Directory sau đó tôi có thể thử và chạy kịch bản
như kịch bản đăng nhập trên máy tính điều khiển xa. Chúng ta hãy xem thực
hiện như thế nào trong bài tiếp theo, nhưng bây giờ hãy chú ý rằng có hai loại
kịch bản điều khiển xa.

Chạy kịch bản trên máy tính nội bộ và nhắm đến máy tính điều khiển xa.

Chạy kịch bản trực tiếp trên máy tính điều khiển xa.
Hãy diễn tả sự khác nhau giữa hai cách mô tả kịch bản điều khiển xa:

Kiểu thứ nhất liên quan đến việc kết nối đến máy tính điều khiển xa và sau
đó chạy kịch bản.

Kiểu thứ hay liên quan đến việc triển khai kịch bản cho máy tính điều khiển
xa, sau đó chạy kịch bản.
Tìm hiểu về kết nối kịch bản điều khiển xa

Bây giờ chúng ta hãy tập trung vào kiểu đầu tiên của kịch bản điều khiển xa. Nó
có nghĩa gì khi chạy một kịch bản trên máy tính cục bộ của bạn để kết nối đến
một máy tính
điều khiển xa và chạy ngược lại nó? Nó có 3 ý nghĩa:

Kết nối mạng

Nhận dạng người dùng


Cho phép thích hợp
1. Kết nối mạng

Với kịch bản để thực hiện điều gì đó trên máy tính điều khiển xa, trước tiên nó
phải thành lập được kết nối mạng với máy tính điều khiển xa. Những vấn đề gì
có thể ngăn cản kết nối mạng của bạn?

Đầu tiên, nó có thể là vấn đề tên, nếu kịch bản của bạn không th
ể giải quyết
được hostname của máy tính hoặc FQDN vào địa chỉ IP của nó thì kịch bản có
thể bị lỗi.

Thứ hai, nó có thể là vấn đề tường lửa. Chúng ta đã nhìn thấy trong bài viết
trước, để có được kịch bản WMI của chúng ta có thể chạy cho một máy tính điều
khiển xa thì chúng ta phải mở ngoại lệ quản trị từ xa Remote Administration
trong tường lửa Windows trên máy tính điều khiển xa. Bây giờ n
ếu bạn mở
Windows Firewall applet từ Control Panel và chọn tab Exceptions thì sẽ không
thấy hộp kiểm Remote Administration được gán nhãn mà bạn có thể chọn để mở
ngoại lệ này. Lý do của điều này là Control Panel applet này có ý nghĩa chính
dành cho người dùng gia đình sử dụng để cấu hình tường lửa của họ. Trong môi
trường doanh nghiệp, nơi Active Directory được sử dụng, cách quản lý Windows
Firewall được ưa thích là sử dụng Group Policy. Chúng ta đã thấy trong bài viết
trước rằ
ng thiết lập Group Policy mà chúng ta cần cấu hình như dưới đây:

Computer Configuration\Administrative
Templates\Network\NetworkConnections\Windows Firewall\Domain
Profile\Windows Firewall: Dho phép ngoại lệ quản trị từ xa trở về.


Khi bạn nhắm đến chính sách này đối với một máy tính điều khiển xa thì nó sẽ
mở hai cổng TCP trên máy tính đó: cổng 445 và 135.
• Cổng TCP 445 là cổng dành cho lưu lượng đi vào Server Message Block
(SMB), nếu cổng này bị khóa trên tường lửa của máy tính điều khiển xa thì bạn
không chỉ không thể kết nối tới nó bằng WMI mà cũng không thể kết nố
i đến nó
bằng các công cụ quản trị MMC chuẩn như Computer Management. Khi cổng bị
khóa và bạn đang thử chạy các kịch bản đối với máy tính từ xa thì có thể gặp
một số lỗi khó hiểu như “System error 53 has occurred. The network path was
not found” – Lỗi hệ thống 53 xuất hiện. Đường dẫn mạng không được tìm thấy…

• Cổng TCP 135 là cổng dành cho lưu lượng vào Distributed COM (DCOM). Đặc
biệt hơn, cổng 135 là cổng lắng nghe cho DCOM Service Control Manager
(SCM), cung cấp các d
ịch vụ RPC cho việc thuyết minh các đối tượng COM.
Độ dài hay ngắn của nó là cả hai cổng TCP 135 và 445 cần phải mở trên tường
lửa của máy tính từ xa nếu các truy vấn WMI chạy từ máy tính cục bộ đến sử
dụng thành công RCP để kết nối dịch vụ WMI trên máy tính điều khiển xa và đến
thuyết minh thành công các đối tượng DCOM trên máy tính từ xa.

2. Nhận dạng người dùng

Khi bạn chạy kịch bản cho m
ột máy tính điều khiển xa và có thể thiết lập kết nối
mạng với máy tính từ xa, sau đó kịch bản có thể thực hiện các hành động trên
máy tính từ xa đó. Nhưng các hành động mà nó có thể thực hiện lại phụ thuộc
vào sự nhận dạng với kịch bản nào đang chạy trên máy tính điều khiển. Ví dụ tôi
đăng nhập vào máy tính A bằng sử dụng một tài khoản người dùng tên mi
ền
thông thường. Sau đó tôi chạy kịch bản ChangeIPAddress.vbs và nhắm nó vào

máy tính điều khiển xa B. Kịch bản sử dụng RPC để kết nối đến dịch vụ WMI
trên máy tính B và nó thay đổi địa chỉ IP của máy tính B. Nhưng bất thành. Lý do
tại sao? Ai đang cố gắng thực hiện hành động này trên máy tính điều khiển xa?
Trên máy tính cục bộ (máy tính A) bạn là người dùng và khi chạy kịch bản bằng
mặc định nó là hiện thân cho nhậ
n dạng của bạn, nghĩa là kịch bản sẽ thực hiện
các hành động của nó bằng sự nhận dạng của bạn (tài khoản người dùng của
bạn). Vì vậy kịch bản sẽ thay đổi địa chỉ IP của máy tính điều khiển xa, nó có
hiệu quả đối với bạn, một người dùng trong miền, người đang thực hiện điều
này. Mặt khác nó sẽ h
ỏng khi việc thay đổi yêu cầu đến sự ủy nhiệm quản trị
viên cục bộ.

Vì vậy, khi bạn đang ngồi tại máy tính A, đã đăng nhập vào người dùng của miền
và bạn vẫn muốn sử dụng kịch bản của mình để thay đổi địa chỉ IP của máy tính
B. Bạn có thể thực hiện chúng như sau:

Kịch bản ChangeIPAddress.vbs của bạn có thể thay đổi như sau:
Set objWMIService = GetObject("winmgmts:\\" & strComputer &
"\root\cimv2")
với
strUser = "Administrator"
strPassword = “Pa$$w0rd”
Set objWMIService = GetObject("winmgmts:\\" & strComputer &
"\root\cimv2", strUser, strPassword)
Vấn đề ở đây là không an toàn – mật khẩu của tài khoản quản trị viên cho máy
tính từ xa có trong văn bản của kịch bản và có thể bị quan sát.

Vậy làm thế nào để có thể loại bỏ được hai dòng đầu tiên này và giấu các giá trị
strUser và strPassword cho kịch bản như các đối số khi kịch bản được chạy? Tốt

hơn vẫn là việc mã hóa cứng các giá trị này trong kịch bản, nhưng nếu ai đó có
chương trình đang chạy (như Network Monitor 3.0) thì họ có thể lấy được các
thông tin quan trọng và khi đó bạn đã thỏa hiệp máy tính từ xa của mình.

Sẽ nh
ư thế nào nếu bạn sử dụng một lệnh nâng cao như runas
/user:Administrator cmd.exe và sau đó chạy kịch bản từ cửa sổ lệnh nâng cao
mà không cần chỉ định các thông tin quan trọng khác? Đó có thể là giải pháp tốt
nhất cho kịch bản từ xa, nơi bạn muốn bảo đảm kịch bản có sự nhận dạng thích
hợp (thường quản trị nội bộ trên máy tính mục tiêu) dù cho nó khá phức tạp. Rõ
ràng, b
ạn có thể đơn giản việc đăng nhập vào máy trạm làm việc như tài khoản
quản trị miền và đơn giản mở một lệnh và chạy kịch bản.

3. Cho phép thích hợp

Bạn đang chạy kịch bản trên máy tính A và kịch bản được giả định để thực hiện
một số hành động trên máy tính B. Kịch bản đã thành lập kết nối mạng với d
ịch
vụ WMI trên máy tính B và đang cố gắng thực hiện các hành động của nó bằng
sử dụng đúng nhận dạng (thường là các thông tin quản trị viên cục bộ) trên máy
tính B. Những gì có thể làm cho kịch bản này bị hỏng tại đây? Không đủ sự cho
phép! Nếu kịch bản đang cố gắng thực hiện một số hành động được điều khiển
bởi ACL (như việc thay
đổi một đối tượng file hoặc tạo một đối tượng trong
Active Directory hoặc kích hoạt một đối tượng DCOM) và bạn không có sự cho
phép thích hợp để thực hiện hành động đó thì kịch bản sẽ bị lỗi. Không may thay
đó thường là phần khó nhất của kịch bản điều khiển xa khi có các cho phép
NTFS, DCOM và nhiều kiểu cho phép khác trên nền Windows. Bạn có thể có các
cho phép đúng nhưng không có quyền đúng, nghĩa là các quyền người dùng để

thực hiện một số hành động. Ví dụ, nói rằng bạn muốn sử dụng kịch bản để xóa
sự kiện đăng nhập trên máy tính điều khiển xa nhưng sự nhận dạng củ
a bạn
thiếu quyền bảo mật SeSecurityPrivilege trên máy tính từ xa đó thì khi đó kịch
bản của bạn sẽ bị lỗi.

Có rất nhiều cái để học về kịch bản điều khiển xa. Chúng tôi sẽ tiếp tục giới thiệu
với các bạn trong bài tiếp theo.
 

×