通過FTP站點下載文件是目前最常用的傳輸文件方法之一,特別是對於企業用戶來說,公司建立一個專門的FTP服務器提供給員工,讓他們通過這個服務器共享資源是最便利的辦法。不過作為網絡管理員的你是否真正瞭解FTP的安全呢?不要以為設置個複雜的管理員帳戶密碼就可以萬事無憂了,也不要以為將系統安裝上最新的補丁或者選擇最新版SERV-U等FTP搭建工具就可以萬無一失了。今天就由筆者帶領為大家介紹在默認情況下FTP站點傳輸數據方面的漏洞,當然在文中還會為讀者介紹如何彌補這些漏洞。
  一、破解FTP用戶名和密碼

  首先我們要知道默認情況下FTP站點信息是用明文進行傳輸的,沒有進行任何的加密。也就是說當用戶登錄FTP站點輸入用戶名和密碼時,這些信息是沒有加密的。非法用戶可以通過sniffer等工具將這些信息還原成本來面目。

  實戰:通過sniffer將FTP站點的用戶名和密碼還原成明文

  環境描述:

  公司網絡中AB兩台計算機通過交換機相互連接到同一個子網,B是員工計算機,一名員工通過他訪問公司的FTP服務器,登錄FTP時使用自己的用戶名和密碼。A是我們安裝了sniffer的計算機,通過sniffer我們可以監測出使用B計算機的員工訪問FTP服務器的用戶名和密碼。

  實現方法:

  第一步:首先在A計算機上安裝強大的sniffer工具,並啟動該程序。

  第二步:在sniffer軟件中通過上方的「matrix」按鈕啟動監測界面。

  第三步:打開監測界面後我們就可以開始監測網絡中的數據包了,通過菜單欄的「capture->start」啟動。

  第四步:在檢測數據包窗口中我們點左下角的objects標籤,然後選擇station,這樣將把當前網絡中所有通信都顯示在窗口中。

  第五步:這時候如果B計算機的員工使用電腦登錄了FTP服務器,那麼我們在sniffer中點菜單的「capture->stop and display」。

  第六步:這裡假設我們FTP服務器的IP地址為211.154.80.30,那麼我們從顯示的地址列表中找到關於211.154.80.30這個IP的數據包,然後點下方的「DECODE」按鈕進行數據包再分析。

  第七步:在「DECODE」(反編碼)界面中我們就可以對關於211.154.80.30的所有數據包進行分析了。我們一個一個的分析數據包,分析到大概第十二個數據包時出現用戶名信息,我們可以從界面中看到用戶名為softer。

  第八步:繼續往下看,到了第十四個數據包的時候就可以看到密碼了,密碼以明文的形式顯示在sniffer中,密碼為pacino。

  至此我們就通過sniffer工具將員工在FTP服務器上的用戶名和密碼破解出來,該方法在員工和安裝了sniffer的計算機處在同一個子網的情況下有效。

  二、加密FTP站點信息的傳輸

  既然知道了FTP服務器是以明文方式傳輸數據的,特別是用戶名和密碼傳輸的安全性極差,信息很容易被盜,雖然FTP提供了SSL加密的功能,不過默認情況下是沒有啟用的,如大家常用的Serv-U FTP服務器(簡稱Serv-U)。所以說為了保證傳輸的數據信息不被隨意竊取,有必要啟用SSL功能,提高服務器數據傳輸的安全性。我們以Serv-u為例進行介紹來彌補這個安全缺陷。

  小提示:什麼是SSL加密協議?SSL協議(Secure Socket Layer,安全套接層)是由網景(Netscape)公司推出的一種安全通信協議,它能夠對信用卡和個人信息提供較強的保護。SSL是對計算機之間整個會話進行加密的協議。在SSL中,採用了公開密鑰和私有密鑰兩種加密方法。所以使用SSL協議後我們就可以保證網絡中傳輸的數據不被非法用戶竊取到了。

  (1)安裝Serv-U服務器

  由於安裝Serv-U的文章比較多,所以本文就不詳細介紹了。(如圖6)安裝完畢後我們要建立一個FTP服務器的域並設置相應的用戶名和密碼。

  (2)創建SSL證書

  要想使用Serv-U的SSL功能,需要SSL證書的支持才行。雖然Serv-U在安裝之時就已經自動生成了一個SSL證書,但這個默認生成的SSL證書在所有的Serv-U服務器中都是一樣的,非常不安全,所以我 們需要手工創建一個自己獨特的SSL證書。

  第一步:在「Serv-U管理員」窗口中,展開「本地服務器->設置」選項,然後切換到「SSL證書」標籤頁。

  第二步:創建一個新的SSL證書。首先在「普通名稱」欄中輸入FTP服務器的IP地址,接著其它欄目的內容,如電子郵件、組織和單位等,根據用戶的情況進行填寫。

  第三步:完成SSL證書標籤頁中所有內容的填寫後,點擊下方的「應用」按鈕即可,這時Serv-U就會生成一個新的SSL證書。

  (3)啟用SSL功能

  雖然為Serv-U服務器創建了新的SSL證書,但默認情況下,Serv-U是沒有啟用SSL功能的,要想利用該SSL證書,首先要啟用Serv-U的SSL功能才行。

  第一步:要啟用Serv-U服務器中域名為「softer」的SSL功能。在「Serv-U管理員」窗口中,依次展開「本地服務器->域->softer」選項。

  第二步:在右側的「域」管理框中找到「安全性」下拉列表選項。這裡Serv-U提供了3種選項,分別是「僅僅規則FTP,無SSL/TLS進程」、「允許SSL/TLS和規則進程」、「只允許SSL/TLS進程」,默認情況下,Serv-U使用的是「僅僅規則FTP,無SSL/TLS進程」,因此是沒有啟用SSL加密功能的。

  第三步:在「安全性」下拉選項框種選擇「只允許SSL/TLS進程」選項,然後點擊「應用」按鈕,即可啟用softer域的SSL功能。

  小提示:啟用了SSL功能後,Serv-U服務器使用的默認端口號就不再是「21」了,而是「990」了,這點在登錄FTP的時候一定要留意,否則就會無法成功連接FTP服務器。

  (4)使用SSL加密連接FTP

  啟用Serv-U服務器的SSL功能後,就可以利用此功能安全傳輸數據了,但FTP客戶端程序必須支持SSL功能才行。如果我們直接使用IE瀏覽器進行登錄則會出現圖9顯示的錯誤信息,一方面是以為沒有修改默認的端口21為990,另外IE瀏覽器不支持SSL協議傳輸。

  當然支持SSL的FTP客戶端程序現在也比較多,筆者以「Flash FXP」程序為例,介紹如何成功連接到啟用了SSL功能的Serv-U服務器。

  第一步:運行「FlashFXP」程序後,點擊「會話->快速連接」選項,彈出「快速連接」對話框,在「服務器或URL」欄中輸入Serv-U服務器的IP地址,在「端口」欄中一定要輸入「990」,這是因為Serv-U服務器啟用SSL功能後,端口號就從「21」變為「990」。

  第二步:輸入可以正常登錄FTP服務器的「用戶名」和「密碼」。

  第三步:切換到「SSL」標籤頁,選中「絕對SSL」選項,這一步驟是非常關鍵的,如果不選中「絕對SSL」,就無法成功連接到Serv-U服務器。最後點擊「連接」按鈕。 根據實際傳輸情況在絕對SSL下方的四個選項進行選擇即可。

  第四步:當用戶第一次連接到Serv-U服務器時,Flash FXP會彈出一個「證書」對話框,(如圖12)這時用戶只要點擊「接受並保存」按鈕,將SSL證書下載到本地後,就能成功連接到Serv-U服務器,以後和Serv-U服務器間的數據傳送就會受到SSL功能的保護,不再是以明文形式傳送,這樣就不用再擔心FTP賬號被盜,敏感信息被竊取的問題了。在Flash FXP的下方我們也會看到一個小鎖的標誌了,他代表當前傳輸是加密安全的傳輸。

  小提示:如果我們僅僅選擇接受則每次登錄FTP時都會彈出這個證書對話框。

  總結:通過設置使用SSL進行加密傳輸的FTP站點就可以有效的保護自己服務器上的資源不被別人隨意偷窺了,只有通過認證的用戶才能下載到自己中意的文件資源。而且傳輸過程中的所有數據都是進行加密的,網絡中的其他用戶使用類似sniffer的軟件是無法將登錄信息還原成明文的,即使能夠獲得傳輸數據也是經過加密的,一點價值也沒有。
arrow
arrow
    全站熱搜

    Neo Chao 發表在 痞客邦 留言(0) 人氣()