|
||||
這條規則本意是阻止所有被指派的文件從Local Settings目錄(包括其子目錄)啟動,但是經過驗證發現,『**』和『*』是完全等效的,並且『*』不包括『\』。那麼這條規則的實際意思就是『阻止所有被指派的文件從Local Settings的一級目錄運行』,不包括Local Settings目錄本身,也不包括二級及其下的所有子目錄。我們來看看Local Settings目錄下的一級目錄有哪些呢?默認情況下是:Temp、Temporary Internet Files、Application Data、History,那麼這條規則裡就包括有禁止TEMP目錄下的所有被指派的文件運行的意思,其根本結果就是會造成很多軟件無法安裝。因為有些軟件在安裝時會先行解壓到TEMP目錄。
影響最大(簡直可以列入本年度十大最錯誤的做法中了)的一條:?:\autorun.inf 『不允許的』
相信對軟件限制策略有研究的筒子都見過這條規則吧,這條規則的本意是阻止所有盤根目錄下的autorun.inf文件運行,以阻止U盤病毒的運行。它也確實達到了它的目的, autorun.inf文件雙擊的時候被阻止了。但病毒被阻止了嗎?答案是否定的,病毒還是會被正常運行。
為什麼呢?我們來了解一下系統是怎麼處理autorun.inf文件的。
首先,svchost.exe讀取autorun.inf,然後explorer.exe讀取autorun.inf,再然後explorer.exe將 autorun.inf裡的相關內容寫入注冊表中MountPoints2這個鍵值。只要explorer.exe成功寫入注冊表,那麼這個autorun.inf文件的使命就完成了,U盤裡的病毒就等著你去雙擊U盤了。
那麼我們的軟件限制策略中,將autorun.inf設為』不允許的』這一做法在這個過程中起到什麼作用?
很遺憾地告訴你:沒有任何作用。
真要說它起到的作用,僅僅是阻止你打開autorun.inf這個文件而已。所以,對於autorun.inf的所有策略,都是無效的。
真要想防止U盤病毒的運行,策略的設置只有一種方法:
?:\*.*不允許
意思就是阻止所有盤下面的被指派文件運行。當然,如果你只想阻止U盤下的文件運行的話,那就將規則裡的『?』改為具體的盤符即可。
下次我們介紹組策略規則的權限分配及繼承。