為了便于維護網站,很多服務器上都開通了FTP服務,雖然Serv-U等第三方FTP服務器軟件功能強大,不過系統自帶的FTP組件具有穩定性好、操作簡便,和系統完美融合等特點,在實際工作中使用極為普遍。我們知道,Serv-U的功能雖然不錯,但是如果其設置不當的話,就會存在很大的安全隱患。在很多黑客入侵案例中,都可以看到黑客利用Serv-U配置漏洞入侵得手的情況。如何檢測目標服務器上使用的是系統自帶的FTP服務呢?方法很簡單,使用“ftp”命令連接目標服務器,如果返回“220 Microsoft FTP Srvice”的信息,就表明其使用了上述組件。
在IIS 6.0之 前 的Windows中,IIS中沒有辦法將用戶限制在FTP站點中的特定目錄,于是造成擁有寫入權限的用戶把FTP主目錄搞的亂七八糟的情況。IIS 6.0之后的系統可以有效解決該問題。通過使用用戶隔離模式,讓用戶在連接FTP服務器后直接進入與之關聯的目錄中,并且其無法查看或者修改別的用戶目錄。為此,需要在系統中為FTP用戶單獨創建本地賬戶。運行“lusrmgr.msc”程序,在本地用戶和組窗口左側選擇“用戶”項,在右側窗口的右鍵菜單中點擊“新賬戶”項,來創建所需的賬戶。注意:不要選擇“用戶下次登錄時須更改密碼”項,同時選擇“用戶不能更改密碼”和“密碼永不過期”項。

圖4 設置隔離用戶

圖5 開啟磁盤配額管理功能
雙擊創建的賬戶,在其屬性窗口的“隸屬于”面板中刪除所有的組名(例如User組等),使其不隸屬于任意組。同理,可以創建多個FTP專用賬戶。
為了安全起見,需要事先規劃好FTP站點的目錄結構。方法是某個NTFS分區中新建一個文件夾(例如“Webroot”),在其中創建名為“LocalUser”的子目錄。進入該子目錄,在其中為每一個用戶創建一個文件夾。
注意:FTP站點主目錄下的子文件夾名稱必須為“LocalUser”,在其中創建的子目錄其名稱必須和每個FTP用戶的賬戶名完全一致。
在Internet信息服務窗口左側的“FTP站點”的右鍵菜單上點擊“新建”→“FTP站點”項,在向導界面中點擊下一步按鈕,輸入FTP站點描述信息,在下一步窗口中選擇該FTP站點使用的IP地址和端口號。在下一步窗口(如圖4所示)選擇“隔離用戶”項,之后在“FTP站點主目錄”窗口中選擇FTP主目錄,在下一步窗口中選擇“寫入”項,為其設置訪問權限。之后完成FTP站點創建動作。前面我們已經為每一個磁盤設置了訪問權限,只允許Administrators組和SYSTEM賬戶擁有訪問權限。因此,需要針對每一個FTP賬戶文件夾,在其屬性窗口中的“安全”面板中點擊“添加”按鈕,將與之對應的FTP本地賬戶添加進來,并為其指派除了“讀取和運行”、“寫入”、“修改”等權限。
一般來說,服務器針對每個用戶提供的FTP存儲空間都是有限的,具體的配置方法是選擇FTP主目錄所在的盤符,在其“屬性”窗口中“配額”面板(如圖5所示)中選擇“啟用配額管理”項,并選擇“拒絕將磁盤空間給超過配額限制的用戶”項。點擊“配額項”按鈕,在彈出窗口中的工具欄上點擊第一個按鈕,導入對應的FTP本地賬戶名,在“添加新配額項”窗口中選擇“將磁盤空間限制為”項,為其分配合適的存儲空間,點擊確定按鈕,該FTP用戶就擁有了合適的存儲空間。
當您登錄到虛擬主機提供的FTP空間后,會發現其中存在三個目錄,除了FTP主目錄外,還 存 在“logfile”,“Isapi”目錄,前者為網站日志目錄,后者為ISAPI篩選器目錄。但是,按照上述方法創建的FTP站點中卻沒有這些目錄,為此我們手工在服務器中的FTP主目錄中建立這些目錄,其配置方法下面會提及。
注意,這里主要使用FTP站點維護網站之用,所以針對每一個FTP本地賬戶,在其關聯的文件夾中分別創建“www”、“logfile”、“Isapi” 目錄,用來存儲其管理的網站目錄、日志目錄以及篩選器信息。