編者按:系統(tǒng)自帶的FTP組件使用和管理起來更加高效快捷,但也成為了黑客重點攻擊的目標。其實,只有合理有序地配置FTP服務(wù)器,就可以有效提高其安全性。這里就以Windows Server 2012提供的FTP 8.0組件為例,來深入分析具體的實現(xiàn)方法。
在Windows Server 2012中打開管理工具窗口,然后雙擊Internet Information Service(IIS)管理器,在IIS管理器窗口左側(cè)選擇服務(wù)器名,在窗口中部的“FTP”欄中雙擊“FTP登錄嘗試限制”項,在彈出界面中勾選“啟用FTP登錄嘗試限制”項,在“最大登錄嘗試失敗次數(shù)”欄中設(shè)置登錄失敗上限值,默認為4次。在“時間段”欄中設(shè)置判斷周期,單位為秒,默認為30 s。選擇“基于登錄嘗試失敗次數(shù)拒絕IP地址”項,在右側(cè)的操作欄中點擊“應用”鏈接,激活該功能。
如果選擇“僅寫入日志”項,則僅僅將黑客的可疑登錄行為寫入到FTP日志文件中,而不會對其非法連接進行限制。
為了提高靈活性,可以將該功能和系統(tǒng)的密碼策略配合起來使用。因為出于安全性考慮,一般是不允許匿名登錄FTP的,只有使用特定的賬戶才可以連接FTP服務(wù)器。
首先點擊“Windows+R”組合鍵,并執(zhí)行“gpedit.msc”程序,在組策略窗口左側(cè)依次選擇“計算機配置”→“Windows設(shè)置”→“安全設(shè)置”→“賬戶策略”→“密碼策略”項,在其中可以設(shè)置很多和密碼的相關(guān)安全規(guī)則。例如,設(shè)置密碼的復雜度、長度最小值、最長最短使用期限以及強制密碼歷史等。
在“賬戶鎖定策略”欄中雙擊“賬戶鎖定閾值”項,在其屬性窗口中設(shè)置合適的鎖定次數(shù),比如設(shè)置為6次。雙擊“賬戶鎖定時間”項,設(shè)置鎖定的具體時間。
對應地,將FTP的登錄嘗試次數(shù)設(shè)置為5次。這樣,當黑客在規(guī)定時間內(nèi)連續(xù)5次連接失敗,就會被FTP服務(wù)器攔截。
但是,正常的用戶可以排除此干擾正常的登錄系統(tǒng),因為合法用戶還有一次正常登錄系統(tǒng)的機會。
出于安全考慮,F(xiàn)TP管理員希望能夠?qū)τ脩舻牟僮鬟M行合理的限制,例如禁止瀏覽、上傳和下載具有潛在風險的文件等危險的命令的。這里就可以利用FTP請求篩選功能來實現(xiàn)。
在IIS管理器中選擇服務(wù)器名(或者選擇具體的FTP主機名),在窗口中部的“FTP”欄中雙擊“FTP請求篩選”項,在彈出界面的“文件擴展名”面板的右鍵菜單中點擊“拒絕文件擴展名”項,在打開的編輯欄中輸入需要限制文件擴展名,例如“.exe”等,點擊“確定”,將其添加到文件擴展名列表中。
按照同樣的方法,可以添加任意文件類型,拒絕客戶端對其進行瀏覽及上傳下載等操作。在FTP目錄中,往往存在很多文件和目錄,當管理員不希望客戶端查看某些文件或進出某些目錄時,可以對其進行限制。在“隱藏段”面板的右鍵菜單中點擊“添加隱藏段”項,在彈出窗口中輸入文件名或者目錄名(例如“jimi”等)。這樣,客戶端雖然可以連接FTP服務(wù)器,但是卻無法查看指定的文件或目錄,當然無法進入該目錄進行各種操作。
同理,可以添加任意多個文件名和目錄名,禁止客戶端進行瀏覽。對于FTP目錄中的有些文件夾來說,管理員希望禁止用戶對其進行更名操作,或者禁止其進入該目錄。為此,可以在“拒絕的URL序列”面板的右鍵菜單中點擊“添加URL序列”項,在彈出窗口中輸入具體的目錄名(例如“共享文檔”等),點擊“確定”按鈕保存設(shè)置。這樣,客戶端試圖對該目錄進行更名或者訪問時,會遭到FTP服務(wù)器的攔截,并顯示警告信息。
在“命令”面板的右鍵菜單中點擊“拒絕命令”項,在彈出窗口中輸入具體的命令(如“dele”等),點擊“確定”保存配置。這樣,當客戶端試圖刪除FTP服務(wù)器上的文件時,就會遭到服務(wù)器的攔截,同時會收到FTP服務(wù)器發(fā)來的警告信息。這里可使用CuteFTP等工具連接FTP服務(wù)器,當執(zhí)行各種操作時,在窗口中部的連接信息中可查看到對應的命令信息。
為了提高FTP安全性,是不允許采取匿名登錄的。這就需要對用戶的訪問進行授權(quán),即只能允許用戶使用特定的賬戶來訪問FTP服務(wù)器。例如,可以在CMD窗口中執(zhí)行“net user ftpuser1 p[]123qwe/add”命令,創(chuàng)建名為“ftpuser1”的賬戶。之后在FTP站點主目錄的屬性窗口中打開“安全”面板,在其中點擊“添加”按鈕,在選擇用戶和組窗口中點擊“高級”按鈕,在彈出面板中點擊“立即查找”按鈕,搜索本機中所有賬戶信息。選擇“ftpuser1”賬戶,將其添加到FTP目錄的“組或用戶名”列表中。
選擇該賬戶,在權(quán)限列表中選擇合適的權(quán)限,例如讀取、寫入和修改等。設(shè)置了合適的權(quán)限后,在IIS管理器中的“FTP”欄中雙擊“FTP授權(quán)規(guī)則”項,在右側(cè)的“操作”欄中點擊“添加允許規(guī)則”項,在彈出窗口中選擇“指定的用戶”項嗎,輸入“ftpuser1”賬戶名,可以輸入多個賬戶,且彼此之間要以頓號分隔。在“權(quán)限”列表中選擇“讀取”和“寫入”項。
注意,因為FTP的權(quán)限是在Windows用戶權(quán)限的基礎(chǔ)上的實現(xiàn)的,所以僅僅在這里開訪問權(quán)限是不夠的。必須按照上述方法,針對FTP目錄為具體的賬戶添加對應的權(quán)限,否則的話,在訪問FTP服務(wù)器時會出現(xiàn)權(quán)限不足的問題。
點擊“確定”按鈕保存配置信息。這樣,客戶端就可以利用該賬戶登錄FTP服務(wù)器,按照預設(shè)的權(quán)限執(zhí)行瀏覽、上傳及修改等操作。
當然,也可以在添加允許授權(quán)規(guī)則窗口中選擇所有用戶、所有匿名用戶、指定的角色或用戶組等對象,為其設(shè)置合理的訪問權(quán)限。
對應地,如果點擊“添加拒絕規(guī)則”鏈接,那么其作用剛好與上述功能相反,可以限制指定的用戶對FTP服務(wù)器的訪問權(quán)限。
在某些情況下,限制FTP服務(wù)器只允許來自特定的IP進行訪問,可以有效防范黑客的襲擾。
首先在IIS管理器中選擇服務(wù)器名(或者選擇具體的FTP主機名),在中部的“FTP”欄中雙擊“FTP IP地址和域限制”項,在彈出界面右側(cè)的“操作”欄中點擊“添加允許條目”鏈接,在彈出窗口中可以輸入單個的IP或者指定的IP范圍,點擊“確定”按保存配置。這樣,當這些IP訪問FTP服務(wù)器時,就可以正常連接了。
對應地,點擊“添加拒絕條目”鏈接,可以設(shè)置禁止訪問本FTP服務(wù)器的IP或者IP范圍。
點擊“編輯功能設(shè)置”鏈接,在彈出窗口中的“未指定的客戶端的訪問權(quán)”列表中,如果選擇“拒絕”項,那么當非允許IP范圍外的主機訪問本FTP服務(wù)器時,將禁止其進行連接。
而如果選擇“允許”項,則情況剛好相反,只要不是禁止列表中的IP,都可以正常訪問本FTP服務(wù)器。如果選擇“啟用域名限制”項,那么在執(zhí)行上述“添加允許條目”和“添加拒絕條目”操作時,可以輸入允許或者禁止的域名信息。
例如,在“添加拒絕限制規(guī)則”窗口中選擇“域名”項,輸入“*.xxx.com”的域名,那么本FTP服務(wù)器將拒絕所有后綴為“xxx.com”的主機訪問操作。
在默認情況下,F(xiàn)TP服務(wù)器是允許所有用戶進行連接的。如果出于安全性的考慮,只針對特定的用戶開放的話,就需要客戶端輸入對應的賬戶名和密碼,來連接FTP服務(wù)器。
在IS8.0中提供了基本身份驗證、匿名身份驗證、摘要式身份驗證和Windows身份驗證。這里以基本身份認證為例進行說明。
在“FTP身份驗證窗口”中選擇“基本身份驗證”項,在右側(cè)點擊“啟用”項,激活該身份驗證方式。當然,這需要管理員在本地安全數(shù)據(jù)庫或者Active Directory數(shù)據(jù)庫中創(chuàng)建好對應的賬戶信息,并針對FTP目錄為不同的賬戶分配不同訪問權(quán)限,同時在“FTP授權(quán)規(guī)則”窗口將其添加進來,客戶端才可以利用對應的賬戶順利訪問FTP服務(wù)器。為了進一步提高安全性,可以使用該種身份驗證方式應該和SSL安全連接配合使用。
在“FTP身份驗證窗口”中選擇“基本身份驗證”項,在右側(cè)點擊“編輯”鏈接,在彈出窗口中的“默認域”欄中輸入特定的域名。這樣FTP服務(wù)器會將客戶端使用的賬戶作為域賬戶對待,將賬戶名和密碼發(fā)送給該域的域控制器進行檢查。當然,前提是FTP服務(wù)器必須加入該域環(huán)境。
為了防止黑客攔截數(shù)據(jù),需要使用安全加密傳輸,來保證數(shù)據(jù)的安全性。
Windows Server 2012中的FTP服務(wù)支持FTP Over SSL工具,允許FTP客戶端使用SSL安全連接與FTP服務(wù)器進行通訊。當然前提是必須為FTP服務(wù)器申請和安裝SSL安全連接證書。常用的證書包括自簽名證書、域證書和第三方證書。
在IIS管理器中選擇FTP服務(wù)器,在窗口中部雙擊“FTP SSL設(shè)置”項,在彈出界面中的“SSL證書”列表中選擇合適的證書,選擇“允許SSL連接”項,表示允許客戶端利用SSL方式來連接本FTP服務(wù)器。
選擇“將128位加密用于SSL連接”項,表示客戶端需要采用128位加密方式。點擊右側(cè)的“應用”鏈接,激活該功能。而如果選擇“需要SSL連接”項,表示客戶端必須使用SSL連接FTP服務(wù)器。
選擇“自定義”項,點擊“高級”按鈕,在高級SSL策略窗口中,可以針對控制通道和數(shù)據(jù)通道,進行合適的調(diào)整操作。
例如,選擇“允許”項,表示允許使用SSL連接,選擇“要求”項,表示必須使用SSL連接。選擇“拒絕”項,表示拒絕SSL連接。選擇“只有憑證才需要”項,表示當客戶端傳送賬戶名和密碼時才使用SSL加密,該功能只針對控制通道發(fā)揮作用。
上述兩個通道針對的是在客戶端和FTP服務(wù)器之間存在防火墻而言的。當激活了SSL加密功能后,客戶端就可以使用CuteFTP等工具來連接SSL FTP服務(wù)器,在傳輸過程中,數(shù)據(jù)就處于加密狀態(tài),可以有效防御黑客的嗅探操作。
一般來說,常用的是Windows Server自帶的防火墻,來保護主機的安全。為了解決該問題,可以在IIS管理器中的“FTP”欄中雙擊“FTP防火墻支持”項,在彈出界面中的“數(shù)據(jù)通道端口范圍”欄中輸入一個端口范圍,例如9 000~9 100等。
這樣,就可以為客戶端和FTP服務(wù)器端的數(shù)據(jù)通道開啟一段端口,讓客戶端和FTP服務(wù)器端可以避開防火墻的限制,自由的傳輸數(shù)據(jù)。當然,還需要在Windows防火墻設(shè)置界面中,來開放這一段端口,才可以達到所需的要求。
如果FTP服務(wù)器位于NAT設(shè)備之后,那么FTP服務(wù)器使用就是私有IP,當在被動模式下服務(wù)器端將自己的IP以及動態(tài)生成連接端口發(fā)送給客戶端時,就會因為外部客戶端主機無法和內(nèi)網(wǎng)IP通訊,造成連接失敗的情況。
為了解決該問題,可以在“FTP防火墻支持”界面中的“防火墻的外部IP地址”欄中設(shè)置防火墻的外部IP,這樣,當FTP服務(wù)器向客戶端發(fā)送數(shù)據(jù)包時,就會自動將數(shù)據(jù)包中FTP服務(wù)器的私有IP替換為防火墻的外部IP,讓客戶端和FTP服務(wù)器的連接可以順利進行。