隨著動網論壇的廣泛應用和動網上傳漏洞的被發現以及SQL注入式攻擊越來越多的被使用WEBSHELL讓防火牆形同虛設一台即使打了所有微軟補丁只讓端口對外開放的WEB服務器也逃不過被黑的命運難道我們真的無能為力了嗎?其實只要你弄明白了NTFS系統下的權限設置問題我們可以對crackers們說NO!
要打造一台安全的WEB服務器那麼這台服務器就一定要使用NTFS和Windows NT//眾所周知Windows是一個支持多用戶多任務的操作系統這是權限設置的基礎一切權限設置都是基於用戶和進程而言的不同的用戶在訪問這台計算機時將會有不同的權限
DOS跟WinNT的權限的分別
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中有一個在系統安裝時就創建的默認用戶AdministratorAdministrator 帳戶具有對服務器的完全控制權限並可以根據需要向用戶指派用戶權利和訪問控制權限
因此強烈建議將此帳戶設置為使用強密碼永遠也不可以從Administrators 組刪除 Administrator 帳戶但可以重命名或禁用該帳戶由於大家都知道"管理員"存在於許多版本的 Windows 上所以重命名或禁用此帳戶將使惡意用戶嘗試並訪問該帳戶變得更為困難對於一個好的服務器管理員來說他們通常都會重命名或禁用此帳戶Guests用戶組下也有一個默認用戶Guest但是在默認情況下它是被禁用的如果沒有特別必要無須啟用此賬戶
小幫助何謂強密碼?就是字母與數字大小互相組合的大於位的復雜密碼但這也不完全防得住眾多的黑客只是一定程度上較為難破解
我們可以通過"控制面板""管理工具""計算機管理""用戶和用戶組"來查看用戶組及該組下的用戶
我們用鼠標右鍵單擊一個NTFS卷或NTFS卷下的一個目錄選擇"屬性""安全"就可以對一個卷或者一個卷下面的目錄進行權限設置此時我們會看到以下七種權限完全控制修改讀取和運行列出文件夾目錄讀取寫入和特別的權限"完全控制"就是對此卷或目錄擁有不受限制的完全訪問地位就像Administrators在所有組中的地位一樣選中了"完全控制"下面的五項屬性將被自動被選中
"修改"則像Power users選中了"修改"下面的四項屬性將被自動被選中下面的任何一項沒有被選中時"修改"條件將不再成立"讀取和運行"就是允許讀取和運行在這個卷或目錄下的任何文件"列出文件夾目錄"和"讀取"是"讀取和運行"的必要條件
"列出文件夾目錄"是指只能浏覽該卷或目錄下的子目錄不能讀取也不能運行"讀取"是能夠讀取該卷或目錄下的數據"寫入"就是能往該卷或目錄下寫入數據而"特別"則是對以上的六種權限進行了細分讀者可以自行對"特別"進行更深的研究鄙人在此就不過多贅述了
一台簡單服務器的設置實例操作
下面我們對一台剛剛安裝好操作系統和服務軟件的WEB服務器系統和其權限進行全面的刨析服務器采用Windows Server版安裝好了SP及各種補丁WEB服務軟件則是用了Windows 自帶的IIS 刪除了一切不必要的映射整個硬盤分為四個NTFS卷C盤為系統卷只安裝了系統和驅動程序;D盤為軟件卷該服務器上所有安裝的軟件都在D盤中;E盤是WEB程序卷網站程序都在該卷下的WWW目錄中;F盤是網站數據卷網站系統調用的所有數據都存放在該卷的WWWDATABASE目錄下
這樣的分類還算是比較符合一台安全服務器的標准了希望各個新手管理員能合理給你的服務器數據進行分類這樣不光是查找起來方便更重要的是這樣大大的增強了服務器的安全性因為我們可以根據需要給每個卷或者每個目錄都設置不同的權限一旦發生了網絡安全事故也可以把損失降到最低
當然也可以把網站的數據分布在不同的服務器上使之成為一個服務器群每個服務器都擁有不同的用戶名和密碼並提供不同的服務這樣做的安全性更高不過願意這樣做的人都有一個特點有錢)
好了言歸正傳該服務器的數據庫為MSSQLMSSQL的服務軟件SQL安裝在d:mssqlserverK目錄下給SA賬戶設置好了足夠強度的密碼安裝好了SP補丁為了方便網頁制作員對網頁進行管理該網站還開通了FTP服務FTP服務軟件使用的是SERVU 安裝在d:ftpserviceservu目錄下殺毒軟件和防火牆用的分別是Norton Antivirus和BlackICE路徑分別為d:nortonAV和d:firewallblackice病毒庫已經升級到最新防火牆規則庫定義只有端口和端口對外開放網站的內容是采用動網的論壇網站程序在e:wwwbbs下
細心的讀者可能已經注意到了安裝這些服務軟件的路徑我都沒有采用默認的路徑或者是僅僅更改盤符的默認路徑這也是安全上的需要因為一個黑客如果通過某些途徑進入了你的服務器但並沒有獲得管理員權限他首先做的事情將是查看你開放了哪些服務以及安裝了哪些軟件因為他需要通過這些來提升他的權限
一個難以猜解的路徑加上好的權限設置將把他阻擋在外相信經過這樣配置的WEB服務器已經足夠抵擋大部分學藝不精的黑客了讀者可能又會問了"這根本沒用到權限設置嘛!我把其他都安全工作都做好了權限設置還有必要嗎?"當然有!智者千慮還必有一失呢就算你現在已經把系統安全做的完美無缺你也要知道新的安全漏洞總是在被不斷的發現
實例攻擊
權限將是你的最後一道防線!那我們現在就來對這台沒有經過任何權限設置全部采用Windows默認權限的服務器進行一次模擬攻擊看看其是否真的固若金湯
假設服務器外網域名用掃描軟件對其進行掃描後發現開放WWW和FTP服務並發現其服務軟件使用的是IIS 和Servu 用一些針對他們的溢出工具後發現無效遂放棄直接遠程溢出的想法
打開網站頁面發現使用的是動網的論壇系統於是在其域名後面加個/upfileasp發現有文件上傳漏洞便抓包把修改過的ASP木馬用NC提交提示上傳成功成功得到WEBSHELL打開剛剛上傳的ASP木馬發現有MSSQLNorton Antivirus和BlackICE在運行判斷是防火牆上做了限制把SQL服務端口屏蔽了
通過ASP木馬查看到了Norton Antivirus和BlackICE的PID又通過ASP木馬上傳了一個能殺掉進程的文件運行後殺掉了Norton Antivirus和BlackICE再掃描發現端口開放了到此便有很多種途徑獲得管理員權限了可以查看網站目錄下的connasp得到SQL的用戶名密碼再登陸進SQL執行添加用戶提管理員權限也可以抓SERVU下的ServUDaemonini修改後上傳得到系統管理員權限
還可以傳本地溢出SERVU的工具直接添加用戶到Administrators等等大家可以看到一旦黑客找到了切入點在沒有權限限制的情況下黑客將一帆風順的取得管理員權限
那我們現在就來看看Windows 的默認權限設置到底是怎樣的對於各個卷的根目錄默認給了Everyone組完全控制權這意味著任何進入電腦的用戶將不受限制的在這些根目錄中為所欲為
系統卷下有三個目錄比較特殊系統默認給了他們有限制的權限這三個目錄是Documents and settingsProgram files和Winnt對於Documents and settings默認的權限是這樣分配的Administrators擁有完全控制權;Everyone擁有讀&運列和讀權限;Power users擁有讀&運列和讀權限;SYSTEM同Administrators;Users擁有讀&運列和讀權限對於Program filesAdministrators擁有完全控制權;Creator owner擁有特殊權限;Power users有完全控制權;SYSTEM同Administrators;Terminal server users擁有完全控制權Users有讀&運列和讀權限
對於WinntAdministrators擁有完全控制權;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目錄也就是網站目錄讀寫權
最後還要把cmdexe這個文件給挖出來只給Administrator完全控制權經過這樣的設置後再想通過我剛剛的方法入侵這台服務器就是不可能完成的任務了可能這時候又有讀者會問"為什麼要給系統卷的根目錄一個Everyone的讀寫權?網站中的ASP文件運行不需要運行權限嗎?"問的好有深度是這樣的系統卷如果不給Everyone的讀寫權的話啟動計算機的時候計算機會報錯而且會提示虛擬內存不足
當然這也有個前提虛擬內存是分配在系統盤的如果把虛擬內存分配在其他卷上那你就要給那個卷Everyone的讀寫權ASP文件的運行方式是在服務器上執行只把執行的結果傳回最終用戶的浏覽器這沒錯但ASP文件不是系統意義上的可執行文件它是由WEB服務的提供者IIS來解釋執行的所以它的執行並不需要運行的權限
深入了解權限背後的意義
經過上面的講解以後你一定對權限有了一個初步了了解了吧?想更深入的了解權限那麼權限的一些特性你就不能不知道了權限是具有繼承性累加性 優先性交叉性的
繼承性是說下級的目錄在沒有經過重新設置之前是擁有上一級目錄權限設置的這裡還有一種情況要說明一下在分區內復制目錄或文件的時候復制過去的目錄和文件將擁有它現在所處位置的上一級目錄權限設置但在分區內移動目錄或文件的時候移動過去的目錄和文件將擁有它原先的權限設置
累加是說如一個組GROUP中有兩個用戶USERUSER他們同時對某文件或目錄的訪問權限分別為"讀取"和"寫入"那麼組GROUP對該文件或目錄的訪問權限就為USER和USER的訪問權限之和實際上是取其最大的那個即"讀取"+"寫入"="寫入" 又如一個用戶USER同屬於組GROUP和GROUP而GROUP對某一文件或目錄的訪問權限為"只讀"型的而GROUP對這一文件或文件夾的訪問權限為"完全控制"型的則用戶USER對該文件或文件夾的訪問權限為兩個組權限累加所得即"只讀"+"完全控制"="完全控制"
優先性權限的這一特性又包含兩種子特性其一是文件的訪問權限優先目錄的權限也就是說文件權限可以越過目錄的權限不顧上一級文件夾的設置另一特性就是"拒絕"權限優先其它權限也就是說"拒絕"權限可以越過其它所有其它權限一旦選擇了"拒絕"權限則其它權限也就不能取任何作用相當於沒有設置
交叉性是指當同一文件夾在為某一用戶設置了共享權限的同時又為用戶設置了該文件夾的訪問權限且所設權限不一致時它的取捨原則是取兩個權限的交集也即最嚴格最小的那種權限如目錄A為用戶USER設置的共享權限為"只讀"同時目錄A為用戶USER設置的訪問權限為"完全控制"那用戶USER的最終訪問權限為"只讀"
權限設置的問題我就說到這了在最後我還想給各位讀者提醒一下權限的設置必須在NTFS分區中才能實現的FAT是不支持權限設置的同時還想給各位管理員們一些建議
養成良好的習慣給服務器硬盤分區的時候分類明確些在不使用服務器的時候將服務器鎖定經常更新各種補丁和升級殺毒軟件
設置足夠強度的密碼這是老生常談了但總有管理員設置弱密碼甚至空密碼
盡量不要把各種軟件安裝在默認的路徑下
在英文水平不是問題的情況下盡量安裝英文版操作系統
切忌在服務器上亂裝軟件或不必要的服務
牢記沒有永遠安全的系統經常更新你的知識
From:http://tw.wingwit.com/Article/os/xtgl/201311/9642.html