駭客秘籍:Windows下使用權限設定

來源:互聯網
上載者:User

隨著動網論壇的廣泛應用和動網上傳漏洞的被發現以及SQL注入式攻擊越來越多的被使用,WEBSHELL讓防火牆形同虛設,一台即使打了所有微軟補丁、只讓80連接埠對外開放的WEB伺服器也逃不過被黑的命運。難道我們真的無能為力了嗎?其實,只要你弄明白了NTFS系統下的使用權限設定問題,我們可以對crackers們說:NO!

要打造一台安全的WEB伺服器,那麼這台伺服器就一定要使用NTFS和Windows NT/2000/2003。眾所周知,Windows是一個支援多使用者、多任務的作業系統,這是使用權限設定的基礎,一切使用權限設定都是基於使用者和進程而言的,不同的使用者在訪問這台電腦時,將會有不同的許可權。DOS是個單任務、單使用者的作業系統。但是我們能說DOS沒有許可權嗎?不能!當我們開啟一台裝有DOS作業系統的電腦的時候,我們就擁有了這個作業系統的管理員權限,而且,這個許可權無處不在。所以,我們只能說DOS不支援許可權的設定,不能說它沒有許可權。隨著人們安全意識的提高,使用權限設定隨著NTFS的發布誕生了。

Windows NT裡,使用者被分成許多組,組和組之間都有不同的許可權,當然,一個組的使用者和使用者之間也可以有不同的許可權。下面我們來談談NT中常見的使用者組。

Administrators,Administrator 群組,預設情況下,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 群組成員的身份運行電腦將使系統容易受到特洛伊木馬、病毒及其他安全風險的威脅。訪問 網際網路網站或開啟電子郵件附件的簡單行動都可能破壞系統。不熟悉的 網際網路網站或電子郵件附件可能有特洛伊木馬代碼,這些代碼可以下載到系統並被執行。如果以本機電腦的管理員身份登入,特洛伊木馬可能使用管理訪問權重新格式化您的硬碟,造成不可估量的損失,所以在沒有必要的情況下,最好不用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預設許可權的伺服器進行一次類比攻擊,看看其是否真的固若金湯。
假設伺服器外網網域名稱為_blank>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.牢記:沒有永遠安全的系統,經常更新你的知識。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.