作為一款精典的FTP伺服器軟體,SERV-U一直被大部分管理員所使用,它簡單的安裝和配置以及強大的管理功能的人性化也一直被管理員們稱頌。但是隨著使用者越來越多,該軟體的安全問題也逐漸顯露出來。
首先是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 Files/Serv-U目錄下的,我們最好做一下變動。例如改為:D:/u89327850mx8utu432X$ UY32x211936890co7v23x1t3(圖1)這樣的路徑,如果安裝盤符WEB使用者不能瀏覽的話,他便很難猜到安裝的路徑。當然,安裝後會在案頭和開始菜單上產生捷徑,建議刪除,因為一般不會使用到它。可能你要問了,那應該怎樣進入SERV-U的設定介面呢?其實很簡單,雙擊下右角工作列裡的Tray Monitor小表徵圖來啟動SERV-U的管理介面。
圖1:修改安裝的目錄
安裝的時候只選前2項就可以了,後面的2個是說明和線上協助檔案。(見圖2)
圖2:安裝時候只需要選擇前2項
是產生的開始菜單組裡的檔案夾的名字,建議更改成比較不像SERV-U的名字,或者是刪除該檔案夾。(見圖3)
圖3:更改安裝後產生開始菜單組裡檔案夾的名字
安裝完成後會出現一個嚮導讓你建立一個域和帳號。在這裡點Cancel取消嚮導。用嚮導產生的帳號會帶來一些問題,所以下面採用手工方式建立域和帳號。(見圖4)
圖4:點Cancel取消嚮導
然後點選Start automatically(system service)前面的選項,接著點下邊的Start Server按鈕把SERV-U加入系統服務,這樣就可以隨系統啟動了,不用每次都手工啟動。(見圖5)
圖5:把SERV-U加入服務
接下來就會出現6的介面。通過點擊Set/Change Password設定一個密碼。
圖6:點擊Set/Change Password設定密碼
然後會出現7的介面。因為是第一次使用,所以是沒有密碼的,也就是說原來的密碼為空白。不用在 old password裡輸入字元,直接在下面的New password和Repeat new password裡輸入同樣的密碼再點OK就可以了。這裡建議設定一個足夠複雜的密碼,以防止別人暴力破解。自己記不得也沒有關係,只要把 ServUDaemon.ini裡的LocalSetupPassword=這一行清除並儲存,再次運行ServUAdmin.exe就不會提示你輸入密碼登入了。
圖7:設定和更改密碼介面
下面就到了該對SERV-U進行安全設定的時候了。首先建立一個WINDOWS帳號SSERVU,密碼也需要足夠的複雜。密碼要記住,如果記不住就暫時儲存在一個檔案裡,一會兒還要用到。(見圖8)
圖8:建立一個WINDOWS帳號
建好帳號以後,雙擊建好的使用者編輯使用者屬性,從“隸屬於”裡刪除USERS組。
圖9:從隸屬於裡刪除USERS組
從“終端服務組態檔”選項裡取消“允許登入到終端伺服器(W)”的選擇,然後點擊確定繼續我們的設定。(見圖10)
圖10:取消“允許登入到終端伺服器”
這裡我們已經建好了帳號,該設定服務裡的帳號了。現在就要用到剛才建立的這個帳號,密碼還沒有忘記吧,馬上就要用到了。
在開始菜單的管理工具裡找到“服務”點擊開啟。在“Serv-U FTP Server服務”上點右鍵,選擇屬性繼續。
然後點擊“登入”進入登入帳號選擇介面。選擇剛才建立的系統帳號名,並在下面重複輸入2次該帳號的密碼(就是剛才讓你記住的那個),然後點“應用”,再次點確定,完成服務的設定。(見圖11)
圖11:更改啟動和登入SRV-U的帳號密碼
接下來要先使用FTP管理工具建立一個域,再建立一個帳號,建好後選擇儲存在註冊表。(見圖12)
圖12:FTP使用者密碼儲存到註冊表裡
開啟註冊表來測試相應的許可權,否則SERV-U是沒辦法啟動的。在開始->運行裡輸入regedt32點“確定”繼續。
找到[HKEY_LOCAL_MACHINE/SOFTWARE/Cat 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了。
註:本文首發於賽迪網,轉載請註明。