首先是SERV-U的SITE CHMOD漏洞和Serv-U MDTM漏洞,也就是利用一個帳號可以輕易的得到SYSTEM權限。其次是Serv-u的本地溢出漏洞,即Serv-U有一個預設的管理用戶(用戶名:localadministrator,密碼:#|@$ak#.|k;0@p),任何人只要透過一個能訪問本機連接埠43958的帳號就可以隨意增刪帳號和執行任意內部和外部指令。
此時,人們才開始重視起SERV-U的安全性來,並採取了一些相關措施,如修改SERV-U的管理埠、帳號和密碼等。但是,修改後的內容還是保留在ServUDaemon.exe檔案裡,因此下載後用如UltraEdit之類的16進位編輯軟體就可以很輕易的取得到修改後的連接埠、帳號和密碼。
從SERV-U6.0.0.2開始,軟體有了登入密碼功能,這樣如果加了管理密碼,並且設定比較適當的話,SERV-U將會比原來安全的多。現在我們就開始SERV-U的設定之旅,採用版本是SERV-U 6.0.0.2。
古語有云,千尺之台始於壘土,設置SERV-U的安全就從安裝開始。這篇文章主要是寫SERV-U的安全設置,所以不會花太多的功夫來介紹安裝,只說一下重點。
SERV-U預設是安裝在C:Program FilesServ-U目錄下的,我們最好做一下變動。例如改為:D:u89327850mx8utu432X$UY32x211936890co7v23x1t3(圖1)這樣的路徑,如果安裝盤符WEB用戶不能瀏覽的話,他便很難猜到安裝的路徑。當然,安裝後會在桌面和開始功能表上產生快捷方式,建議刪除,因為一般不會使用到它。可能你要問了,那應該怎麼進入SERV-U的設定介面呢?其實很簡單,雙擊下右角工作列裡的Tray Monitor小圖示來啟動SERV-U的管理介面。
圖1:修改安裝的目錄
安裝的時候只選前2項就可以了,後面的2個是說明和線上說明文件。 (見圖2)
圖2:安裝時候只需要選擇前2項下圖是產生的開始功能表群組裡的資料夾的名字,建議更改成比較不像SERV-U的名字,或是刪除該資料夾。 (見圖3)
圖3:更改安裝後產生開始功能表組裡資料夾的名字
[Cut-Page]
安裝完成後會出現一個精靈讓你建立一個網域和帳號。在這裡點Cancel取消精靈。用嚮導產生的帳號會帶來一些問題,所以以下採用手工方式建立網域和帳號。 (見圖4)
圖4:點Cancel取消精靈
接著點選Start automatically(system service)前面的選項,接著點下邊的Start Server按鈕把SERV-U加入系統服務,這樣就可以隨系統啟動了,不用每次都手動啟動。 (見圖5)
圖5:把SERV-U加入服務
接下來就會出現如圖6的介面。透過點選Set/Change Password設定一個密碼。
圖6:點選Set/Change Password設定密碼
[Cut-Page]
然後會出現如圖7的介面。因為是第一次使用,所以是沒有密碼的,也就是說原來的密碼是空。不用在old password裡輸入字符,直接在下面的New password和Repeat new password裡輸入同樣的密碼再點OK就可以了。這裡建議設定一個足夠複雜的密碼,以防止別人暴力破解。自己記不得也沒關係,只要把ServUDaemon.ini裡的LocalSetupPassword=這一行清除並儲存,再次執行ServUAdmin.exe就不會提示你輸入密碼登入了。圖8:建立一個WINDOWS帳號
建好帳號以後,雙擊建置好的用戶編輯用戶屬性,從「隸屬於」裡刪除USERS群組。
圖9:從隸屬於刪除USERS組
從「終端服務設定檔」選項取消「允許登入終端伺服器(W)」的選擇,然後點選確定繼續我們的設定。 (見圖10)
圖10:取消“允許登入終端伺服器”
這裡我們已經建好了帳號,該設定服務裡的帳號了。現在就要用到剛才建立的這個帳號,密碼還沒忘記吧,馬上就要用到了。
[Cut-Page]
在開始功能表的管理工具裡找到「服務」點選開啟。在「Serv-U FTP Server服務」上點右鍵,選擇屬性繼續。
然後點選「登入」進入登入帳號選擇介面。選擇剛才建立的系統帳號名,並在下面重複輸入2次該帳號的密碼(就是剛才讓你記住的那個),然後點“應用”,再次點確定,完成服務的設定。 (見圖11)
圖11:更改啟動和登入SRV-U的帳號密碼接下來要先使用FTP管理工具建立一個網域,再建立一個帳號,建好後選擇儲存在登錄機碼。 (見圖12)
圖12:FTP使用者密碼儲存到註冊表裡
開啟註冊表來測試對應的權限,否則SERV-U是沒辦法啟動的。在開始->運轉裡輸入regedt32點「確定」繼續。
找到[HKEY_LOCAL_MACHINESOFTWARECat Soft]分支。在上點右鍵,選擇權限,然後點高級,取消允許父項的繼承權限傳播到該對象和所有子對象,包括那些在此明確定義的項目,點擊“應用”繼續,接著刪除所有的帳號。再次點選「確定」按鈕繼續。這時會彈出對話框顯示“您拒絕了所有用戶訪問Cat Soft。沒有人能訪問Cat Soft,而且只有所有者才能更改權限。您要繼續嗎?”,點擊“是”繼續。接著點擊新增按鈕增加我們建立的SSERVU帳號到該子鍵的權限清單裡,並給予完全控制權限。到這裡註冊表已經設定完了。但還不能重新啟動SERV-U,因為安裝目錄還沒設定。
現在就來設定一下,只保留你的管理帳號和SSERVU帳號,並給予除了完全控制外的所有權限。 (見圖13)
圖13:SERV-U安裝目錄權限設定
現在,在服務中重啟Serv-U FTP Server服務就可以正常啟動了。當然,到這裡還沒完全設定完,你的FTP用戶因為沒有權限還是登入不了的,所以還要設定目錄的權限。
假設你有一個WEB目錄,路徑是d:web。那麼在這個目錄的「安全設定」裡除了管理員和IIS用戶都刪除掉,再加入SSERVU帳號,切記SYSTEM帳號也刪除掉。為什麼要這樣設定呢?因為現在已經是用SSERVU帳號啟動的SERV-U,不是用SYSTEM權限啟動的了,所以存取目錄不再是用SYSTEM而是用SSERVU,此時SYSTEM已經沒用了,這樣就算真的溢出也不可能得到SYSTEM權限。另外,WEB目錄所在碟的根目錄也要設定允許SSERV-U帳號的瀏覽和讀取權限,並確認在進階內設定只有該資料夾。 (見圖14)
圖14:WEB目錄所在磁碟的權限設定
至此,設定全部結束。現在的SERV-U設定是配合IIS設定的,因為和IIS使用不同的帳號,WEB使用者就不可能存取SERV-U的目錄,且WEB目錄沒有給予SYSTEM權限,所以SYSTEM帳號也同樣存取不了WEB目錄,也就是說,即使使用MSSQL得到備份的權限也無法備份SHELL到你的WEB目錄。你可以安全的使用SERV-U了。
安裝完成後會出現一個精靈讓你建立一個網域和帳號。在這裡點Cancel取消精靈。用嚮導產生的帳號會帶來一些問題,所以以下採用手工方式建立網域和帳號。 (見圖4)
圖4:點Cancel取消精靈
接著點選Start automatically(system service)前面的選項,接著點下邊的Start Server按鈕把SERV-U加入系統服務,這樣就可以隨系統啟動了,不用每次都手動啟動。 (見圖5)
圖5:把SERV-U加入服務
接下來就會出現如圖6的介面。透過點選Set/Change Password設定一個密碼。
圖6:點選Set/Change Password設定密碼