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

Tài liệu Thuần hóa” UAC của Microsoft Windows Vista docx

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 (603.98 KB, 15 trang )

Thuần hóa” UAC của Microsoft Windows Vista

Liệu có tính năng nào của Microsoft
Windows Vista gây bực tức trên toàn cầu
hơn User Account Control, tức UAC viết
rút gọn, hay không? Trong điều kiện cần
thiết nó vô cùng hữu ích nhưng khi ngược

lại nó trở thành sự bất tiện không thể
chịu nổi. Giải pháp hấp dẫn ở đây là tắt
UAC đi và xem như xong, nhưng đây
không phải là giải pháp xác đáng. Sẽ có
những lần bạn muốn sự bảo vệ của UAC và có nhiều cách bạn biến
UAC thân thiện hơn là xâm chiếm. Hợp tác với nó hơn là chống lại nó,
và bạn sẽ thấy ngạc nhiên thú vị là nó dễ
điều khiển đến mức nào. Sau

đây là 7 cách khiến UAC của Vista ít xâm phạm hơn mà vẫn tránh xa
được hiểm nguy an ninh.
Liệu có tính năng nào của Microsoft Windows Vista gây bực tức trên
toàn cầu hơn User Account Control, tức UAC viết rút gọn, hay không?
Trong điều kiện cần thiết nó vô cùng hữu ích nhưng khi ngược lại nó
trở thành sự bất tiện không thể chịu nổi.

Hay nhìn theo một quan điểm ôn hòa hơn, nó là một tính năng đôi lúc
cũng tối cần thiết với Windows – một cách
để kiểm soát quyền truy
cập tài khoản người dùng quản trị để những chương trình không có
quyền truy cập quản trị không nhận được nó.

Chúng tôi theo quan điểm thứ 2, ngoài việc phá vỡ nhiều thói quen


làm việc hiện hành, cũng có nhiều câu hỏi xung quanh cách hoạt động,

hoặc phải hoạt động như thế nào, của nhiều chương trình dưới sự điều
khiển của UAC.

Giải pháp hấp dẫn ở đây là tắt UAC đi và xem như xong, nhưng đây
không phải là giải pháp xác đáng. Sẽ có những lần bạn muốn sự bảo
vệ của UAC và có nhiều cách bạn biến UAC thân thiện hơn là xâm
chiếm. Hợp tác với nó hơn là chống lạ
i nó, và bạn sẽ thấy ngạc nhiên
thú vị là nó dễ điều khiển đến mức nào.

1. Xung đột quyền quản trị

Điều quan trọng đầu tiên cần được nói đến là trong trường hợp nào
hộp thoại của UAC nên và không nên xuất hiện. Nhiều người than
phiền rằng UAC quấy rầy họ ngay khi đó dường như chỉ là một hành
động hệ thống hoàn toàn bình thường, như mở một file hoặc copy một
thứ gì đó sang một nơi khác. Đây không phải là cách làm việc hợp lý
của UAC, vì vậy sau đây là bài phân tích nhanh khi nào bạn nên và
không nên nhận những câu lệnh của UAC.

UAC có thể khởi động không cần thiết nếu các điều khoản
của bạn được thi
ết lập không chính xác.
Đầu tiên, UAC nên khởi sự bất cứ khi nào bạn click vào một biểu tượng

hoặc hộp thoại Windows có biểu tượng hình cái khiên (shield). Logo
này được tạo ra làm lời chú thích bằng hình ảnh rằng bất cứ hành động


có liên quan đến nó sẽ phải có sự chấp thuận của UAC, một dạng cảnh
báo trước cho người dùng. Những hành động này bao gồm những thứ
như bộ cài đặt ứng dụng, thứ rõ ràng cần phải có sự cho phép của
quản trị (admin) để hoạt động. Có lẽ giờ bạn sẽ thấy các biểu tượng
cài đặt ứng dụng sẽ được trang trí thêm biểu tượng hình khiên; đó
chính là chỉ thị cần sự chấp thuận của UAC để chạy chúng.

UAC không nên bật ra khi bạn mở những tài liệu trong thư mục người
dùng, khi truy cập vào những tài liệu trên một ổ đĩa khác mà bạn biết
là của mình, hoặc khi chạy những chương trình bình thường như Office
hoặc Firefox mà không cần quyền quản trị để hoạt động đúng. Nếu
điều này xảy ra, có khả năng cao là đ
iều khiển sự cho phép trên những

