共用方式為


Windows Vista

利用「使用者帳戶控制」實現非系統管理夢想

Alex Heaton

 

摘要:

  • 為何應避免以系統管理員身分執行
  • 嘗試以標準使用者身分執行來解決問題
  • 「使用者帳戶控制」的運作方式

對大多數的 IT 組織而言,讓較少的使用者以系統管理員權限執行是個值得實現的目標。雖然 IT 系統管理員普遍認為將使用者限制成標準使用者帳戶是可行之策,但還是約有 80% 的人以系統管理員帳戶部署桌上型電腦,導致這些

電腦更容易感染惡意程式且更難管理。然而要避開系統管理員帳戶卻不是那麼簡單。如果您稍加嘗試,就會發現有許多潛在的障礙。

首先是應用程式相容性的問題。由於多數應用程式都是使用系統管理員帳戶進行撰寫與測試,標準帳戶甚至可能無法執行這些程式 (這是最常見的情況,因為應用程式會試圖寫入受限制區域,如 Program Files 目錄或 HKLM 登錄機碼)。

其次,舊版的 Windows® 均過度限制使用者,禁止其設置大部分的設定。標準使用者必須求助於支援人員,否則無法變更時區和電源設定、連接安全的無線網路,或安裝 ActiveX® 控制項,而尋求支援需負擔相關成本。

所幸 Windows Vista™ 解決了這些問題。即便使用者沒有系統管理員帳戶,您也可利用 Windows Vista 的「使用者帳戶控制」(UAC) 及其他管理技術輕鬆支援和管理這些桌上型電腦、提高標準使用者的工作產能,且實現這一切完全不需要放寬安全性,不必依循慣常方法修改存取控制清單 (ACL) 為使用者提供更高彈性的可自訂化存取。接著我們就來仔細瞧瞧 Windows Vista 如何減緩存取控制方面的一些問題。

以模擬方式改善相容性

由於具有「檔案及登錄模擬」功能,在 Windows XP 上無法以標準使用者身分執行的應用程式,大多完全不必修改就能在 Windows Vista 上執行。在 Windows XP 中,多數應用程式一旦試圖寫入檔案系統的受保護區域及禁止標準使用者存取的登錄時便會中斷執行。Windows Vista 則會將寫入動作 (及後續的檔案或登錄讀取動作) 重新導向到使用者設定檔內的某個特殊位置,藉以改善相容性。例如,若應用程式試圖寫入 C:\program files\contoso\settings.ini 但使用者無權寫入該目錄,寫入動作將重新導向到 C:\Users\使用者名稱\AppData\Local\VirtualStore\Program Files\contoso\settings.ini。如果應用程式試圖寫入 HKLM\Software\Contoso\,該動作便會自動重新導向到 HKCU\Software\Classes\VirtualStore\MACHINE\Software\Contoso。[圖 1] 概述了重新導向流程。此外,「Windows Vista 軟體標誌認證計劃」(Certified for Windows Vista Software Logo Program) 將要求應用程式不需模擬就能以標準使用者身分執行;若未符合這項要求,便不頒發該標誌給應用程式。

圖 1 檔案及登錄模擬流程

圖 1** 檔案及登錄模擬流程 **

標準使用者可以執行更多作業

Windows Vista 賦予了標準使用者帳戶更多權限,因而使用者無須求助於支援人員,也不必仰賴系統管理員帳戶提供完整權限組,即可執行一般工作。新權限包括:可檢視系統時間和行事曆、變更時區、修改無線網路安全性設定、變更電源管理設定,以及從 Windows Update 下載和安裝重大更新。

此外,磁碟重組在 Windows Vista 中屬於自動排程的程序。需要系統管理員權限才能執行的動作將標註盾牌圖示,讓使用者得知自己能否變更哪些設定值。

ActiveX 控制項安裝

對 ActiveX 控制項進行集中管理可能尤為棘手,因為控制項不僅更新頻繁,且必須先重新封裝方可透過軟體發佈程式如 Systems Management Server (SMS) 或透過群組原則來散發。Windows Vista 隨附選用元件稱為 ActiveX Installer 服務,讓 IT 系統管理員能使用群組原則來指定允許標準使用者從哪些網站安裝 ActiveX 控制項。如需使用 ActiveX Installer 服務,請執行下列步驟:

  1. 在用戶端電腦上啟用 ActiveX Installer 服務。您可以透過 [Windows 功能] 控制台小程式,或在設定桌面映像時啟用此服務。
  2. 在 [Active Directory 群組原則] 中,從 [電腦設定] | [系統管理範本] | [Windows 元件] 下選取 [ActiveX Installer 服務],再選取 [啟用]。如今一旦原則已複寫給使用者,使用者就能從您指定的網站安裝控制項。

