一、操作系統的選擇 FTP服務器首先是基於操作系統而運作的,因而操作系統本身的安全性就決定了FTP服務器安全性的級別。雖然Windows 98/Me一樣可以架設FTP服務器,但由於其本身的安全性就不強,易受攻擊,因而最好不要采用。Windows NT就像雞肋,不用也罷。最好采用Windows 2000及以上版本,並記住及時打上補丁。至於Unix、Linux,則不在討論之列。 二、使用防火牆端口是計算機和外部網絡相連的邏輯接口,也是計算機的第一道屏障,端口配置正確與否直接影響到主機的安全,一般來說,僅打開你需要使用的端口,將其他不需要使用的端口屏蔽掉會比較安全。限制端口的方法比較多,可以使用第三方的個人防火牆,這裡只介紹Windows自帶的防火牆設置方法。 1.利用TCP/IP篩選功能 在Windows 2000和Windows XP中,系統都帶有TCP/IP篩選功能,利用它可以簡單地進行端口設置。以Windows XP為例,打開“本地連接”的屬性,在“常規”選項中找到“Internet協議(TCP/IP)”,雙擊它打開該協議的屬性設置窗口。點擊右下方的“高級”按鈕,進入“高級TCP/IP設置”。在“選項”中選中“TCP/IP篩選”並雙擊進入其屬性設置。這裡我們可以設置系統只允許開放的端口,假如架設的FTP服務器端口為21,先選中“啟用TCP/IP篩選(所有適配器)”,再在TCP端口選項中選擇“只允許”,點“添加”,輸入端口號21,確定即可。這樣,系統就只允許打開21端口。要開放其他端口,繼續添加即可。這可以有效防止最常見的139端口入侵。缺點是功能過於簡單,只能設置允許開放的端口,不能自定義要關閉的端口。如果你有大量端口要開放,就得一個個地去手工添加,比較麻煩。 2.打開Internet連接防火牆 對於Windows XP系統,自帶了“Internet連接防火牆”功能,與TCP/IP篩選功能相比,設置更方便,功能更強大。除了自帶防火牆端口開放規則外,還可以自行增刪。在控制面板中打開“網絡連接”,右擊撥號連接,進入“高級”選項卡,選中“通過限制或阻止來自Internet的對此計算機的訪問來保護我的計算機和網絡”,啟用它。系統默認狀態下是關閉了FTP端口的,因而還要設置防火牆,打開所使用的FTP端口。點擊右下角的“設置”按鈕進入“高級設置”,選中“FTP服務器”,編輯它。由於FTP服務默認端口是21,因而除了IP地址一欄外,其余均不可更改。在IP地址一欄中填入服務器公網ip,確定後退出即可即時生效。如果架設的FTP服務器端口為其他端口,比如22,則可以在“服務”選項卡下方點“添加”,輸入服務器名稱和公網IP後,將外部端口號和內部端口號均填入22即可。 三、對IIS、Serv-u等服務器軟件進行設置除了依靠系統提供的安全措施外,就需要利用FTP服務器端軟件本身的設置來提高整個服務器的安全了。 1.IIS的安全性設置 1)及時安裝新補丁對於IIS的安全性漏洞,可以說是“有口皆碑”了,平均每兩三個月就要出一兩個漏洞。所幸的是,微軟會根據新發現的漏洞提供相應的補丁,這就需要你不斷更新,安裝最新補丁。 2)將安裝目錄設置到非系統盤,關閉不需要的服務一些惡意用戶可以通過IIS的溢出漏洞獲得對系統的訪問權。把IIS安放在系統分區上,會使系統文件與IIS同樣面臨非法訪問,容易使非法用戶侵入系統分區。另外,由於IIS是一個綜合性服務組件,每開設一個服務都將會降低整個服務的安全性,因而,對不需要的服務盡量不要安裝或啟動。 3)只允許匿名連接 FTP最大的安全漏洞在於其默認傳輸密碼的過程是明文傳送,很容易被人嗅探到。而IIS又是基於Windows用戶賬戶進行管理的,因而很容易洩漏系統賬戶名及密碼,如果該賬戶擁有一定管理權限,則更會影響到整個系統的安全。設置為“只允許匿名連接”,可以免卻傳輸過程中洩密的危險。進入“默認FTP站點”,在屬性的“安全賬戶”選項卡中,將此選項選中。 4)謹慎設置主目錄及其權限 IIS可以將FTP站點主目錄設為局域網中另一台計算機的共享目錄,但在局域網中,共享目錄很容易招致其他計算機感染的病毒攻擊,嚴重時甚至會造成整個局域網癱瘓,不到萬不得已,最好使用本地目錄並將主目錄設為NTFS格式的非系統分區中。這樣,在對目錄的權限設置時,可以對每個目錄按不同組或用戶來設置相應的權限。右擊要設置的目錄,進入“共享和安全→安全”中設置,如非必要,不要授予“寫入”權限。 5)盡量不要使用默認端口號21 啟用日志記錄,以備出現異常情況時查詢原因。 2.Serv-u的安全性設置 與IIS的FTP服務相比,Serv-u在安全性方面做得比較好。 1)對“本地服務器”進行設置首先,選中“攔截FTP_bounce攻擊和XP”。通常,當使用FTP協議進行文件傳輸時,客戶端首先向FTP服務器發出一個“PORT”命令,該命令中包含此用戶的IP地址和將被用來進行數據傳輸的端口號,服務器收到後,利用命令所提供的用戶地址信息建立與用戶的連接。大多數情況下,上述過程不會出現任何問題,但當客戶端是一名惡意用戶時,可能會通過在PORT命令中加入特定的地址信息,使FTP服務器與其它非客戶端的機器建立連接。雖然這名惡意用戶可能本身無權直接訪問某一特定機器,但是如果FTP服務器有權訪問該機器的話,那麼惡意用戶就可以通過FTP服務器作為中介,仍然能夠最終實現與目標服務器的連接。這就是FXP,也稱跨服務器攻擊。選中後就可以防止發生此種情況。其次,在“高級”選項卡中,檢查“加密密碼”和“啟用安全”是否被選中,如果沒有,選擇它們。“加密密碼”使用單向Hash函數(MD5)加密用戶口令,加密後的口令保存在ServUDaemon。ini或是注冊表中。如果不選擇此項,用戶口令將以明文形式保存在文件中:“啟用安全”將啟動Serv-u服務器的安全成功。 2)對域中的服務器進行設置前面說過,FTP默認為明文傳送密碼,容易被人嗅探,對於只擁有一般權限的賬戶,危險並不大,但如果該賬戶擁有遠程管理尤其是系統管理員權限,則整個服務器都會被別人遠程控制。Serv-u對每個賬戶的密碼都提供了以下三種安全類型:規則密碼、OTP S/KEY MD4和OTP S/KEY MD5。不同的類型對傳輸的加密方式也不同,以規則密碼安全性最低。進入擁有一定管理權限的賬戶的設置中,在“常規”選項卡的下方找到“密碼類型”下拉列表框,選中第二或第三種類型,保存即可。注意,當用戶憑此賬戶登錄服務器時,需要FTP客戶端軟件支持此密碼類型,如CuteFTP Pro等,輸入密碼時選擇相應的密碼類型方可通過服務器驗證。與IIS一樣,還要謹慎設置主目錄及其權限,凡是沒必要賦予寫入等能修改服務器文件或目錄權限的,盡量不要賦予。最後,進入“設置”,在“日志”選項卡中將“啟用記錄到文件”選中,並設置好日志文件名及保存路徑、記錄參數等,以方便隨時查詢服務器異常原因。 .