file đó bị hỏng hoặc thiết lập sai.

Trường hợp này thường xảy ra khi làm việc với những file trên ổ cứng
được di chuyển từ một máy tính khác, ví dụ như máy chạy Windows
phiên bản trước đó. Một ổ cứng định dạng FAT hoặc FAT32 thường
không hiển thị những vấn đề đó vì những hệ thống file này không cần
đến sự cho phép, nhưng ổ cứng định d
ạng NTFS có thể có quyền sở
hữu trên file và thư mục thuộc về một user nào đó chứ không phải hệ
thống hiện tại của bạn. Kết quả là, bất kỳ hoạt động file nào trên ổ
đấy cũng phải thực hiện dưới chế độ admin, mà có khi vẫn thất bại.

Giải pháp: thu lại quyền sở hữu

Giải pháp ở đây là lấy lại quyề
n sở hữu tất cả mọi thứ trên ổ, dù bạn là


user hiện tại hay là một quản trị viên. Điều này có thể được thực hiện
thông qua GUI, nhưng thường sẽ nhanh hơn và linh hoạt hơn nếu thực
hiện thông qua cửa sổ lệnh. Nếu ổ E: là ổ có vấn đề, bạn có thể dùng
lệnh ICACLS, ví dụ như:
Icacls e:\* /setowner Administrators /T /C
Nên nhớ rằng lệnh này mất một lúc mới hoàn tất, vì nó lặp đi lặp lại
trên từng đối tượ
ng trong hệ thống file và áp dụng thay đổi về bảo
mật. Có thể bạn cũng sẽ muốn tự động gỡ bỏ Recycle Bin ra khỏi ổ
này sau khi thực hiện xong, vì nó sẽ không hoạt động chính xác sau
khi thay đổi các điều khoản hoặc quyền sở hữu. Điều này cũng thực
hiện được từ cửa sổ lệnh:
attrib -s -h e:\RECYCLER
rd /s e:\RECYCLER
(vẫn giả định thực hiệ
n trên ổ e:)
Recycle Bin của ổ này sẽ được tái tạo tự động lần kế tiếp bạn khởi
động lại hệ thống. Có thể bạn cần phải gán các điều khoảncho ổ đĩa
này để có thể truy cập vào tất cả mọi thứ trong nó, nhưng quyền sở
hữu đã là mức cao nhất.

2. Sử dụng Process Explorer

Bây giờ đến câu hỏi kế tiếp: Liệu có thể khởi động những chương trình
nhất định mà không phải đối phó với các lệnh UAC không? Câu trả l
ời
ngắn gọn là có, mặc dù có “nhiều con đường dẫn đến thành Rome”.
Con đường chính xác mà bạn sẽ đi tùy thuộc vào thói quen làm việc và


bạn muốn chỉnh sửa nó đến mức nào.

Chạy Process Explorer với quyền admin sẽ cho phép bạn khởi chạy
những chương trình khác với đặc quyền quản trị
Cách tránh UAC của chúng tôi là chạy chương trình Process Explorer
của Sysinternals.com thay thế cho Task Manager. Khi bạn dùng PE với
tùy chọn dòng lệnh /T, nó sẽ tự khởi động chương trình với tư cách
Administrator. Đặt shortcut tới PE trong trong nhóm Startup và sau khi

đăng nhập bạn sẽ gặp nhắc nhở của UAC để chạy chương trình với
quyền quản trị.

Vậy giải pháp nằm ở đâu? Khi PE khởi động với quyền admin, một
trong những điều bạn có thể thực hiện là dùng nó để mở những
chương trình khác cũng với quyền admin. Hãy thực hiệnđiều này thông

qua hộp thoại File/Run của chương trình, nó cũng có chức năng History

và có thể được sử dụng để lưu những nhiệm vụ admin phổ biến, như
mở một phiên CMD hoặc chạy COMPMGMT.MSC /S (bảng điều khiển
Computer Management). Tất cả những chương trình đó sẽ chạy với
quyền admin mà không vướng hộp thoại của UAC.

Dĩ nhiên PE không phải là chương trình duy nhất có thể sử dụng theo
hướng này để khởi chạy các chương trình khác cũng v
ới quyền admin,
mà nó là một trong những chương trình tốt hơn vì nhiều lý do – chí ít
nó đã được viết để thay thế cho một thành phần của hệ thống, chính v
ì
vậy nó là một phần mã tin cậy mà không ảnh hưởng gì đến bạn.


