作為一款精典的FTP服務器軟件,SERV-U一直被大部分管理員所使用,它簡單的安裝和配置以及強大的管理功能的人性化也一直被管理員們稱頌。但是隨著使用者越來越多,該軟件的安全問題也逐漸顯露出來。
首先是SERV-U的SITE CHMOD漏洞和Serv-U MDTM漏洞,即利用一個賬號可以輕易的得到SYSTEM權限。其次是Serv-u的本地溢出漏洞,即Serv-U有一個默認的管理用戶(用戶名:localadministrator,密碼:# @$ak#. k;0@p),任何人只要通過一個能訪問本地端口43958的賬號就可以隨意增刪賬號和執(zhí)行任意內部和外部命令。
此時,人們才開始重視起SERV-U的安全來,并采取了一些相關措施,如修改SERV-U的管理端口、賬號和密碼等。但是,修改后的內容還是保留在ServUDaemon.exe文件里,因此下載后用如UltraEdit之類的16進制編輯軟件就可以很輕易的獲取到修改后的端口、賬號和密碼。
從SERV-U6.0.0.2開始,該軟件有了登錄密碼功能,這樣如果加了管理密碼,并且設置比較妥善的話,SERV-U將會比原來安全的多,F在我們就開始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加入系統(tǒng)服務,這樣就可以隨系統(tǒng)啟動了,不用每次都手工啟動。(見圖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)”的選擇,然后點擊確定繼續(xù)我們的設置。(見圖10)
圖10:取消“允許登錄到終端服務器”
這里我們已經建好了賬號,該設置服務里的賬號了,F在就要用到剛才建立的這個賬號,密碼還沒有忘記吧,馬上就要用到了。
在開始菜單的管理工具里找到“服務”點擊打開。在“Serv-U FTP Server服務”上點右鍵,選擇屬性繼續(xù)。
然后點擊“登錄”進入登錄賬號選擇界面。選擇剛才建立的系統(tǒng)賬號名,并在下面重復輸入2次該賬號的密碼(就是剛才讓你記住的那個),然后點“應用”,再次點確定,完成服務的設置。(見圖11)
圖11:更改啟動和登錄SRV-U的賬號密碼
接下來要先使用FTP管理工具建立一個域,再建立一個賬號,建好后選擇保存在注冊表。(見圖12)
圖12:FTP用戶密碼保存到注冊表里
打開注冊表來測試相應的權限,否則SERV-U是沒辦法啟動的。在開始->運行里輸入regedt32點“確定”繼續(xù)。
找到[HKEY_LOCAL_MACHINE\SOFTWARE\Cat Soft]分支。在上面點右鍵,選擇權限,然后點高級,取消允許父項的繼承權限傳播到該對象和所有子對象,包括那些在此明確定義的項目,點擊“應用”繼續(xù),接著刪除所有的賬號。再次點擊“確定”按鈕繼續(xù)。這時會彈出對話框顯示“您拒絕了所有用戶訪問Cat Soft。沒有人能訪問 Cat Soft,而且只有所有者才能更改權限。您要繼續(xù)嗎?”,點擊“是”繼續(xù)。接著點擊添加按鈕增加我們建立的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了。