搭建安全的FTP服務(wù)器(SERV-U SSH)
通過(guò)FTP站點(diǎn)下載文件是目前最常用的傳輸文件方法之一,特別是對(duì)于企業(yè)用戶來(lái)說(shuō),公司建立一個(gè)專門的FTP服務(wù)器提供給員工,讓他們通過(guò)這個(gè)服務(wù)器共享資源是最便利的辦法。不過(guò)作為網(wǎng)絡(luò)管理員的你是否真正了解FTP的安全呢?不要以為設(shè)置個(gè)復(fù)雜的管理員帳戶密碼就可以萬(wàn)事無(wú)憂了,也不要以為將系統(tǒng)安裝上最新的補(bǔ)丁或者選擇最新版SERV-U等FTP搭建工具就可以萬(wàn)無(wú)一失了。今天就由筆者帶領(lǐng)為大家介紹在默認(rèn)情況下FTP站點(diǎn)傳輸數(shù)據(jù)方面的漏洞,當(dāng)然在文中還會(huì)為讀者介紹如何彌補(bǔ)這些漏洞。
一、破解FTP用戶名和密碼
首先我們要知道默認(rèn)情況下FTP站點(diǎn)信息是用明文進(jìn)行傳輸?shù)?,沒(méi)有進(jìn)行任何的加密。也就是說(shuō)當(dāng)用戶登錄FTP站點(diǎn)輸入用戶名和密碼時(shí),這些信息是沒(méi)有加密的。非法用戶可以通過(guò)sniffer等工具將這些信息還原成本來(lái)面目。
實(shí)戰(zhàn):通過(guò)sniffer將FTP站點(diǎn)的用戶名和密碼還原成明文
環(huán)境描述:
公司網(wǎng)絡(luò)中AB兩臺(tái)計(jì)算機(jī)通過(guò)交換機(jī)相互連接到同一個(gè)子網(wǎng),B是員工計(jì)算機(jī),一名員工通過(guò)他訪問(wèn)公司的FTP服務(wù)器,登錄FTP時(shí)使用自己的用戶名和密碼。A是我們安裝了sniffer的計(jì)算機(jī),通過(guò)sniffer我們可以監(jiān)測(cè)出使用B計(jì)算機(jī)的員工訪問(wèn)FTP服務(wù)器的用戶名和密碼。
實(shí)現(xiàn)方法:
第一步:首先在A計(jì)算機(jī)上安裝強(qiáng)大的sniffer工具,并啟動(dòng)該程序。
第二步:在sniffer軟件中通過(guò)上方的“matrix”按鈕啟動(dòng)監(jiān)測(cè)界面。(如圖1)
第三步:打開(kāi)監(jiān)測(cè)界面后我們就可以開(kāi)始監(jiān)測(cè)網(wǎng)絡(luò)中的數(shù)據(jù)包了,通過(guò)菜單欄的“capture->start”啟動(dòng)。
第四步:在檢測(cè)數(shù)據(jù)包窗口中我們點(diǎn)左下角的objects標(biāo)簽,然后選擇station,這樣將把當(dāng)前網(wǎng)絡(luò)中所有通信都顯示在窗口中。(如圖2)
第五步:這時(shí)候如果B計(jì)算機(jī)的員工使用電腦登錄了FTP服務(wù)器,那么我們?cè)趕niffer中點(diǎn)菜單的“capture->stop and display”。
第六步:這里假設(shè)我們FTP服務(wù)器的IP地址為211.154.80.30,那么我們從顯示的地址列表中找到關(guān)于211.154.80.30這個(gè)IP的數(shù)據(jù)包,然后點(diǎn)下方的“DECODE”按鈕進(jìn)行數(shù)據(jù)包再分析。(如圖3)
圖3
第七步:在“DECODE”(反編碼)界面中我們就可以對(duì)關(guān)于211.154.80.30的所有數(shù)據(jù)包進(jìn)行分析了。我們一個(gè)一個(gè)的分析數(shù)據(jù)包,分析到大概第十二個(gè)數(shù)據(jù)包時(shí)出現(xiàn)用戶名信息,我們可以從界面中看到用戶名為softer。
圖4
第八步:繼續(xù)往下看,到了第十四個(gè)數(shù)據(jù)包的時(shí)候就可以看到密碼了,密碼以明文的形式顯示在sniffer中,密碼為pacino。
圖5
至此我們就通過(guò)sniffer工具將員工在FTP服務(wù)器上的用戶名和密碼破解出來(lái),該方法在員工和安裝了sniffer的計(jì)算機(jī)處在同一個(gè)子網(wǎng)的情況下有效。
二、加密FTP站點(diǎn)信息的傳輸
既然知道了FTP服務(wù)器是以明文方式傳輸數(shù)據(jù)的,特別是用戶名和密碼傳輸?shù)陌踩詷O差,信息很容易被盜,雖然FTP提供了SSL加密的功能,不過(guò)默認(rèn)情況下是沒(méi)有啟用的,如大家常用的Serv-U FTP服務(wù)器(簡(jiǎn)稱Serv-U)。所以說(shuō)為了保證傳輸?shù)臄?shù)據(jù)信息不被隨意竊取,有必要啟用SSL功能,提高服務(wù)器數(shù)據(jù)傳輸?shù)陌踩?。我們以Serv-u為例進(jìn)行介紹來(lái)彌補(bǔ)這個(gè)安全缺陷。
小提示:什么是SSL加密協(xié)議?SSL協(xié)議(Secure Socket Layer,安全套接層)是由網(wǎng)景(Netscape)公司推出的一種安全通信協(xié)議,它能夠?qū)π庞每ê蛡€(gè)人信息提供較強(qiáng)的保護(hù)。SSL是對(duì)計(jì)算機(jī)之間整個(gè)會(huì)話進(jìn)行加密的協(xié)議。在SSL中,采用了公開(kāi)密鑰和私有密鑰兩種加密方法。所以使用SSL協(xié)議后我們就可以保證網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)不被非法用戶竊取到了。
(1)安裝Serv-U服務(wù)器
由于安裝Serv-U的文章比較多,所以本文就不詳細(xì)介紹了。(如圖6)安裝完畢后我們要建立一個(gè)FTP服務(wù)器的域并設(shè)置相應(yīng)的用戶名和密碼。
(2)創(chuàng)建SSL證書(shū)
要想使用Serv-U的SSL功能,需要SSL證書(shū)的支持才行。雖然Serv-U在安裝之時(shí)就已經(jīng)自動(dòng)生成了一個(gè)SSL證書(shū),但這個(gè)默認(rèn)生成的SSL證書(shū)在所有的Serv-U服務(wù)器中都是一樣的,非常不安全,所以我 們需要手工創(chuàng)建一個(gè)自己獨(dú)特的SSL證書(shū)。
第一步:在“Serv-U管理員”窗口中,展開(kāi)“本地服務(wù)器->設(shè)置”選項(xiàng),然后切換到“SSL證書(shū)”標(biāo)簽頁(yè)。
第二步:創(chuàng)建一個(gè)新的SSL證書(shū)。首先在“普通名稱”欄中輸入FTP服務(wù)器的IP地址,接著其它欄目的內(nèi)容,如電子郵件、組織和單位等,根據(jù)用戶的情況進(jìn)行填寫(xiě)。
第三步:完成SSL證書(shū)標(biāo)簽頁(yè)中所有內(nèi)容的填寫(xiě)后,點(diǎn)擊下方的“應(yīng)用”按鈕即可,這時(shí)Serv-U就會(huì)生成一個(gè)新的SSL證書(shū)。
(3)啟用SSL功能
雖然為Serv-U服務(wù)器創(chuàng)建了新的SSL證書(shū),但默認(rèn)情況下,Serv-U是沒(méi)有啟用SSL功能的,要想利用該SSL證書(shū),首先要啟用Serv-U的SSL功能才行。
第一步:要啟用Serv-U服務(wù)器中域名為“softer”的SSL功能。在“Serv-U管理員”窗口中,依次展開(kāi)“本地服務(wù)器->域->softer”選項(xiàng)。
第二步:在右側(cè)的“域”管理框中找到“安全性”下拉列表選項(xiàng)。這里Serv-U提供了3種選項(xiàng),分別是“僅僅規(guī)則FTP,無(wú)SSL/TLS進(jìn)程”、“允許SSL/TLS和規(guī)則進(jìn)程”、“只允許SSL/TLS進(jìn)程”,默認(rèn)情況下,Serv-U使用的是“僅僅規(guī)則FTP,無(wú)SSL/TLS進(jìn)程”,因此是沒(méi)有啟用SSL加密功能的。
第三步:在“安全性”下拉選項(xiàng)框種選擇“只允許SSL/TLS進(jìn)程”選項(xiàng),然后點(diǎn)擊“應(yīng)用”按鈕,即可啟用softer域的SSL功能。 (如圖8)
小提示:?jiǎn)⒂昧薙SL功能后,Serv-U服務(wù)器使用的默認(rèn)端口號(hào)就不再是“21”了,而是“990”了,這點(diǎn)在登錄FTP的時(shí)候一定要留意,否則就會(huì)無(wú)法成功連接FTP服務(wù)器。
(4)使用SSL加密連接FTP
啟用Serv-U服務(wù)器的SSL功能后,就可以利用此功能安全傳輸數(shù)據(jù)了,但FTP客戶端程序必須支持SSL功能才行。如果我們直接使用IE瀏覽器進(jìn)行登錄則會(huì)出現(xiàn)圖9顯示的錯(cuò)誤信息,一方面是以為沒(méi)有修改默認(rèn)的端口21為990,另外IE瀏覽器不支持SSL協(xié)議傳輸。
當(dāng)然支持SSL的FTP客戶端程序現(xiàn)在也比較多,筆者以“Flash FXP”程序?yàn)槔?,介紹如何成功連接到啟用了SSL功能的Serv-U服務(wù)器。
第一步:運(yùn)行“FlashFXP”程序后,點(diǎn)擊“會(huì)話->快速連接”選項(xiàng),彈出“快速連接”對(duì)話框,在“服務(wù)器或URL”欄中輸入Serv-U服務(wù)器的IP地址,在“端口”欄中一定要輸入“990”,這是因?yàn)镾erv-U服務(wù)器啟用SSL功能后,端口號(hào)就從“21”變?yōu)?#8220;990”。
第二步:輸入可以正常登錄FTP服務(wù)器的“用戶名”和“密碼”。 (如圖10)
第三步:切換到“SSL”標(biāo)簽頁(yè),選中“絕對(duì)SSL”選項(xiàng),這一步驟是非常關(guān)鍵的,如果不選中“絕對(duì)SSL”,就無(wú)法成功連接到Serv-U服務(wù)器。最后點(diǎn)擊“連接”按鈕。 根據(jù)實(shí)際傳輸情況在絕對(duì)SSL下方的四個(gè)選項(xiàng)進(jìn)行選擇即可。(如圖11)
第四步:當(dāng)用戶第一次連接到Serv-U服務(wù)器時(shí),F(xiàn)lash FXP會(huì)彈出一個(gè)“證書(shū)”對(duì)話框,(如圖12)這時(shí)用戶只要點(diǎn)擊“接受并保存”按鈕,將SSL證書(shū)下載到本地后,就能成功連接到Serv-U服務(wù)器,以后和Serv-U服務(wù)器間的數(shù)據(jù)傳送就會(huì)受到SSL功能的保護(hù),不再是以明文形式傳送,這樣就不用再擔(dān)心FTP賬號(hào)被盜,敏感信息被竊取的問(wèn)題了。在Flash FXP的下方我們也會(huì)看到一個(gè)小鎖的標(biāo)志了,他代表當(dāng)前傳輸是加密安全的傳輸。(如圖13)
圖13
小提示:如果我們僅僅選擇接受則每次登錄FTP時(shí)都會(huì)彈出這個(gè)證書(shū)對(duì)話框。
總結(jié):通過(guò)設(shè)置使用SSL進(jìn)行加密傳輸?shù)腇TP站點(diǎn)就可以有效的保護(hù)自己服務(wù)器上的資源不被別人隨意偷窺了,只有通過(guò)認(rèn)證的用戶才能下載到自己中意的文件資源。而且傳輸過(guò)程中的所有數(shù)據(jù)都是進(jìn)行加密的,網(wǎng)絡(luò)中的其他用戶使用類似sniffer的軟件是無(wú)法將登錄信息還原成明文的,即使能夠獲得傳輸數(shù)據(jù)也是經(jīng)過(guò)加密的,一點(diǎn)價(jià)值也沒(méi)有。