Phương pháp này có một số hạn chế, phần lớn trong số này là những
gì liên quan đến sự thoải mái cho người dùng. Hạn chế lớn nhất là tốn
nhiều công sức: muốn khởi chạy PE bạn cần phải mở nó từ khay hệ
thống (hoặc bằng cách nhấn Ctrl – Shift – Esc), sau đó mở menu Run

(Ctrl – R) và gõ thứ bạn đang tìm kiếm hoặc kéo xuống để tìm. Nó sẽ
tốt đẹp nếu (a) bạn để PE chạy liên tục; (b) bạn cần phải chạy một
chương trình với quyền admin.

Chính vì vậy bạn có thể cảm thấy hẳn phải có một cách tốt hơn để
thực hiện điều này, và thực sự là có vài cách.

3. Lên lịch cho một nhiệm vụ chạy với quyề
n quản trị

Cách duy nhất để tránh UAC là khởi động một chương trình với quyền
admin thông qua Task Scheduler. Vì bạn không thể khởi động Task
Scheduler và thêm vào một nhiệm vụ quyền admin nếu không phải là
admin (và không phải thông qua UAC) ngay từ ban đầu, tuy nhiên điều

này không phải là lỗ hổng. Những thông tin admin cần thiết được lưu
cùng với bản thân nhiệm vụ.

Khi được thiết lập, nó có thể được dùng để chạy những nhiệm vụ riêng
lẻ (an toàn hơn) hoặc như một framework để khởi chạy những nhiệm
vụ quản trị (hơi ít an toàn hơn, nhưng tiện lợi hơn).

Sau đây là một ví dụ cách tạo một nhắc l
ệnh quản trị theo cách này.


Task Manager có thể tránh UAC. Chỉ cần chọn “Run with highest
privileges”
1. Truy cập với tài khoản quản trị và khởi động Task Scheduler. Một
cách nhanh chóng là gõ sched trong menu Start, sau đó nhấn vào
Task Scheduler khi nó xuất hiện. Nó cũng có sẵn trong Control
Panel, dưới mục “Schedule tasks” ở bảng bên trái theo cách hiển thị
chuẩn, hoặc trong Administrative Tools theo hiển thị Classic.

2. Tạo một nhiệm vụ mới bằng cách nhấn “Create Task” trong bảng
Actions (“Create Basic Task” có thể không đưa ra hết các tùy ch
ọn mà

bạn cần.)

3. Trong thẻ General, đặt tên cho task. “Admin” sẽ hoạt động tốt.
Bất kỳ tên nào cũng được miễn là bạn thấy dễ nhớ; vì bạn sẽ cần nó
sau này. Chọn hộp chọn “Run with highest privileges”.

4. Trong thẻ Actions, chọn “New” và chọn “Start a program”. Đưa
đường dẫn đến chương trình bạn muốn chạy với quyền admin. Trong
trường hợp này là cmd.exe. Chọn OK và thêm hành động đ
ó vào danh
sách.

5. Trong thẻ Conditions, bỏ chọn tất cả các tùy chọn đưa ra.

6. Trong thẻ Settings, bỏ chọn tất cả các tùy chọn đưa ra, trừ “Allow
task to be run on demand”.


7. Chọn OK và thêm vào nhiệm vụ được lên lịch.

8. Để chạy nhiệm vụ, tạo một shortcut dẫn đến vị trí sau
C:\Windows\System32\schtasks.exe /run /tn ""
(tên nhiệm vụ) là tên bạn chọn trong bước 3. Cần phải có dấu trích
dẫn (“”) xung quanh tên. Bạn có thể
đặt một icon để nhấn mạnh đây
là một hoạt động quyền admin.

9. Khởi động shortcut. Bạn sẽ thấy xuất hiện một cửa sổ CMD với dòng

chữ Administrator: taskeng.exe ở thanh tiêu đề.

Một trong những mẹo mà bạn nên làm trên cửa sổ CMD admin là đặt
màu nền cửa sổ thành màu đỏ thẫm để có thể liếc qua mà vẫn phân
biệt được liệu đang gõ vào một cửa sổ lệnh admin hay cửa sổ thường.
Để thực hiện điều này, khởi động cửa sổ CMD, nhấn Alt – Space để
mở menu của cửa sổ, và chọn Properties. Dưới mục “Colors”, chọn
bộ màu bạn muốn sử dụng cho cửa sổ admin, nhấn OK.

