一、限制用戶對文件的訪問權限 如果程序所在的磁盤分區文件系統為NTFS格式,管理員賬戶可以利用NTFS文件系統提供的文件和文件夾安全選項控制用戶對程序及文件的訪問權限。通常情況下,一個應用程序安裝到系統後,本地計算機的所有賬戶都可以訪問並運行該應用程序。如果取消分配給指定用戶對該應用程序或文件夾的訪問權限,該用戶也就失去了運行該應用程序的能力。 例如,要禁止受限用戶運行Outlook Express應用程序,可以進行如下的操作: (1)、以administrator賬戶登錄系統,如果當前系統啟用了簡單文件共享選項,需要將該選項關閉。具體做法是,在Windows浏覽器窗口點擊“工具”菜單下的“文件夾選項”,點擊“查看”選項頁,取消“使用簡單文件共享”選項的選擇,點擊“確定”。 (2)、打開Program Files文件夾,選中Outlook Express文件夾並單擊右鍵,選擇“屬性”。 (3)、點擊“安全”選項頁,可以看到Users組的用戶對該文件夾具有讀取和運行的權限,點擊“高級”。 (4)、取消“從父項繼承那些可以應用到子對象的權限項目,包括那些再次明確定義的項目”選項的選擇,在彈出的提示信息對話框,點擊“復制”,此時可以看到用戶所具有的權限改為不繼承的,如圖1所示。 圖1 Outlook Express的高級安全設置 (5)、點擊“確定”,返回屬性窗口,在“用戶或組名稱”列表中,選擇Users項目,點擊“刪除”,點擊“確定”,完成權限的設置。 要取消指定用戶對文件或程序的訪問限制,需要為文件或文件夾添加指定的用戶或組並賦予相應的訪問權限。 這種方法允許管理員針對每個用戶來限制他訪問和運行指定的應用程序的權限。但是這需要一個非常重要的前提,那就是要求應用程序所在的分區格式為NTFS,否則,一切都無從談起。 對於FAT/FAT32格式的分區,不能應用文件及文件夾的安全選項,我們可以通過設置計算機的策略來禁止運行指定的應用程序。 二、啟用“不要運行指定的Windows應用程序”策略 在組策略中有一條名為“不要運行指定的Windows應用程序”策略,通過啟用該策略並添加相應的應用程序,就可以限制用戶運行這些應用程序。設置方法如下: (1)、在“開始”“運行”處執行gpedit.msc命令,啟動組策略編輯器,或者運行mmc命令啟動控制台,並將“組策略”管理單元加載到控制台中; (2)、依次展開“‘本地計算機’策略”“用戶設置”“管理模板”,點擊“系統”,雙擊右側窗格中的“不要運行指定的Windows應用程序”策略,選擇“已啟用”選項,並點擊“顯示”。 (3)、點擊“添加”,輸入不運行運行的應用程序名稱,如命令提示符cmd.exe,點擊“確定”,此時,指定的應用程序名稱添加到禁止運行的程序列表中。 (4)、點擊“確定”返回組策略編輯器,點擊“確定”,完成設置。 當用戶試圖運行包含在不允許運行程序列表中的應用程序時,系統會提示警告信息。把不允許運行的應用程序復制到其他的目錄和分區中,仍然是不能運行的。要恢復指定的受限程序的運行能力,可以將“不要運行指定的Windows應用程序”策略設置為“未配置”或“已禁用”,或者將指定的應用程序從不允許運行列表中刪除(這要求刪除後列表不會成為空白的)。 這種方式只阻止用戶運行從Windows資源管理器中啟動的程序,,對於由系統過程或其他過程啟動的程序並不能禁止其運行。該方式禁止應用程序的運行,其用戶對象的作用范圍是所有的用戶,不僅僅是受限用戶,Administrators組中的賬戶甚至是內建的administrator帳戶都將受到限制,因此給管理員帶來了一定的不便。當管理員需要執行一個包含在不允許運行列表中的應用程序時,需要先通過組策略編輯器將該應用程序從不運行運行列表中刪除,在程序運行完成後,再將該程序添加到不允許運行程序列表中。需要注意的是,不要將組策略編輯器(gpedit.msc)添加到禁止運行程序列表中,否則會造成組策略的自鎖,任何用戶都將不能啟動組策略編輯器,也就不能對設置的策略進行更改。 提示:如果沒有禁止運行“命令提示符”程序的話,用戶可以通過cmd命令,從“命令提示符”運行被禁止的程序,例如,將記事本程序(notepad.exe)添加不運行列表中,通過XP的桌面運行該程序是被限制的,但是在“命令提示符”下運行notepad命令,可以順利的啟動記事本程序。因此,要徹底的禁止某個程序的運行,首先要將cmd.exe添加到不允許運行列表中。 三、設置軟件限制策略 軟件限制策略是本地安全策略的一個組成部分,管理員通過設置該策略對文件和程序進行標識,將它們分為可信任和不可信任兩種,通過賦予相應的安全級別來實現對程序運行的控制。這個措施對於解決未知代碼和不可信任代碼的可控制運行問題非常有效。軟件設置策略使用兩個方面的設置對程序進行限制:安全級別和其他規則。 安全級別分為“不允許的”和“不受限制的”兩種。其中,“不允許的”將禁止程序的運行,不論用戶的權限如何;“不受限的”允許登錄用戶使用他所擁有的權限來運行程序。 其它規則,即由管理員通過制定規則對指定的一批或一個文件和程序進行標識,並賦予“不允許的”或“不受限的”安全級別。在這個部分中,管理員可以制定四種類型的規則,按照優先級別分別是:散列規則、證書規則、路徑規則和Internet區域規則,這些規則將對文件的訪問和程序的運行提供最大限度的授權級別。 軟件限制策略的設置 1、訪問軟件限制策略 作為本地安全策略的一部分,軟件限制策略同時也包含在組策略中,這些策略的設置必須以administrator賬戶或Administrators組成員的身份登錄系統。軟件限制策略的訪問方式有兩種:
(1)、在“開始”“運行”處運行secpol.msc,啟動本地安全策略編輯器,在“安全設置”下可以看到“軟件限制策略”項目。 (2)、在“開始”“運行”處運行gpedit.msc,啟動組策略編輯器,在“計算機設置”“Windows設置”“安全設置”下可以看到“軟件限制策略”。 2、新建軟件限制策略 首次打開“軟件限制策略”時,該項目是空的。策略需要由管理員手動添加。方法是點擊“軟件限制策略”使其處於選中狀態,點擊編輯器窗口“操作”菜單下的“新建一個策略”項目,此時可以看到“軟件限制策略”下增加了“安全級別”和“其它規則”以及三條屬性,如圖2所示。一旦執行了新建策略操作後,就不能再次執行該操作,並且這個策略也不能刪除。 圖2 新建軟件限制策略 3、設置默認的安全級別 新建軟件限制策略後,策略的默認安全級別為“不受限的”,如果要更改默認的安全級別,需要在“安全級別”中進行設置,方法如下: (1)、打開“安全級別”,在右側窗格中,可以看到有兩條設置,其中圖標中帶有一個小對號的設置為默認設置; (2)、點擊不是默認值的那條設置,單擊右鍵,選擇“設置為默認”項。當設置“不允許的”為默認值時,系統會顯示一個提示信息對話框,點擊“確定”即可。 該步驟也可以雙擊非默認的設置,在彈出的屬性窗口中,點擊“設為默認值”。 4、設置策略的作用范圍和對象 通過策略的“強制”屬性可以設置策略應用的軟件文件是否包含庫文件以及作用的對象是否包含管理員賬戶。通常情況下,為了避免引起系統不必要的問題以及便於對系統的管理,策略的作用范圍應設置為不包含庫文件的所有軟體文件,作用對象設置為除本地管理員外的所有用戶。設置的方法如下: (1)、單擊“軟件限制策略”,雙擊右側窗格中的“強制”屬性項目; (2)、選擇“除去庫文件(如Dll文件)以外的所有軟體文件”選項和“除本地管理員以外的所有用戶”選項,單擊“確定”。 5、制定規則 只通過安全級別的設置,顯然不能很好的實現對文件和程序的控制,必須通過制定合理的規則來標識那些禁止或允許運行的文件和程序,並進而實現對這些文件和程序的靈活控制。上文中提到可制定規則的類型有四種:散列規則、證書規則、路徑規則和Internet區域規則。它們標識文件以及制定規則的方法如下: 散列規則:利用散列算法計算出指定文件的散列,這個散列是唯一標識該文件的一系列定長字節。制定了散列規則後,用戶訪問或運行文件時,軟件限制策略會根據文件的散列及安全級別來允許或阻止對該文件進行訪問或運行。當文件移動或重命名,不會影響文件的散列,軟件限制策略對該文件依然有效。制定方法如下: (1)、點擊“軟件限制策略”下的“其它規則”,在“其他規則”上單擊右鍵,或在右側窗格的空白區域單擊右鍵,選擇“新散列規則”。 (2)、點擊“浏覽”,指定要標識的文件或程序,例如cmd.exe,確認後,在文件散列中可以看到計算出來的散列,在“安全級別”中選擇“不允許的”或“不受限的”,如圖3所示。點擊“確定”,在“其它規則”中可以看到新增了一條類型為散列的規則。 圖3 新散列規則創建 證書規則:利用與文件或程序相關聯的簽名證書進行標識。證書規則需要的證書可以是自簽名的、由證書頒發機構(CA)頒發或是由Windows2000公鑰機構發布。證書