A. WINXP如何設置網路用戶許可權
Windows下許可權設置詳解
創建時間:2005-02-15
文章屬性:原創
文章提交:mrcool (mrcoolfuyu_at_tom.com)
隨著動網論壇的廣泛應用和動網上傳漏洞的被發現以及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.牢記:沒有永遠安全的系統,經常更新你的知識。