Phương pháp tương tự cũng được sử d
ụng để khởi động trường hợp

nâng cao” của Explorer. Sử dụng explorer/separate để mở Explorer
trong một trường hợp riêng– nếu không nó sẽ khởi động như một cửa
sổ lệnh thường khác chứ không phải “nâng cao”. (Cẩn thận với những
trường hợp Explorer nâng cao, vì bạn có khả năng làm rối tung hoàn
toàn mọi thứ lên theo cách này.)

Thêm nữa, nếu bạn khởi động trường hợp Explorer “nâng cao”, hãy

nhớ rằng bạn không thể sao chép hoặc di chuyển file giữ
a các trường
hợp “nâng cao” và không nâng cao của Explorer. Ví dụ, nếu bạn thử
sao chép vào hoặc ra khỏi thư mục Windows, khởi động chương trình
Explorer như trên và nhấn Ctrl-N để mở một cửa sổ thứ 2 từ trường
hợp trên để có thể sao chép giữa chúng với nhau.

Một ứng dụng khác cho Task Scheduler

Cũng có thể dùng Task Scheduler để mở một ứng dụng với quyền quản

trị. Hơn nữa, vốn đã có một ví dụ bằng chứng về việc thực hiện điều
này như thế nào, và đó là bằng chứng điều đó tiện lợi như thế nào.

Có một số hướng dẫn về cách sử dụng Task Scheduler để tạo ra một
tập lệnh có thể được dùng để chạy bất cứ thứ gì mà không cần lệnh
UAC, bằng một menu ngữ cảnh chuột phải.

SkipUAC, đây là chương trình sử dụng cả nhiệm vụ lịch biểu và ứng
dụng chạy trên nhiệm vụ để đạt được thành tích của nó. Nên nhớ rằng
bạn phải có khả năng chạy các nhiệm vụ với quyền admin để cài đặt
chương trình này ngay từ bước đầu, và chất lượng của toàn bộ điều
này là khá tố
t – nó được dành cho những người thực sự biết họ đang
làm gì.

4.Sử dụng “Chế độ im lặng” của UAC

Một trong những tính năng của UAC mà ít được ghi nhận rộng rãi là


quiet mode” (chế độ im lặng), điều giúp cho sự nâng cao UAC có thể
được cài đặt diễn ra câm lặng mà không cần sự đồng ý của người
dùng. Những chương trình cần “nâng cao” vẫn chạy trong tình trạng
bảo mật riêng biệt, và người dùng vẫn chạy chế độ mặc định với quyền

ưu tiên giảm.

TweakUAC có thể được dùng để bật/tắt UAC, hoặc khiến nó làm việc
im lặng
Chế độ im lặng không được đặt sẵn mặc định qua bản điều khiển UAC
Vista, có lẽ bởi vì có khả năng nó sẽ bị lạm dụng. Bật lên và những
chương trình đòi quyền ưu tiên từ hệ thống có thể chạy mà không cần
sự đồng ý đặc biệt của người dùng. Tuy nhiên, nó v
ẫn là một cách hữu
dụng để tạm thời tăng tốc một số hoạt động đòi quyền nâng cao nếu
bạn không sử dụng trình tiện ích nâng cao.

Để bật chế độ im lặng bằng tay, bạn sẽ cần chỉnh sửa Registry (một
hành động UAC). Đặt các giá trị DWORD:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft (NSDQ: MSFT)\
W
indows\CurrentVersion\Policies\System\
ConsentPromptBehaviorAdmin

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
CurrentVersion\Policies\System\ConsentPromptBehaviorUser
Về 0 (mặc định là 2). Bạn có thể sẽ cần làm mới policy sau đó, bằng
cách sử dụng lệnh gpupdate từ một nhắc lệnh nâng cao.

Một cách khác để bật chế độ im lặng là sử dụng một phần mềm

freeware của các hãng thứ ba, TweakUAC. TweakUAC cho phép bạn tắt

UAC hoàn toàn (đòi phải reboot), tái kích hoạt và đưa nó vào chế độ
im lặng theo yêu cầu.

5. Tắt Secure Desktop

Một trong những tính năng – hoặc nỗi phiền toái, tùy thuộc vào quan
điểm – của UAC là cách UAC bật lên được khởi động trên một màn
hình an toàn, và tách biệt hoàn toàn. Đó là lý do vì sao màn hình tối đi

