作為一款精典的FTP服務(wù)器軟件,SERV-U一直被大部分管理員所使用,它簡(jiǎn)單的安裝和配置以及強(qiáng)大的管理功能的人性化也一直被管理員們稱(chēng)頌。但是隨著使用者越來(lái)越多,該軟件的安全問(wèn)題也逐漸顯露出來(lái)。
首先是SERV-U的SITE CHMOD漏洞和Serv-U MDTM漏洞,即利用一個(gè)賬號(hào)可以輕易的得到SYSTEM權(quán)限。其次是Serv-u的本地溢出漏洞,即Serv-U有一個(gè)默認(rèn)的管理用戶(hù)(用戶(hù)名:localadministrator,密碼:#|@$ak#.|k;0@p),任何人只要通過(guò)一個(gè)能訪問(wèn)本地端口43958的賬號(hào)就可以隨意增刪賬號(hào)和執(zhí)行任意內(nèi)部和外部命令。
此時(shí),人們才開(kāi)始重視起SERV-U的安全來(lái),并采取了一些相關(guān)措施,如修改SERV-U的管理端口、賬號(hào)和密碼等。但是,修改后的內(nèi)容還是保留在ServUDaemon.exe文件里,因此下載后用如UltraEdit之類(lèi)的16進(jìn)制編輯軟件就可以很輕易的獲取到修改后的端口、賬號(hào)和密碼。
從SERV-U6.0.0.2開(kāi)始,該軟件有了登錄密碼功能,這樣如果加了管理密碼,并且設(shè)置比較妥善的話(huà),SERV-U將會(huì)比原來(lái)安全的多。現(xiàn)在我們就開(kāi)始SERV-U的設(shè)置之旅,采用版本是SERV-U 6.0.0.2。
古語(yǔ)有云,千尺之臺(tái)始于壘土,設(shè)置SERV-U的安全就從安裝開(kāi)始。這篇文章主要是寫(xiě)SERV-U的安全設(shè)置,所以不會(huì)花費(fèi)太多的功夫來(lái)介紹安裝,只說(shuō)一下要點(diǎn)。
SERV-U默認(rèn)是安裝在C:/Program Files/Serv-U目錄下的,我們最好做一下變動(dòng)。例如改為:D:/u89327850mx8utu432X$UY32x211936890co7v23x1t3(圖1)這樣的路徑,如果安裝盤(pán)符WEB用戶(hù)不能瀏覽的話(huà),他便很難猜到安裝的路徑。當(dāng)然,安裝后會(huì)在桌面和開(kāi)始菜單上生成快捷方式,建議刪除,因?yàn)橐话悴粫?huì)使用到它。可能你要問(wèn)了,那應(yīng)該怎樣進(jìn)入SERV-U的設(shè)置界面呢?其實(shí)很簡(jiǎn)單,雙擊下右角任務(wù)欄里的Tray Monitor小圖標(biāo)來(lái)啟動(dòng)SERV-U的管理界面。
圖1:修改安裝的目錄
安裝的時(shí)候只選前2項(xiàng)就可以了,后面的2個(gè)是說(shuō)明和在線(xiàn)幫助文件。(見(jiàn)圖2)
圖2:安裝時(shí)候只需要選擇前2項(xiàng)
下圖是生成的開(kāi)始菜單組里的文件夾的名字,建議更改成比較不像SERV-U的名字,或者是刪除該文件夾。(見(jiàn)圖3)

圖3:更改安裝后生成開(kāi)始菜單組里文件夾的名字
安裝完成后會(huì)出現(xiàn)一個(gè)向?qū)ё屇憬⒁粋€(gè)域和賬號(hào)。在這里點(diǎn)Cancel取消向?qū)АS孟驅(qū)傻馁~號(hào)會(huì)帶來(lái)一些問(wèn)題,所以下面采用手工方式建立域和賬號(hào)。(見(jiàn)圖4)

圖4:點(diǎn)Cancel取消向?qū)?/B>
然后點(diǎn)選Start automatically(system service)前面的選項(xiàng),接著點(diǎn)下邊的Start Server按鈕把SERV-U加入系統(tǒng)服務(wù),這樣就可以隨系統(tǒng)啟動(dòng)了,不用每次都手工啟動(dòng)。(見(jiàn)圖5)
圖5:把SERV-U加入服務(wù)
接下來(lái)就會(huì)出現(xiàn)如圖6的界面。通過(guò)點(diǎn)擊Set/Change Password設(shè)置一個(gè)密碼。

圖6:點(diǎn)擊Set/Change Password設(shè)置密碼
然后會(huì)出現(xiàn)如圖7的界面。因?yàn)槭堑谝淮问褂茫允菦](méi)有密碼的,也就是說(shuō)原來(lái)的密碼為空。不用在old password里輸入字符,直接在下面的New password和Repeat new password里輸入同樣的密碼再點(diǎn)OK就可以了。這里建議設(shè)置一個(gè)足夠復(fù)雜的密碼,以防止別人暴力破解。自己記不得也沒(méi)有關(guān)系,只要把ServUDaemon.ini里的LocalSetupPassword=這一行清除并保存,再次運(yùn)行ServUAdmin.exe就不會(huì)提示你輸入密碼登錄了。
圖7:設(shè)置和更改密碼界面
下面就到了該對(duì)SERV-U進(jìn)行安全設(shè)置的時(shí)候了。首先建立一個(gè)WINDOWS賬號(hào)SSERVU,密碼也需要足夠的復(fù)雜。密碼要記住,如果記不住就暫時(shí)保存在一個(gè)文件里,一會(huì)兒還要用到。(見(jiàn)圖8)
圖8:建立一個(gè)WINDOWS賬號(hào)
建好賬號(hào)以后,雙擊建好的用戶(hù)編輯用戶(hù)屬性,從“隸屬于”里刪除USERS組。

