Windows下權限設置詳解

創建時間:2005-02-15
mrcool ([email protected])

隨着動網論壇的廣泛應用和動網上傳漏洞的被發現以及SQL注入式攻擊越來越多的被使用,WEBSHELL讓防火牆形同虛設,一臺即使打了所有微軟補丁、只讓80端口對外開放的WEB服務器也逃不過被黑的命運。難道我們真的無能爲力了嗎?其實,只要你弄明白了NTFS系統下的權限設置問題,我們可以對crackers們說:NO!
    
    要打造一臺安全的WEB服務器,那麼這臺服務器就一定要使用NTFS和Windows NT/2000/2003。衆所周知,Windows是一個支持多用戶、多任務的操作系統,這是權限設置的基礎,一切權限設置都是基於用戶和進程而言的,不同的用戶在訪問這臺計算機時,將會有不同的權限。DOS是個單任務、單用戶的操作系統。但是我們能說DOS沒有權限嗎?不能!當我們打開一臺裝有DOS操作系統的計算機的時候,我們就擁有了這個操作系統的管理員權限,而且,這個權限無處不在。所以,我們只能說DOS不支持權限的設置,不能說它沒有權限。隨着人們安全意識的提高,權限設置隨着NTFS的發佈誕生了。
    
    Windows NT裏,用戶被分成許多組,組和組之間都有不同的權限,當然,一個組的用戶和用戶之間也可以有不同的權限。下面我們來談談NT中常見的用戶組。

    Administrators,管理員組,默認情況下,Administrators中的用戶對計算機/域有不受限制的完全訪問權。分配給該組的默認權限允許對整個系統進行完全控制。所以,只有受信任的人員纔可成爲該組的成員。