由於 ActiveX 控制項及其他的可執行程式碼可能會執行惡意動作,請務必謹慎使用此功能;只對您信任的廠商以及嚴格控管下的內部網路網站上才能使用。

ActiveX Control Installer 服務亦已與 Windows Vista 事件基礎結構整合,因此如果有使用者需要安裝的 ActiveX 控制項,您就會自動接獲通知。每當標準使用者試圖安裝尚未核准的控制項,服務便會在應用程式記錄檔中建立事件。在 Windows Vista 中,可將工作設定為只要觸發事件即自動傳送電子郵件或執行另一程式。藉此,您就能得知何時已發佈使用者所需的控制項,並可將該網站加入群組原則而不致嚴重停滯使用者的工作進展。有了 Windows Vista,您也能向整個企業內的多部電腦訂閱事件,以產生使用者試圖安裝之所有控制項的清單。

硬體裝置驅動程式安裝

系統管理員權限依然被普遍使用的另一個原因,是考慮到使用者常在出差旅遊時無法安裝所需的裝置驅動程式,尤其是膝上型電腦使用者。Windows Vista 提供新的 Driver Store 基礎結構,藉由靈活控制標準使用者所能安裝的驅動程式而紓解了這道難題。首先,您可以在 Driver Store 中預先填妥信任的驅動程式,讓使用者能在必要時安裝核可的驅動程式。其次,您可以利用群組原則賦予標準使用者權限,允許其安裝各類裝置 (如印表機),甚至指定裝置硬體識別碼 (如核可的快閃磁碟機)。

由於 Windows Vista Driver Store 係位在每一部用戶端電腦硬碟上系統內附驅動程式和協力廠商驅動程式的受信任快取區,使用者不需具備系統管理員權限就能進行安裝。如果要將驅動程式接移到 Driver Store,請將驅動程式載入離線映像,或透過網路將驅動程式動態更新到連線用戶端。對於離線映像,使用封裝管理員可將驅動程式分毫不差地接移到 Driver Store。

對於連線映像,請使用命令列公用程式如 pnputil.exe 或 DevCon,再搭配使用軟體發佈應用程式來新增、更新或刪除 Driver Store 中的驅動程式。為了進一步提升驅動程式接移程序的效率並賦予彈性,Windows Vista 允許 IT 部門和協力廠商簽署驅動程式封裝完整性。

根據預設,只有具備系統管理員權限的使用者可新增驅動程式到 Driver Store。但對於某些使用者,特別是行動使用者而言,於外出期間很可能急需安裝印表機之類的裝置。藉由新的群組原則設定,Windows Vista 能讓您賦予標準使用者彈性,於必要時安裝其驅動程式尚未接移到 Driver Store 但已核可的裝置。若要委派裝置驅動程式接移權限,請開啟 [群組原則] 介面,再瀏覽到 [電腦設定] | [系統管理範本] | [系統] | [驅動程式安裝] | [允許非系統管理員安裝這些裝置的驅動程式 (Allow non-administrators to install drivers for these devices)]。您必須知道裝置類別的 GUID,以便允許標準使用者接移和安裝該類裝置。您可以上網到 MSDN® 查閱裝置類別,或者如果裝置已安裝到您的電腦,請開啟 [裝置管理員 | 內容] 視窗。按一下 [詳細資料] 索引標籤,然後選取標示為 [裝置類別 GUID] 的下拉式清單。您也必須確定,用於簽署驅動程式的憑證已經位於用戶端電腦的「受信任的發行者」存放區 (可透過群組原則進行管理)。

Windows Vista 的這些先進功能如今為標準使用者提供了安裝裝置所需的彈性,因此您可以將更多使用者移到受管理的桌面環境。

桌面鎖定層級

即使 Windows Vista 作業系統有了上述改進,並非全部組織都能以標準使用者權限部署所有的 Windows Vista 桌面。某些組織可能仍有應用程式需要系統管理員權限,或其內部使用者 (如開發人員) 必須安裝自己的軟體。沒問題!Windows Vista 允許多種層級的桌面控制,可透過使用者帳戶選擇和群組原則進行設定,各種層級都比 Windows XP 中具有完全控制權的系統管理員帳戶提供更高管理性和安全性。大多數與 UAC 設定相關的系統設定均可在「安全性原則編輯器」(secpol.msc) 中找到,如 [圖 2] 所示。

圖 2 安全性原則編輯器

圖 2** 安全性原則編輯器 **(按影像可放大)

