IT培訓(xùn)網(wǎng) [url]http://www./[/URL]
廣州北大青鳥(區(qū)莊寶義)BENET系統(tǒng)網(wǎng)絡(luò)工程師培訓(xùn)中心---一流的師資,一流的教學(xué)設(shè)備,一流的教學(xué)系統(tǒng),打造一流的學(xué)員 一. 權(quán)限的由來 遠(yuǎn)方的某個山腳下,有一片被森林包圍的草原,草原邊上居住著一群以牧羊為生的牧民。草原邊緣的森林里,生存著各種動物,包括野狼。 由于羊群是牧民們的主要生活來源,它們的價值便顯得特別珍貴,為了防止羊的跑失和野獸的襲擊,每戶牧民都用柵欄把自己的羊群圈了起來,只留下一道小門,以便每天傍晚供羊群外出到一定范圍的草原上活動,實現(xiàn)了一定規(guī)模的保護(hù)和管理效果。 最初,野狼只知道在森林里逮兔子等野生動物生存,沒有發(fā)現(xiàn)遠(yuǎn)處草原邊上的羊群,因此,在一段時間里實現(xiàn)了彼此和平相處,直到有一天,一只為了追逐兔子而湊巧跑到了森林邊緣的狼,用它那靈敏的鼻子嗅到了遠(yuǎn)處那隱隱約約的烤羊肉香味。 當(dāng)晚,突然出現(xiàn)的狼群襲擊了草原上大部分牧民飼養(yǎng)的羊,它們完全無視牧民們修筑的僅僅能攔住羊群的矮小柵欄,輕輕一躍便突破了這道防線……雖然聞訊而來的牧民們合作擊退了狼群,但是羊群已經(jīng)遭到了一定的損失。 事后,牧民們明白了柵欄不是僅僅用來防止羊群逃脫的城墻,各戶牧民都在忙著加高加固了柵欄…… 如今使用Windows 2000/XP等操作系統(tǒng)的用戶,或多或少都會聽說過“權(quán)限”(Privilege)這個概念,但是真正理解它的家庭用戶,也許并不會太多,那么,什么是“權(quán)限”呢?對于一般的用戶而言,我們可以把它理解為系統(tǒng)對用戶能夠執(zhí)行的功能操作所設(shè)立的額外限制,用于進(jìn)一步約束計算機(jī)用戶能操作的系統(tǒng)功能和內(nèi)容訪問范圍,或者說,權(quán)限是指某個特定的用戶具有特定的系統(tǒng)資源使用權(quán)力。 掌握了“Ring級別”概念的讀者也許會問,在如今盛行的80386保護(hù)模式中,處理器不是已經(jīng)為指令執(zhí)行做了一個“運(yùn)行級別”的限制了嗎?而且我們也知道,面對用戶操作的Ring 3級別相對于系統(tǒng)內(nèi)核運(yùn)行的Ring 0級別來說,能直接處理的事務(wù)已經(jīng)被大幅度縮減了,為什么還要對運(yùn)行在“權(quán)限少得可憐”的Ring 3層次上的操作系統(tǒng)人機(jī)交互界面上另外建立起一套用于進(jìn)一步限制用戶操作的“權(quán)限”概念呢?這是因為,前者針對的是機(jī)器能執(zhí)行的指令代碼權(quán)限,而后者要針對的對象,是坐在計算機(jī)面前的用戶。 對計算機(jī)來說,系統(tǒng)執(zhí)行的代碼可能會對它造成危害,因此處理器產(chǎn)生了Ring的概念,把“裸露在外”的一部分用于人機(jī)交互的操作界面限制起來,避免它一時頭腦發(fā)熱發(fā)出有害指令;而對于操作界面部分而言,用戶的每一步操作仍然有可能傷害到它自己和底層系統(tǒng)——盡管它自身已經(jīng)被禁止執(zhí)行許多有害代碼,但是一些不能禁止的功能卻依然在對這層安全體系作出威脅,例如格式化操作、刪除修改文件等,這些操作在計算機(jī)看來,只是“不嚴(yán)重”的磁盤文件處理功能,然而它忽略了一點,操作系統(tǒng)自身就是駐留在磁盤介質(zhì)上的文件!因此,為了保護(hù)自己,操作系統(tǒng)需要在Ring 3籠子限制的操作界面基礎(chǔ)上,再產(chǎn)生一個專門用來限制用戶的柵欄,這就是現(xiàn)在我們要討論的權(quán)限,它是為限制用戶而存在的,而且限制對每個用戶并不是一樣的,在這個思想的引導(dǎo)下,有些用戶能操作的范圍相對大些,有些只能操作屬于自己的文件,有些甚至什么也不能做……(圖.權(quán)限) 正因為如此,計算機(jī)用戶才有了分類:管理員、普通用戶、受限用戶、來賓等…… 還記得古老的Windows 9x和MS-DOS嗎?它們僅僅擁有基本的Ring權(quán)限保護(hù)(實模式的DOS甚至連Ring分級都沒有),在這個系統(tǒng)架構(gòu)里,所有用戶的權(quán)力都是一樣的,任何人都是管理員,系統(tǒng)沒有為環(huán)境安全提供一點保障——它連實際有用的登錄界面都沒有提供,僅僅有個隨便按ESC都能正常進(jìn)入系統(tǒng)并進(jìn)行任何操作的“偽登錄”限制而已。對這樣的系統(tǒng)而言,不熟悉電腦的用戶經(jīng)常一不小心就把系統(tǒng)毀掉了,而且病毒木馬自然也不會放過如此“松軟”的一塊蛋糕,在如今這個提倡信息安全的時代里,Windows 9x成了名副其實的雞肋系統(tǒng),最終淡出人們的視線,取而代之的是由Windows NT家族發(fā)展而來的Windows 2000和Windows XP,此外還有近年來致力向桌面用戶發(fā)展的Linux系統(tǒng)等,它們才是能夠滿足這個安全危機(jī)時代里個人隱私和數(shù)據(jù)安全等要求的系統(tǒng)。 Win2000/XP系統(tǒng)是微軟Windows NT技術(shù)的產(chǎn)物,是基于服務(wù)器安全環(huán)境思想來構(gòu)建的純32位系統(tǒng)。NT技術(shù)沒有辜負(fù)微軟的開發(fā),它穩(wěn)定,安全,提供了比較完善的多用戶環(huán)境,最重要的是,它實現(xiàn)了系統(tǒng)權(quán)限的指派,從而杜絕了由Win9x時代帶來的不安全操作習(xí)慣可能引發(fā)的大部分嚴(yán)重后果。 二. 權(quán)限的指派 1.普通權(quán)限 雖然Win2000/XP等系統(tǒng)提供了“權(quán)限”的功能,但是這樣就又帶來一個新問題:權(quán)限如何分配才是合理的?如果所有人擁有的權(quán)限都一樣,那么就等于所有人都沒有權(quán)限的限制,那和使用Win9x有什么區(qū)別?幸好,系統(tǒng)默認(rèn)就為我們設(shè)置好了“權(quán)限組”(Group),只需把用戶加進(jìn)相應(yīng)的組即可擁有由這個組賦予的操作權(quán)限,這種做法就稱為權(quán)限的指派。 默認(rèn)情況下,系統(tǒng)為用戶分了6個組,并給每個組賦予不同的操作權(quán)限,依次為:管理員組(Administrators)、高權(quán)限用戶組(Power Users)、普通用戶組(Users)、備份操作組(Backup Operators)、文件復(fù)制組(Replicator)、來賓用戶組(Guests),其中備份操作組和文件復(fù)制組為維護(hù)系統(tǒng)而設(shè)置,平時不會被使用。(圖.默認(rèn)分組) 系統(tǒng)默認(rèn)的分組是依照一定的管理憑據(jù)指派權(quán)限的,而不是胡亂產(chǎn)生,管理員組擁有大部分的計算機(jī)操作權(quán)限(并不是全部),能夠隨意修改刪除所有文件和修改系統(tǒng)設(shè)置。再往下就是高權(quán)限用戶組,這一部分用戶也能做大部分事情,但是不能修改系統(tǒng)設(shè)置,不能運(yùn)行一些涉及系統(tǒng)管理的程序。普通用戶組則被系統(tǒng)拴在了自己的地盤里,不能處理其他用戶的文件和運(yùn)行涉及管理的程序等。來賓用戶組的文件操作權(quán)限和普通用戶組一樣,但是無法執(zhí)行更多的程序。(圖.不同賬戶權(quán)限的限制) 這是系統(tǒng)給各個組指派的權(quán)限說明,細(xì)心的用戶也許會發(fā)現(xiàn),為什么里面描述的“不能處理其他用戶的文件”這一條規(guī)則并不成立呢,我可以訪問所有文件啊,只是不能對系統(tǒng)設(shè)置作出修改而已,難道是權(quán)限設(shè)定自身存在問題?實際上,NT技術(shù)的一部分功能必須依賴于特有的“NTFS”(NT文件系統(tǒng))分區(qū)才能實現(xiàn),文件操作的權(quán)限指派就是最敏感的一部分,而大部分家庭用戶的分區(qū)為FAT32格式,它并不支持NT技術(shù)的安全功能,因此在這樣的文件系統(tǒng)分區(qū)上,連來賓用戶都能隨意瀏覽修改系統(tǒng)管理員建立的文件(限制寫入操作的共享訪問除外),但這并不代表系統(tǒng)權(quán)限不起作用,我們只要把分區(qū)改為NTFS即可。 2.特殊權(quán)限 除了上面提到的6個默認(rèn)權(quán)限分組,系統(tǒng)還存在一些特殊權(quán)限成員,這些成員是為了特殊用途而設(shè)置,分別是:SYSTEM(系統(tǒng))、Everyone(所有人)、CREATOR OWNER(創(chuàng)建者)等,這些特殊成員不被任何內(nèi)置用戶組吸納,屬于完全獨立出來的賬戶。(圖.特殊權(quán)限成員) 前面我提到管理員分組的權(quán)限時并沒有用“全部”來形容,秘密就在此,不要相信系統(tǒng)描述的“有不受限制的完全訪問權(quán)”,它不會傻到把自己完全交給人類,管理員分組同樣受到一定的限制,只是沒那么明顯罷了,真正擁有“完全訪問權(quán)”的只有一個成員:SYSTEM。這個成員是系統(tǒng)產(chǎn)生的,真正擁有整臺計算機(jī)管理權(quán)限的賬戶,一般的操作是無法獲取與它等價的權(quán)限的。 “所有人”權(quán)限與普通用戶組權(quán)限差不多,它的存在是為了讓用戶能訪問被標(biāo)記為“公有”的文件,這也是一些程序正常運(yùn)行需要的訪問權(quán)限——任何人都能正常訪問被賦予“Everyone”權(quán)限的文件,包括來賓組成員。 被標(biāo)記為“創(chuàng)建者”權(quán)限的文件只有建立文件的那個用戶才能訪問,做到了一定程度的隱私保護(hù)。 但是,所有的文件訪問權(quán)限均可以被管理員組用戶和SYSTEM成員忽略,除非用戶使用了NTFS加密。 無論是普通權(quán)限還是特殊權(quán)限,它們都可以“疊加”使用,“疊加”就是指多個權(quán)限共同使用,例如一個賬戶原本屬于Users組,而后我們把他加入Administrators組,那么現(xiàn)在這個賬戶便同時擁有兩個權(quán)限身份,而不是用管理員權(quán)限去覆蓋原來身份。權(quán)限疊加并不是沒有意義的,在一些需要特定身份訪問的場合,用戶只有為自己設(shè)置了指定的身份才能訪問,這個時候“疊加”的使用就能減輕一部分勞動量了。 3.NTFS與權(quán)限
在前面我提到了NTFS文件系統(tǒng),自己安裝過Win2000/XP的用戶應(yīng)該會注意到安裝過程中出現(xiàn)的“轉(zhuǎn)換分區(qū)格式為NTFS”的選擇,那么什么是NTFS?NTFS(New Technology File System)是一個特別為網(wǎng)絡(luò)和磁盤配額、文件加密等管理安全特性設(shè)計的磁盤格式,只有使用NT技術(shù)的系統(tǒng)對它直接提供支持,也就是說,如果系統(tǒng)崩潰了,用戶將無法使用外面流行的普通光盤啟動工具修復(fù)系統(tǒng),因此,是使用傳統(tǒng)的FAT32還是NTFS,一直是個倍受爭議的話題,但如果用戶要使用完全的系統(tǒng)權(quán)限功能,或者要安裝作為服務(wù)器使用,建議最好還是使用NTFS分區(qū)格式。 與FAT32分區(qū)相比,NTFS分區(qū)多了一個“安全”特性(圖.FAT32與NTFS的比較),在里面,用戶可以進(jìn)一步設(shè)置相關(guān)的文件訪問權(quán)限,而且前面提到的相關(guān)用戶組指派的文件權(quán)限也只有在NTFS格式分區(qū)上才能體現(xiàn)出來。例如,來賓組的用戶再也不能隨便訪問到NTFS格式分區(qū)的任意一個文件了,這樣可以減少系統(tǒng)遭受一般由網(wǎng)站服務(wù)器帶來的入侵損失,因為IIS賬戶對系統(tǒng)的訪問權(quán)限僅僅是來賓級別而已,如果入侵者不能提升權(quán)限,那么他這次的入侵可以算是白忙了。 使用NTFS分區(qū)的時候,用戶才會察覺到系統(tǒng)給管理員組用戶設(shè)定的限制:一些文件即使是管理員也無法訪問,因為它是SYSTEM成員建立的,并且設(shè)定了權(quán)限。(圖.NTFS權(quán)限審核導(dǎo)致訪問被拒絕) 但是NTFS系統(tǒng)會帶來一個眾所周知的安全隱患:NTFS支持一種被稱為“交換數(shù)據(jù)流”(AlternateDataStream,ADs)的存儲特性,原意是為了和Macintosh的HFS文件系統(tǒng)兼容而設(shè)計的,使用這種技術(shù)可以在一個文件資源里寫入相關(guān)數(shù)據(jù)(并不是寫入文件中),而且寫進(jìn)去的數(shù)據(jù)可以使用很簡單的方法把它提取出來作為一個獨立文件讀取,甚至執(zhí)行,這就給入侵者提供了一個可乘之機(jī),例如在一個正常程序里插入包含惡意代碼的數(shù)據(jù)流,在程序運(yùn)行時把惡意代碼提取出來執(zhí)行,就完成了一次破壞行動。(圖.隱秘的數(shù)據(jù)流) 不過值得慶幸的是,數(shù)據(jù)流僅僅能存在于NTFS格式分區(qū)內(nèi),一旦存儲介質(zhì)改變?yōu)镕AT32、CDFS等格式,數(shù)據(jù)流內(nèi)容便會消失了,破壞代碼也就不復(fù)存在。 4.權(quán)限設(shè)置帶來的安全訪問和故障 很多時候,管理員不得不為遠(yuǎn)程網(wǎng)絡(luò)訪問帶來的危險因素而擔(dān)憂,普通用戶也經(jīng)常因為新漏洞攻擊或者IE瀏覽器安全漏洞下載的網(wǎng)頁木馬而疲于奔命,實際上合理使用NTFS格式分區(qū)和權(quán)限設(shè)置的組合,足以讓我們抵御大部分病毒和黑客的入侵。 首先,我們要盡量避免平時使用管理員賬戶登錄系統(tǒng),這樣會讓一些由IE帶來的病毒木馬因為得不到相關(guān)權(quán)限而感染失敗,但是國內(nèi)許多計算機(jī)用戶并沒有意識到這一點,或者說沒有接觸到相關(guān)概念,因而大部分系統(tǒng)都是以管理員賬戶運(yùn)行的,這就給病毒傳播提供了一個很好的環(huán)境。如果用戶因為某些工作需要,必須以管理員身份操作系統(tǒng),那么請降低IE的運(yùn)行權(quán)限,有試驗證明,IE運(yùn)行的用戶權(quán)限每降低一個級別,受漏洞感染的幾率就相應(yīng)下降一個級別,因為一些病毒在例如像Users組這樣的權(quán)限級別里是無法對系統(tǒng)環(huán)境做出修改的。降低IE運(yùn)行權(quán)限的方法很多,最簡單的就是使用微軟自家產(chǎn)品“Drop MyRights”對程序的運(yùn)行權(quán)限做出調(diào)整。(圖.用RunAs功能降低IE運(yùn)行級別) 對管理員來說,設(shè)置服務(wù)器的訪問權(quán)限才是他們關(guān)心的重點,這時候就必須搭配NTFS分區(qū)來設(shè)置IIS了,因為只有NTFS才具備文件訪問權(quán)限的特性。然后就是安裝IIS,經(jīng)過這一步系統(tǒng)會建立兩個用于IIS進(jìn)程的來賓組賬戶“IUSR_機(jī)器名”和“IWAM_機(jī)器名”,但這樣還不夠,別忘記系統(tǒng)的特殊成員“Everyone”,這個成員的存在雖然是為了方便用戶訪問的,但是對于網(wǎng)絡(luò)服務(wù)器最重要的“最小權(quán)限”思路(網(wǎng)絡(luò)服務(wù)程序運(yùn)行的權(quán)限越小,安全系數(shù)越高)來說,它成了安全隱患,“Everyone”使得整個服務(wù)器的文件可以隨便被訪問,一旦被入侵,黑客就有了提升權(quán)限的機(jī)會,因此需要把惹禍的“Everyone”成員從敏感文件夾的訪問權(quán)限去掉,要做到這一步,只需運(yùn)行“cacls.exe 目錄名 /R "everyone" /E”即可。敏感文件夾包括整個系統(tǒng)盤、系統(tǒng)目錄、用戶主目錄等。這是專為服務(wù)器安全設(shè)置的,不推薦一般用戶依葫蘆畫瓢,因為這樣設(shè)定過“最小權(quán)限”后,可能會對日常使用的一些程序造成影響。 雖然權(quán)限設(shè)定會給安全防范帶來一定的好處,但是有時候,它也會闖禍的…… “文件共享”(Sharing)是被使用最多的網(wǎng)絡(luò)遠(yuǎn)程文件訪問功能,卻也是最容易出問題的一部分,許多用戶在使用一些優(yōu)化工具后,發(fā)現(xiàn)文件共享功能突然就失效了,或者無論如何都無法成功共享文件,這也是很多網(wǎng)絡(luò)管理員要面對的棘手問題,如果你也不巧遇到了,那么可以嘗試檢查以下幾種原因: (1).相應(yīng)的服務(wù)被禁止。文件共享功能依賴于這4個服務(wù):Computer Browser、TCP/IP NetBIOS Helper Service、Server、Workstation,如果它們的其中一個被禁止了,文件共享功能就會出現(xiàn)各種古怪問題如不能通過計算機(jī)名訪問等,甚至完全不能訪問。 (2).內(nèi)置來賓賬戶組成員Guest未啟用。文件共享功能需要使用Guest權(quán)限訪問網(wǎng)絡(luò)資源。 (3). 內(nèi)置來賓賬戶組成員Guest被禁止從網(wǎng)絡(luò)訪問。這問題常見于XP系統(tǒng),因為它在組策略(gpedit.msc)->計算機(jī)配置->Windows設(shè)置->安全設(shè)置->本地策略->用戶權(quán)利指派->拒絕從網(wǎng)絡(luò)訪問這臺計算機(jī)里把Guest賬戶添加進(jìn)去了,刪除掉即可真正啟用Guest遠(yuǎn)程訪問權(quán)限。 (4).限制了匿名訪問的權(quán)限。默認(rèn)情況下,組策略(gpedit.msc)->計算機(jī)配置->Windows設(shè)置->安全設(shè)置->本地策略->安全選項->對匿名連結(jié)的額外限制的設(shè)置應(yīng)該是“無。依賴于默認(rèn)許可權(quán)限”或者“不允許枚舉SAM賬號和共享”,如果有工具自作聰明幫你把它設(shè)置為“沒有顯式匿名權(quán)限就無法訪問”,那么我可以很負(fù)責(zé)的告訴你,你的共享全完蛋了。 (5).系統(tǒng)權(quán)限指派出現(xiàn)意外。默認(rèn)情況下,系統(tǒng)會給共享目錄指派一個“Everyone”賬戶訪問授權(quán),然而實際上它還是要使用Guest成員完成訪問的工作,但是有時候,Everyone卻忘記Guest的存在了,這是或我們就需要自己給共享目錄手動添加一個Guest賬戶,才能完成遠(yuǎn)程訪問。(圖.手動添加一個賬戶權(quán)限) (6).NTFS權(quán)限限制。一些剛接觸NTFS的用戶或者新手管理員經(jīng)常會出這個差錯,在排除以上所有問題的前提下依然無法實現(xiàn)文件共享,哪里都碰過了就是偏偏不知道來看看這個目錄的“安全”選項卡,并在里面設(shè)置好Everyone的相應(yīng)權(quán)限和添加一個Guest權(quán)限進(jìn)去,如果它們會說話,也許早就在音箱里叫喚了:嘿,快看這里!喲嗬! (7).系統(tǒng)自身設(shè)置問題。如果檢查了以上所有方法都無效,那么可以考慮重裝一個系統(tǒng)了,不要笑,一些用戶的確碰到過這種問題,重裝后什么也沒動,卻一切都好了。這大概是因為某些系統(tǒng)文件被新安裝的工具替換掉后缺失了文件共享的功能。 由權(quán)限帶來的好處是顯而易見的,但是我們有時候也不得不面對它給我們帶來的麻煩,沒辦法,誰叫事物都是有兩面性的呢,畢竟正是因為有了這一圈柵欄,用戶安全才有了保障。 三. 突破系統(tǒng)權(quán)限 距離上一次狼群的襲擊已經(jīng)過了一個多月,羊們漸漸都忘記了恐懼,一天晚上,一只羊看準(zhǔn)了某處因為下雨被泡得有點松軟低陷的柵欄,跳了出去??上н@只羊剛跳出去不久就遭遇了餓狼,不僅尸骨無存,還給狼群帶來了一個信息:柵欄存在弱點,可以突破! 幾天后的一個深夜,狼群專找地面泥濘處的柵欄下手,把柵欄挖松了鉆進(jìn)去,再次洗劫了羊群。 雖然權(quán)限為我們做了不同范圍的束縛,但是這些束縛并不是各自獨立的,它們?nèi)家揽坑谕瑯拥闹噶钔瓿晒ぷ?,這就給入侵者提供了“提升權(quán)限”(Adjust Token Privilege)的基礎(chǔ)。 所謂“提升權(quán)限”,就是指入侵者使用各種系統(tǒng)漏洞和手段,讓自己像那只羊或者狼群那樣,找到“柵欄”的薄弱環(huán)節(jié),突破系統(tǒng)指派的權(quán)限級別,從而把自己當(dāng)前的權(quán)限提高多個級別甚至管理員級別的方法,提升權(quán)限得以成功的前提是管理員設(shè)置的失誤(例如沒有按照“最小權(quán)限”思路來配置服務(wù)器)或者業(yè)界出現(xiàn)了新的溢出漏洞等(例如LSASS溢出,直接拿到SYSTEM權(quán)限)。 通常,如果IIS或SQL兩者之一出現(xiàn)了漏洞或設(shè)置失誤,入侵者會嘗試直接調(diào)用SQL注入語句調(diào)用特殊的系統(tǒng)存儲過程達(dá)到直接執(zhí)行命令的愿望,如果這一步成功,那么這臺服務(wù)器就淪陷了;但如果管理員還有點本事,刪除了存儲過程或者補(bǔ)好了SQL注入點呢?入侵者會想辦法得到IIS的瀏覽權(quán)限,例如一個WebShell之類的,然后搜尋整臺服務(wù)器的薄弱環(huán)節(jié)(前提:管理員沒刪除Everyone賬戶權(quán)限),例如Serv-U、IIS特殊目錄、各種外部CGI程序、FSO特殊對象等,這場貓和耗子的游戲永遠(yuǎn)也不會結(jié)束,如果管理員功底不夠扎實,那么只能看著入侵者破壞自己的勞動成果甚至飯碗了。 四. 結(jié)語 狼群的進(jìn)攻再次被牧民們擊退了,吸取了這次教訓(xùn),牧民們在加固柵欄時都會把柵欄的根部打在堅硬的泥地上,并且嵌得很深。 餓狼們,還會再來嗎? 權(quán)限是計算機(jī)安全技術(shù)的一個進(jìn)步,但是它也是由人創(chuàng)造出來的,不可避免會存在不足和遺漏,我們在享受權(quán)限帶來的便利時,也不能忽視了它可能引起的安全隱患或者設(shè)置失誤導(dǎo)致的眾多問題。要如何才算合理使用權(quán)限,大概,這只能是個仁者見仁,智者見智的問題了。 今天,你又在用管理員賬戶心安理得的到處逛了嗎? |
|