圖9:從隸屬于里刪除USERS組
從“終端服務(wù)配置文件”選項(xiàng)里取消“允許登錄到終端服務(wù)器(W)”的選擇,然后點(diǎn)擊確定繼續(xù)我們的設(shè)置。(見(jiàn)圖10)

圖10:取消“允許登錄到終端服務(wù)器”
這里我們已經(jīng)建好了賬號(hào),該設(shè)置服務(wù)里的賬號(hào)了。現(xiàn)在就要用到剛才建立的這個(gè)賬號(hào),密碼還沒(méi)有忘記吧,馬上就要用到了。
在開(kāi)始菜單的管理工具里找到“服務(wù)”點(diǎn)擊打開(kāi)。在“Serv-U FTP Server服務(wù)”上點(diǎn)右鍵,選擇屬性繼續(xù)。
然后點(diǎn)擊“登錄”進(jìn)入登錄賬號(hào)選擇界面。選擇剛才建立的系統(tǒng)賬號(hào)名,并在下面重復(fù)輸入2次該賬號(hào)的密碼(就是剛才讓你記住的那個(gè)),然后點(diǎn)“應(yīng)用”,再次點(diǎn)確定,完成服務(wù)的設(shè)置。(見(jiàn)圖11)

圖11:更改啟動(dòng)和登錄SRV-U的賬號(hào)密碼
接下來(lái)要先使用FTP管理工具建立一個(gè)域,再建立一個(gè)賬號(hào),建好后選擇保存在注冊(cè)表。(見(jiàn)圖12)

圖12:FTP用戶(hù)密碼保存到注冊(cè)表里
打開(kāi)注冊(cè)表來(lái)測(cè)試相應(yīng)的權(quán)限,否則SERV-U是沒(méi)辦法啟動(dòng)的。在開(kāi)始->運(yùn)行里輸入regedt32點(diǎn)“確定”繼續(xù)。
找到[HKEY_LOCAL_MACHINE/SOFTWARE/Cat Soft]分支。在上面點(diǎn)右鍵,選擇權(quán)限,然后點(diǎn)高級(jí),取消允許父項(xiàng)的繼承權(quán)限傳播到該對(duì)象和所有子對(duì)象,包括那些在此明確定義的項(xiàng)目,點(diǎn)擊“應(yīng)用”繼續(xù),接著刪除所有的賬號(hào)。再次點(diǎn)擊“確定”按鈕繼續(xù)。這時(shí)會(huì)彈出對(duì)話(huà)框顯示“您拒絕了所有用戶(hù)訪問(wèn)Cat Soft。沒(méi)有人能訪問(wèn) Cat Soft,而且只有所有者才能更改權(quán)限。您要繼續(xù)嗎?”,點(diǎn)擊“是”繼續(xù)。接著點(diǎn)擊添加按鈕增加我們建立的SSERVU賬號(hào)到該子鍵的權(quán)限列表里,并給予完全控制權(quán)限。到這里注冊(cè)表已經(jīng)設(shè)置完了。但還不能重新啟動(dòng)SERV-U,因?yàn)榘惭b目錄還沒(méi)設(shè)置。
現(xiàn)在就來(lái)設(shè)置一下,只保留你的管理賬號(hào)和SSERVU賬號(hào),并給予除了完全控制外的所有權(quán)限。(見(jiàn)圖13)

圖13:SERV-U安裝目錄權(quán)限設(shè)置
現(xiàn)在,在服務(wù)里重啟Serv-U FTP Server服務(wù)就可以正常啟動(dòng)了。當(dāng)然,到這里還沒(méi)有完全設(shè)置完,你的FTP用戶(hù)因?yàn)闆](méi)有權(quán)限還是登錄不了的,所以還要設(shè)置一下目錄的權(quán)限。
假設(shè)你有一個(gè)WEB目錄,路徑是d:/web。那么在這個(gè)目錄的“安全設(shè)定”里除了管理員和IIS用戶(hù)都刪除掉,再加入SSERVU賬號(hào),切記SYSTEM賬號(hào)也刪除掉。為什么要這樣設(shè)置呢?因?yàn)楝F(xiàn)在已經(jīng)是用SSERVU賬號(hào)啟動(dòng)的SERV-U,而不是用SYSTEM權(quán)限啟動(dòng)的了,所以訪問(wèn)目錄不再是用SYSTEM而是用SSERVU,此時(shí)SYSTEM已經(jīng)沒(méi)有用了,這樣就算真的溢出也不可能得到SYSTEM權(quán)限。另外,WEB目錄所在盤(pán)的根目錄還要設(shè)置允許SSERV-U賬號(hào)的瀏覽和讀取權(quán)限,并確認(rèn)在高級(jí)里設(shè)置只有該文件夾。(見(jiàn)圖14)

圖14:WEB目錄所在盤(pán)的權(quán)限設(shè)置
至此,設(shè)置全部結(jié)束。現(xiàn)在的SERV-U設(shè)置是配合IIS設(shè)置的,因?yàn)楹虸IS使用不同的賬號(hào),WEB用戶(hù)就不可能訪問(wèn)SERV-U的目錄,并且WEB目錄沒(méi)有給予SYSTEM權(quán)限,所以SYSTEM賬號(hào)也同樣訪問(wèn)不了WEB目錄,也就是說(shuō),即使使用MSSQL得到備份的權(quán)限也不能備份SHELL到你的WEB目錄。你可以安全的使用SERV-U了。