第一種控制層級稱為「管理核准模式」。這種模式藉由預設以標準使用者身分啟動程式,並於程式試圖以系統管理員權限執行時警示使用者,進而降低某些類型惡意程式的攻擊威脅。在此模式下,如果使用者執行的程式需要系統管理員權限,您可以透過事件日誌進行稽核。但請記住,儘管應用程式是以標準使用者權限執行,這種模式不比真正的標準使用者帳戶來得安全。使用者仍具有系統管理員權限,因而得以變更原則設定、安裝未核准的軟體,且無法杜絕 Rootkit 之類高殺傷力的惡意程式暗地安裝。

下一種層級以第一種層級為基礎,但利用群組原則對使用「受信任的發行者」存放區內的憑證進行簽署的程式限制提高權限。這有助於遏止未經簽署的惡意程式取得系統管理員權限,並可防止使用者隨意安裝軟體。不過,在以系統管理員帳戶身分執行的情況下,精通門道卻心懷不軌的使用者或複雜的惡意程式可能會透過停用原則 (至少暫時停用) 來執行未經授權的動作。因此,唯有當您情非得已無法使用真正的標準使用者帳戶時,才使用上述兩種層級做為解決問題的過渡時期措施。

下一種安全性層級是將使用者從系統管理員帳戶剔除並指派為標準使用者。UAC 有一項功能稱為 Over the Shoulder Credentials Dialog,預設會在標準使用者啟動需要系統管理員認證的程式時出現。標準使用者將被封鎖而無法執行動作,但若他們知道系統管理員的使用者名稱和密碼,只要輸入就能繼續執行動作。可能用到這項功能的典型情況像是在外出差旅遊的膝上型電腦使用者。例如,如果使用者在途中急需安裝特定軟體,則可電洽支援人員索取本機系統管理員帳戶的密碼,再輸入該密碼就能執行程式了 (請參閱 [圖 3])。若您已將系統管理員密碼告訴使用者,建議您備妥各項處理流程和工具,以便在使用者重新連接網路時重設系統管理員密碼,並且記錄所有用過系統管理員認證來執行的程式。另外尚請注意,如果 PC 感染了惡意程式,系統管理員可能會遭誘騙,而在非自願的情況下將系統管理員權限授與惡意程式。

圖 3 要求輸入系統管理員密碼

圖 3** 要求輸入系統管理員密碼 **(按影像可放大)

