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