• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    關于ftp服務程序中不安全因素研究

    發布時間:  2012/8/14 11:21:08
     FTP(File Tranfer Protocol)是一種很古老的協議來的了,自unix始就一直有使用的了,FTP因為本身不但可以提供多用戶同時下載的功能外,還可以讓用戶上載文件,在不斷的發展中,還可以使用ftp遠程執行命令,由于FTP一般需要帳戶和密碼的,而且對于不同的帳戶可提供不同的權限,由于這么多的功能,所以一直至今還是相當流行的。不過,以下我會說說FTP服務程序很可能出現的安全方面的問題。

    FTP的連接一般是有兩個連接的,一個是客戶程和服務器傳輸命令的,另一個是數據傳送的連接。FTP服務程序一般會支持兩種不同的模式,一種是Port模式,一種是Passive模式(Pasv Mode),我先說說這兩種不同模式連接方式的分別。

    先假設客戶端為C,服務端為S.

    Port模式:

    當客戶端C向服務端S連接后,使用的是Port模式,那么客戶端C會發送一條命令告訴服務端S(客戶端C在本地打開了一個端口N在等著你進去數據連接),當服務端S收到這個Port命令后,就會向客戶端打開的那個端口N進行連接,這種數據連接就生成了。

    Pasv模式:

    當客戶端C向服務端S連接后,服務端S會發信息給客戶端C,這個信息是(服務端S在本地打開了一個端口M,你現在去連接我吧),當客戶端C收到這個信息后,就可以向服務端S的M端口進行連接,連接成功后,數據連接也建立了。

    從上面的解釋中,大家應該可以看到兩種模式主要的不同是數據連接建立的不同,對于Port模式,是客戶端C在本地打開一個端口等服務端S去連接建立數據連接;而Pasv模式就是服務端S打開一個端口等待客戶端C去建立一個數據連接。

    兩種模式看起來其實都是沒什么問題,但其實都是隱藏著安全方面的問題的。

    對于Port模式,這種模式多是用于因為服務端有防火墻,無法使用Pasv在服務端打開端口讓客戶端去連接而被逼使用的,但由于連接本身是由服務端本身向外連接的,這本身就存在了一個安全的問題了,因為如果這個連接一旦被hijack,由于連接是由服務器本身向外連的,防火墻將不會有任何動作去處理這個連接。

    對于Pasv模式,看起來是比Port模式安全很多不過認真想一想的話,還是會發現它本身的問題的。由于服務端會打開一個端口等客戶端去連接,但如果這個打開的端口并沒有檢測連接的IP是否那個是那個客戶端的IP,那么安全問題的出現了。因為有很多FTP服務器打開的數據端口等客戶端連接是隨機的,但都會在一定范圍內的,例如是20000-21000這些端口間。如果FTP服務器并沒有在接收數據端口的連接時檢測連接過來的 IP是不是已經是合法登陸的用戶的話,那么其他并沒有登陸的用戶就很有機會寫程序hijack這個連接了。以下給一個例子說明一下:

    服務端S接收到客戶端C(IP=12.12.12.12)的命令連接使用的是Pasv模式,服務端S打開了端口20000等待數據連接,在這時,一位黑客(IP=11.11.11.11)掃描了服務端S的20000到20100的端口,發現了20000端口打開了,馬上就連接上去服務端S的20000這個端口了。在這情況中,如果服務端S并沒有檢測11.11.11.11這個IP是不是合法登陸的用戶的IP的話,那么真正的客戶端C的數據連接就被人 hijack了,如果客戶端C發送給服務端S的命令是下載某個文件的話,那么那個文件只會發送到那個黑客中去了。這種情況下,黑客可以是隨機掃描并 hijack到不同的連接,或者可以同時對那些端口不停的連接,那么合法用戶的連接就會很多被hijack了,hijack后黑客會做什么,那就視乎那位黑客的能力和想做什么了。

    解決:

    對于Port模式,由于那是FTP本身的問題,所以沒有什么解決的好方法。或者可以的話,只是允許Pasv模式而不允許Port模式。

    對于Pasv模式,只要在接收到數據連接時檢測IP是不是合法用戶的請求,就可以避免連接被hijack的問題。

    以上hijack連接的都屬于比較高級的"黑客"才有機會實現的,因為對于不同的FTP服務程序是有所不同的,而且一般是需要自己先研究過那個FTP服務程序然后再寫程序才有可能實現的。以下說說一般用戶都可以因為寫FTP服務程序對于安全的不注重而進行通過FTP而入侵到系統的問題。

    這個問題其實平時都是很常見的了,一般都是對于用戶登入FTP后可以跳轉到的目錄的權限限制問題。

    很多用過的FTP程序(最基本的FTP服務,只提供上傳,下載,連用戶名和密碼都不需要那種),如anonymouse ftp(aftp)那類,根本不會限制登陸用戶可以跳轉到的目錄,就是說登入的用戶可以隨意查看系統不同目錄的文件,下載不同目錄的文件或者上傳文件到任何目錄中去的,可以下載任何文件或上傳任何文件到任何目錄,這問題有多嚴重,我也不需要說了吧。

    有的FTP程序,雖然提供了用戶名和密碼,但一樣沒有對于用戶可訪問目錄進行任何限制,xfocus的出品,xftpd就是一個很好的例子,用戶登入后,一樣是可以上面所說的,用戶可 以下載系統任何文件或上傳任何文件到任何目錄中去的。

    有的FTP,就是對于要限制可訪問的目錄的檢測不夠全面,導致登入用戶可以使用一些特殊的字符而可以訪問到限制訪問的目錄中去。好的一個例子就是舊版的 slimftpd了。這種情況一般稱為"Directory Traveling Vulnerability",很多舊版的共享的FTP服務程序都曾存在過這些問題的。

    如果你要建立一個FTP服務器,我可以給的建議就是選擇一個比較穩定和安全的FTP程序(當然可以考慮自己寫的),然后在真正投入使用前對于上面所提及到的安全問題都自己檢測一下,如果是自己寫的話可以發布些免費版本(不是全功能的)給用戶去測試一下,測試沒問題后再投入正式使用。

    上面所寫都是在和朋友開發FTP服務程序時研究FTP協議時看到或在測試時的一些小心得,錯漏的地方也是難免的,如果看到有什么錯誤的地方可以跟貼指出。


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線