您也可以選擇利用群組原則停用認證對話方塊,將 [使用者帳戶控制:標準使用者之提高權限提示的行為 (User Account Control: Behavior of the elevation prompt for standard users] 設定為 [自動拒絕提高權限要求 (Automatically deny elevation requests)] (請參閱 [圖 4])。我們建議大多數部署標準使用者桌面的企業以這種方式設定 UAC。多數組織均可藉由這麼做,避免使用者電洽支援人員索取 IT 部門不願透露的密碼。

圖 4 利用群組原則封鎖應用程式

圖 4** 利用群組原則封鎖應用程式 **(按影像可放大)

如需最堅固的桌面鎖定層級,您可以使用 UAC 和標準使用者帳戶再結合 Windows 軟體限制原則 (SRP)。藉助於 SRP,企業就能更進一步阻止執行任何未被具體允許的軟體。SRP 的設計用意是針對未符合基於 Authenticode® 憑證、雜湊、路徑或網際網路區域等特定條件的軟體進行封鎖使其無法執行。SRP 係透過群組原則進行管理,而您只需經由簡單的操作即可建立非常強的原則,以防未經核准的程式安裝和執行。典型的原則可能會禁止所有的可執行檔,但下列路徑中的可執行檔除外:%WINDIR% 和 %PROGRAMFILES%,並將原則套用到系統管理員以外的所有使用者。

設定妥這項原則後,IT 人員仍可將其所需的任何軟體程式安裝於 Program Files 目錄,而不必將每個 .exe 逐一加入白名單 (已核准項目的清單) 中。且由於標準使用者無權存取這些目錄,而無法將程式移到其他可執行的位置。

您或許已發現本文至今尚未提到 Power Users 群組。這是因為 Windows Vista 不再使用 Power Users 群組。某些組織之所以使用 Power Users 群組是為了限制系統管理員權限。儘管賦予部分人員 Power User 權限可防止其未經核准設定系統組態,這些使用者 (或以 Power User 認證身分執行的惡意程式) 或許仍能取得其他權限,甚至取得完整的系統管理員認證。因此,Windows Vista 只設置系統管理員和標準使用者做為兩種主要帳戶類型。

桌面管理基礎結構

有了「檔案及登錄模擬」功能、新的 Driver Store 基礎結構,再加上前面討論的其他功能,要以標準使用者帳戶身分部署 Windows Vista 桌面就變得更容易了。然而即使運用這些技術,如果沒有管理基礎結構 (工具、處理程序和人員) 足可支援未能親自執行作業的使用者,您仍無法完全支援標準使用者環境。您需要考量的一些事項包括:

軟體安裝 如果使用者無法自行安裝軟體,您必須提供其他辦法。有個辦法不需要藉助任何其他管理軟體,那就是使用群組原則。您可以透過群組原則,將程式加入 [新增/移除程式] 清單中。使用者若以這種方法安裝程式,系統便會啟動該使用者所需的較高權限協助完成安裝。要擁有更完善的方案,您也可以使用 SMS 或類似產品。某些方案甚至允許您建立自助服務入口網站,讓標準使用者可挑選想要安裝的軟體。

軟體更新 您必須提供可在 PC 上安裝更新的辦法,而不是傳送電子郵件提醒使用者「請安裝此更新!」如果要管理與部署大部分的 Microsoft 更新,您可以透過 Windows 伺服器免費下載 Windows Server Update Services 來使用。如需部署範圍更廣的更新,同樣可考慮使用桌面管理產品,像是 SMS。

支援流程和人員配置 當使用者電洽支援人員尋求解決導致效能問題的事件或告知希望安裝新軟體時,單靠電話溝通大概都無濟於事,因為使用者並沒有足夠的權限。您的 IT 部門必須多加利用遠端協助和遠端系統管理工具來診斷問題及變更設定。雖然支援人員可以使用遠端桌面從遠端變更系統管理設定,但因登入的標準使用者無法核准需要系統管理員權限的動作提示,所以 Windows 遠端協助的用法也有所不同。

規劃明確而有效率的流程來處理原則例外狀況是非常重要的。例如,假定行銷部門有人需要安裝新的試用版圖形設計工具,以評估是否值得該部門採購。該由誰核准安裝這個軟體呢?部門經理、直屬主管還是 CIO?究竟如何安裝軟體,而又得等多久才能開始安裝?我們建議的作法是建立簡單的核准工作流程,並與支援部門的問題追蹤系統整合。基本工作流程如下:

  1. 使用者提出希望安裝程式的要求,附上安裝程式的連結 (安裝程式位於使用者的本機硬碟或光碟機內),並證明該軟體不是非法取得且用途正當。
  2. 傳送要求鑒請經理核准。
  3. 轉寄要求給 IT 部門的應用程式組長,鑒請檢查以確認毫無任何已知相容性問題、執行病毒掃描,並確定公司尚未購買該程式的網站使用授權,也未曾向其他廠商購買類似程式。
  4. 轉寄要求給技術支援人員,鑒請從遠端起始安裝,並於安裝完成後通知使用者試用軟體。

為了建立工作流程介面,您可以編寫動態網頁,或購得市售商業支援或問題追蹤套裝軟體。對於受管理與未受管理的環境,您也必須採用不同的人員配置。順利的話,您只需要少數技術人員,就能對不穩定或受感染的 PC 進行實際診斷或重新製作映像。不過,起初您可能必須配置較多人力進行軟體封裝與部署。

從長遠來看,由於電腦能夠長期維持穩定,您所付出的支援成本應會較低,但支援人員一開始可能得應付使用者經常來電尋求協助設定組態的局面。等到您依照使用者所需的設定配置了桌面映像和群組原則後,支援人員接到求助電話的次數便會逐漸減少。

企業文化

最後一個障礙不是技術層面,而是心理層面。某些使用者可能會對沒有系統管理員權限這種構想存有排斥心理。但我相信大多數的使用者不會覺得有任何差別。且如果您強制以標準使用者帳戶身分部署 Windows Vista,即可整合桌面搜尋、全新的 Aero™ (半透明) 使用者介面及針對行動使用者所做的改進,其生產力提升的好處絕對遠超過不具備系統管理員身分所帶來的任何不便。然而,若因處理流程規劃不當導致人員必須等候數週才獲准安裝軟體,那麼肯定有些員工會不太高興。

基本上,確保 PC 資產安全、杜絕使用者使用未經授權的軟體及強制遵守政府法規和內部政策是 IT 部門的責任。多數的公司將會發現,達成此目標唯一的辦法是制訂一套新原則,對擁有系統管理員權限的使用者人數加以限制。所幸,用了 Windows Vista 您就知道這有多麼容易。

其他資源

關於如何縮減系統管理員權限的說明,請參閱:

Alex Heaton 是 Windows Vista 資訊安全小組的資深產品經理。他曾擔任 Microsoft 資訊安全網站 (包括 microsoft.com/protect) 的首席網站經理,同時也是「使用者帳戶控制小組」部落格 blogs.msdn.com/uac (英文) 的撰文者之一。

© 2008 Microsoft Corporation and CMP Media, LLC. 保留所有權利;未經允許,嚴禁部分或全部複製.