Power Users,高級用戶組,Power Users 可以執行除了爲 Administrators 組保留的任務外的其他任何操作系統任務。分配給 Power Users 組的默認權限允許 Power Users 組的成員修改整個計算機的設置。但Power Users 不具有將自己添加到 Administrators 組的權限。在權限設置中,這個組的權限是僅次於Administrators的。

    Users:普通用戶組,這個組的用戶無法進行有意或無意的改動。因此,用戶可以運行經過驗證的應用程序,但不可以運行大多數舊版應用程序。Users 組是最安全的組,因爲分配給該組的默認權限不允許成員修改操作系統的設置或用戶資料。Users 組提供了一個最安全的程序運行環境。在經過 NTFS 格式化的捲上,默認安全設置旨在禁止該組的成員危及操作系統和已安裝程序的完整性。用戶不能修改系統註冊表設置、操作系統文件或程序文件。Users 可以關閉工作站,但不能關閉服務器。Users 可以創建本地組,但只能修改自己創建的本地組。

    Guests:來賓組,按默認值,來賓跟普通Users的成員有同等訪問權,但來賓帳戶的限制更多。

    Everyone:顧名思義,所有的用戶,這個計算機上的所有用戶都屬於這個組。

    其實還有一個組也很常見,它擁有和Administrators一樣、甚至比其還高的權限,但是這個組不允許任何用戶的加入,在察看用戶組的時候,它也不會被顯示出來,它就是SYSTEM組。系統和系統級的服務正常運行所需要的權限都是靠它賦予的。由於該組只有這一個用戶SYSTEM,也許把該組歸爲用戶的行列更爲貼切。

    權限是有高低之分的,有高權限的用戶可以對低權限的用戶進行操作,但除了Administrators之外,其他組的用戶不能訪問 NTFS 捲上的其他用戶資料,除非他們獲得了這些用戶的授權。而低權限的用戶無法對高權限的用戶進行任何操作。

    我們平常使用計算機的過程當中不會感覺到有權限在阻撓你去做某件事情,這是因爲我們在使用計算機的時候都用的是Administrators中的用戶登陸的。這樣有利也有弊,利當然是你能去做你想做的任何一件事情而不會遇到權限的限制。弊就是以 Administrators 組成員的身份運行計算機將使系統容易受到特洛伊木馬、病毒及其他安全風險的威脅。訪問 Internet 站點或打開電子郵件附件的簡單行動都可能破壞系統。不熟悉的 Internet 站點或電子郵件附件可能有特洛伊木馬代碼,這些代碼可以下載到系統並被執行。如果以本地計算機的管理員身份登錄,特洛伊木馬可能使用管理訪問權重新格式化您的硬盤,造成不可估量的損失,所以在沒有必要的情況下,最好不用Administrators中的用戶登陸。Administrators中有一個在系統安裝時就創建的默認用戶----Administrator,Administrator 帳戶具有對服務器的完全控制權限,並可以根據需要向用戶指派用戶權利和訪問控制權限。因此強烈建議將此帳戶設置爲使用強密碼。永遠也不可以從 Administrators 組刪除 Administrator 帳戶,但可以重命名或禁用該帳戶。由於大家都知道“管理員”存在於許多版本的 Windows 上,所以重命名或禁用此帳戶將使惡意用戶嘗試並訪問該帳戶變得更爲困難。對於一個好的服務器管理員來說,他們通常都會重命名或禁用此帳戶。Guests用戶組下,也有一個默認用戶----Guest,但是在默認情況下,它是被禁用的。如果沒有特別必要,無須啓用此賬戶。我們可以通過“控制面板”--“管理工具”--“計算機管理”--“用戶和用戶組”來查看用戶組及該組下的用戶。

    我們用鼠標右鍵單擊一個NTFS卷或NTFS卷下的一個目錄,選擇“屬性”--“安全”就可以對一個卷,或者一個卷下面的目錄進行權限設置,此時我們會看到以下七種權限:完全控制、修改、讀取和運行、列出文件夾目錄、讀取、寫入、和特別的權限。“完全控制”就是對此卷或目錄擁有不受限制的完全訪問。地位就像Administrators在所有組中的地位一樣。選中了“完全控制”,下面的五項屬性將被自動被選中。“修改”則像Power users,選中了“修改”,下面的四項屬性將被自動被選中。下面的任何一項沒有被選中時,“修改”條件將不再成立。“讀取和運行”就是允許讀取和運行在這個卷或目錄下的任何文件,“列出文件夾目錄”和“讀取”是“讀取和運行”的必要條件。“列出文件夾目錄”是指只能瀏覽該卷或目錄下的子目錄,不能讀取,也不能運行。“讀取”是能夠讀取該卷或目錄下的數據。“寫入”就是能往該卷或目錄下寫入數據。而“特別”則是對以上的六種權限進行了細分。讀者可以自行對“特別”進行更深的研究,鄙人在此就不過多贅述了。

    下面我們對一臺剛剛安裝好操作系統和服務軟件的WEB服務器系統和其權限進行全面的刨析。服務器採用Windows 2000 Server版,安裝好了SP4及各種補丁。WEB服務軟件則是用了Windows 2000自帶的IIS 5.0,刪除了一切不必要的映射。整個硬盤分爲四個NTFS卷,C盤爲系統卷,只安裝了系統和驅動程序;D盤爲軟件卷,該服務器上所有安裝的軟件都在D盤中;E盤是WEB程序卷,網站程序都在該卷下的WWW目錄中;F盤是網站數據卷,網站系統調用的所有數據都存放在該卷的WWWDATABASE目錄下。這樣的分類還算是比較符合一臺安全服務器的標準了。希望各個新手管理員能合理給你的服務器數據進行分類,這樣不光是查找起來方便,更重要的是這樣大大的增強了服務器的安全性,因爲我們可以根據需要給每個卷或者每個目錄都設置不同的權限,一旦發生了網絡安全事故,也可以把損失降到最低。當然,也可以把網站的數據分佈在不同的服務器上,使之成爲一個服務器羣,每個服務器都擁有不同的用戶名和密碼並提供不同的服務,這樣做的安全性更高。不過願意這樣做的人都有一個特點----有錢:)。好了,言歸正傳,該服務器的數據庫爲MS-SQL,MS-SQL的服務軟件SQL2000安裝在d:/ms-sqlserver2K目錄下,給SA賬戶設置好了足夠強度的密碼,安裝好了SP3補丁。爲了方便網頁製作員對網頁進行管理,該網站還開通了FTP服務,FTP服務軟件使用的是SERV-U 5.1.0.0,安裝在d:/ftpservice/serv-u目錄下。殺毒軟件和防火牆用的分別是Norton Antivirus和BlackICE,路徑分別爲d:/nortonAV和d:/firewall/blackice,病毒庫已經升級到最新,防火牆規則庫定義只有80端口和21端口對外開放。網站的內容是採用動網7.0的論壇,網站程序在e:/www/bbs下。細心的讀者可能已經注意到了,安裝這些服務軟件的路徑我都沒有采用默認的路徑或者是僅僅更改盤符的默認路徑,這也是安全上的需要,因爲一個黑客如果通過某些途徑進入了你的服務器,但並沒有獲得管理員權限,他首先做的事情將是查看你開放了哪些服務以及安裝了哪些軟件,因爲他需要通過這些來提升他的權限。一個難以猜解的路徑加上好的權限設置將把他阻擋在外。相信經過這樣配置的WEB服務器已經足夠抵擋大部分學藝不精的黑客了。讀者可能又會問了:“這根本沒用到權限設置嘛!我把其他都安全工作都做好了,權限設置還有必要嗎?”當然有!智者千慮還必有一失呢,就算你現在已經把系統安全做的完美無缺,你也要知道新的安全漏洞總是在被不斷的發現。權限將是你的最後一道防線!那我們現在就來對這臺沒有經過任何權限設置,全部採用Windows默認權限的服務器進行一次模擬攻擊,看看其是否真的固若金湯。
    
    假設服務器外網域名爲http://www.webserver.com,用掃描軟件對其進行掃描後發現開放WWW和FTP服務,並發現其服務軟件使用的是IIS 5.0和Serv-u 5.1,用一些針對他們的溢出工具後發現無效,遂放棄直接遠程溢出的想法。打開網站頁面,發現使用的是動網的論壇系統,於是在其域名後面加個/upfile.asp,發現有文件上傳漏洞,便抓包,把修改過的ASP木馬用NC提交,提示上傳成功,成功得到WEBSHELL,打開剛剛上傳的ASP木馬,發現有MS-SQL、Norton Antivirus和BlackICE在運行,判斷是防火牆上做了限制,把SQL服務端口屏蔽了。通過ASP木馬查看到了Norton Antivirus和BlackICE的PID,又通過ASP木馬上傳了一個能殺掉進程的文件,運行後殺掉了Norton Antivirus和BlackICE。再掃描,發現1433端口開放了,到此,便有很多種途徑獲得管理員權限了,可以查看網站目錄下的conn.asp得到SQL的用戶名密碼,再登陸進SQL執行添加用戶,提管理員權限。也可以抓SERV-U下的ServUDaemon.ini修改後上傳,得到系統管理員權限。還可以傳本地溢出SERV-U的工具直接添加用戶到Administrators等等。大家可以看到,一旦黑客找到了切入點,在沒有權限限制的情況下,黑客將一帆風順的取得管理員權限。
    
    那我們現在就來看看Windows 2000的默認權限設置到底是怎樣的。對於各個卷的根目錄,默認給了Everyone組完全控制權。這意味着任何進入電腦的用戶將不受限制的在這些根目錄中爲所欲爲。系統卷下有三個目錄比較特殊,系統默認給了他們有限制的權限,這三個目錄是Documents and settings、Program files和Winnt。對於Documents and settings,默認的權限是這樣分配的:Administrators擁有完全控制權;Everyone擁有讀&運,列和讀權限;Power users擁有讀&運,列和讀權限;SYSTEM同Administrators;Users擁有讀&運,列和讀權限。對於Program files,Administrators擁有完全控制權;Creator owner擁有特殊權限;Power users有完全控制權;SYSTEM同Administrators;Terminal server users擁有完全控制權,Users有讀&運,列和讀權限。對於Winnt,Administrators擁有完全控制權;Creator owner擁有特殊權限;Power users有完全控制權;SYSTEM同Administrators;Users有讀&運,列和讀權限。而非系統卷下的所有目錄都將繼承其父目錄的權限,也就是Everyone組完全控制權!

   現在大家知道爲什麼我們剛剛在測試的時候能一帆風順的取得管理員權限了吧?權限設置的太低了!一個人在訪問網站的時候,將被自動賦予IUSR用戶,它是隸屬於Guest組的。本來權限不高,但是系統默認給的Everyone組完全控制權卻讓它“身價倍增”,到最後能得到Administrators了。那麼,怎樣設置權限給這臺WEB服務器纔算是安全的呢?大家要牢記一句話:“最少的服務+最小的權限=最大的安全”對於服務,不必要的話一定不要裝,要知道服務的運行是SYSTEM級的哦,對於權限,本着夠用就好的原則分配就是了。對於WEB服務器,就拿剛剛那臺服務器來說,我是這樣設置權限的,大家可以參考一下:各個卷的根目錄、Documents and settings以及Program files,只給Administrator完全控制權,或者乾脆直接把Program files給刪除掉;給系統卷的根目錄多加一個Everyone的讀、寫權;給e:/www目錄,也就是網站目錄讀、寫權。最後,還要把cmd.exe這個文件給挖出來,只給Administrator完全控制權。經過這樣的設置後,再想通過我剛剛的方法入侵這臺服務器就是不可能完成的任務了。可能這時候又有讀者會問:“爲什麼要給系統卷的根目錄一個Everyone的讀、寫權?網站中的ASP文件運行不需要運行權限嗎?”問的好,有深度。是這樣的,系統卷如果不給Everyone的讀、寫權的話,啓動計算機的時候,計算機會報錯,而且會提示虛擬內存不足。當然這也有個前提----虛擬內存是分配在系統盤的,如果把虛擬內存分配在其他捲上,那你就要給那個卷Everyone的讀、寫權。ASP文件的運行方式是在服務器上執行,只把執行的結果傳回最終用戶的瀏覽器,這沒錯,但ASP文件不是系統意義上的可執行文件,它是由WEB服務的提供者----IIS來解釋執行的,所以它的執行並不需要運行的權限。

    經過上面的講解以後,你一定對權限有了一個初步了了解了吧?想更深入的瞭解權限,那麼權限的一些特性你就不能不知道了,權限是具有繼承性、累加性 、優先性、交叉性的。
    
    繼承性是說下級的目錄在沒有經過重新設置之前,是擁有上一級目錄權限設置的。這裏還有一種情況要說明一下,在分區內複製目錄或文件的時候,複製過去的目錄和文件將擁有它現在所處位置的上一級目錄權限設置。但在分區內移動目錄或文件的時候,移動過去的目錄和文件將擁有它原先的權限設置。
    
    累加是說如一個組GROUP1中有兩個用戶USER1、USER2,他們同時對某文件或目錄的訪問權限分別爲“讀取”和“寫入”,那麼組GROUP1對該文件或目錄的訪問權限就爲USER1和USER2的訪問權限之和,實際上是取其最大的那個,即“讀取”+“寫入”=“寫入”。 又如一個用戶USER1同屬於組GROUP1和GROUP2,而GROUP1對某一文件或目錄的訪問權限爲“只讀”型的,而GROUP2對這一文件或文件夾的訪問權限爲“完全控制”型的,則用戶USER1對該文件或文件夾的訪問權限爲兩個組權限累加所得,即:“只讀”+“完全控制”=“完全控制”。
    
    優先性,權限的這一特性又包含兩種子特性,其一是文件的訪問權限優先目錄的權限,也就是說文件權限可以越過目錄的權限,不顧上一級文件夾的設置。另一特性就是“拒絕”權限優先其它權限,也就是說“拒絕”權限可以越過其它所有其它權限,一旦選擇了“拒絕”權限,則其它權限也就不能取任何作用,相當於沒有設置。
    
    交叉性是指當同一文件夾在爲某一用戶設置了共享權限的同時又爲用戶設置了該文件夾的訪問權限,且所設權限不一致時,它的取捨原則是取兩個權限的交集,也即最嚴格、最小的那種權限。如目錄A爲用戶USER1設置的共享權限爲“只讀”,同時目錄A爲用戶USER1設置的訪問權限爲“完全控制”,那用戶USER1的最終訪問權限爲“只讀”。
權限設置的問題我就說到這了,在最後我還想給各位讀者提醒一下,權限的設置必須在NTFS分區中才能實現的,FAT32是不支持權限設置的。同時還想給各位管理員們一些建議:

1.養成良好的習慣,給服務器硬盤分區的時候分類明確些,在不使用服務器的時候將服務器鎖定,經常更新各種補丁和升級殺毒軟件。

2.設置足夠強度的密碼,這是老生常談了,但總有管理員設置弱密碼甚至空密碼。

3.儘量不要把各種軟件安裝在默認的路徑下

4.在英文水平不是問題的情況下,儘量安裝英文版操作系統。

5.切忌在服務器上亂裝軟件或不必要的服務。

6.牢記:沒有永遠安全的系統,經常更新你的知識。
發佈了36 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章