trong vòng một giây và lệnh của UAC xuất hiện trên phiên bản xám xịt

của màn hình (nghĩa là bạn không thể thao tác được nữa). Điều này
ngăn cản tất cả mọi thứ trừ bạn, người dùng, thao tác trực tiếp với
lệnh của UAC, vì vậy một chương trình độc hại không thể kích hoạt
UAC mạo danh bạn.

Điều Secure Desktop làm phiền mọi người nhất là mất vài giây để quay

trở lại, đặc biệt khi bạn đang sử dụng một máy tính không có phần
cứng video nhanh nhất hoặc không sử dụng giao diện Aero.

Có thể vô hiệu hóa Secure Desktop và khiến lệnh UAC biến mất nhanh
hơn trên màn hình chính. Để đối phó với Secure Desktop, chỉnh sửa
Registry và đặt giá trị DWORD:
i>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVers
ion\Policies\
System\PromptOnSecureDesktop
Đặt về 1 để bật Secure Desktop và 0 để tắt nó. Bạn có lẽ sẽ cần chạy

gpupdate/force sau khi thực hiện để chắc chắn thay đổi có hiệu lực.

Nếu bạn không thoải mái với ý tưởng hy sinh về độ an toàn quá nhiều
chỉ vì tốc độ nhanh hơn một chút, đừng tắt Secure Desktop; bạn có
thể chọn một trong những cách được trình bày trong bài.

6. Thắt chặt đi
ều khiển của UAC

Cùng với tất cả các cách để việc sử dụng UAC dễ dàng hơn, chúng tôi
cũng đưa vào một số mẹo vặt có thể hữu dụng cho những ai muốn
UAC an toàn hơn. Ở chế độ mặc định, UAC bắt buộc người dùng không
phải admin gõ mật khẩu admin, nhưng cho phép người dùng admin chỉ

cần đơn giản nhấn OK để đồng ý một hành động của UAC. Có nghĩa là

có thể buộc UAC yêu cầu password cho tất cả các người dùng, bao
gồm cả admin.
Để thực hiện điều này, chỉnh sửa Registry, và cài đặt giá trị DWORD
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft (NSDQ: MSFT)\Windows\
CurrentVersion\Policies\System\ConsentPromptBehaviorAdmin
về 1. Giá trị mặc định là 2, tức là hành vi admin tiêu chuẩn.

Cài đặt ConsentPromptBehaviorAdmin để bắt buộc các admin cung cấp

password khi UAC xuất hiện.
7. Thực thi chạy mã có xác thực

Sau đây là một cách tăng cường bảo mật có thể có ích với những người


muốn chạy UAC im lặng những vẫn muốn có thêm sự bảo vệ chống lại
những đoạn mã giả tạo.

UAC có thể được thiết lập để chạy chương trình với tư cách admin chỉ
nếu khi chúng có chữ ký số hợp lệ, mặc dù theo mặc định tính năng
này bị tắt đi. Phần lớn các bộ cài chương trình có một số dạng chữ ký;
bạn có thể
tìm xem một ứng dụng có chữ ký hay không bằng cách
nhấn chuột phải lên biểu tượng chương trình, chọn Properties, tìm
thẻ Digital Signatures. Đây là một dạng bảo hiểm rằng chương trình
đang chạy không độc hại và có nguồn gốc.

Để chắc chắn UAC chỉ chấp nhận những mã được ký, chỉnh sửa
Registry và đặt giá trị DWORD:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersio
n\
Policies\System\ValidateAdminCodeSignatures
về 1. Thay đổi này thường xảy ra ngay lập tức.

Nhớ rằng có nhiều chương trình vô hại nhưng không được ký sẽ không
hoạt động, và nếu bạn cố gắng chạy chúng với quyền admin mà tính
năng này được kích hoạt thì chúng sẽ bị lỗi. Nếu bạn nhận được dòng
lỗi “A referral was returned from the server” thì đó là dấu hiệu chương
trình bạn đang muốn chạy chưa được ký. (Đây có lẽ là nguyên nhân
chức năng này bị vô hiệu hóa theo mặc định, vì nó sẽ khiến nhiều
chương trình “vô tội” không hoạt động.)

Nếu có gì đó bạn biết là hợp lệ và muốn chạy nó với quyền admin, bạn
có thể làm được bằng cách chạy nó thông qua dòng lệnh nâng cao,
Explorer, hoặc thông qua Process Explorer được nhắc đến trước đó.


×