我要投稿
  • 您当前的位置:中国教育资源网 -> 技术教程 -> 服务器网络 -> 服务器教程 -> Web服务器教程 -> 教程内容
  • [ 收藏本页教程 ]
  • 匿名FTP的安全设置Web服务器教程

    教程作者:佚名    教程来源:不详   教程栏目:Web服务器教程    收藏本页

    匿名FTP的設定

    匿名FTP若有正確地設定與管理,將是一項很有價值的服務。這份文件的第一節提供一般

    匿名FTP最起始的設定方式。第二節提出當一個網站要在匿名FTP下提供可寫入目錄區的

    相關議題與面臨的問題。第三節提供CERT以前的FTP 相關Advisories資訊。

    以下的設定方式是由過去許多網站累積的經驗與建議組成。我們認為可以讓有個別

    需求的網站擁有不同設定的選擇。

    I.設定匿名FTP

    A.FTP daemon

    網站必須確定目前使用的是最新版本的FTP daemon。

    B設定匿名FTP的目錄

    匿名ftp的根目錄(~ftp)和其子目錄的擁有者不能為ftp帳號,或與ftp相同群組的帳號。

    這是一般常見的設定問題。假如這些目錄被ftp或與ftp相同群組的帳號所擁有,又沒有

    做好防止寫入的保護,入侵者便可能在其中增加檔案(例如:.rhosts檔)或修改其他檔案

    。許多網站允許使用root帳號。讓

    匿名FTP的根目錄與子目錄的擁有者是root,所屬族群(group)為system,並限定存取權

    (如chmod 0755),如此只有root有寫入的權力,這能幫助你維持FTP服務的安全。

    以下是一個匿名ftp目錄的設定範例:

    drwxr-xr-x 7 root system 512 Mar 1 15:17 ./

    drwxr-xr-x 25 root system 512 Jan 4 11:30 ../

    drwxr-xr-x 2 root system 512 Dec 20 15:43 bin/

    drwxr-xr-x 2 root system 512 Mar 12 16:23 etc/

    drwxr-xr-x 10 root system 512 Jun 5 10:54 pub/

    所有的檔案和程式庫,特別是那些被FTP daemon使用和那些在 ~ftp/bin 與~ftp/etc 中

    的檔案,應該像上面範例中的目錄做相同的保護。這些檔案和程式庫除了不應該被ftp帳

    號或與ftp相同群組的帳號所擁有之外,也必須防止寫入。

    C.使用合適的密碼與群組檔案

    我們強烈建議網站不要使用系統中 /etc/passwd 做為~ftp/etc 目錄中的密碼檔案或將

    系統中 /etc/group 做為 ~ftp/etc目錄中的群組檔案。在~ftp/etc目錄中放置這些檔案

    會使得入侵者取得它們。這些檔案是可自定的而且不是用來做存取控制。

    我們建議你在 ~ftp/etc/passwd 與 ~ftp/etc/group 使用代替的檔案。這些檔案必須由

    root所擁有。DIR命令會使用這代替的檔案來顯示檔案及目錄的擁有者和群組名稱。網站

    必須確定 ~/ftp/etc/passwd檔中沒有包含任何與系統中 /etc/passwd檔中相同的帳號名

    稱。這些檔案應該僅僅包含需要顯示的FTP階層架構中檔案與目錄的擁有者與所屬群組名

    稱。此外,確定密碼欄位是"整理"過的。例如使用「*」來取代密碼欄位。

    以下為cert中匿名ftp的密碼檔案範例

    ssphwg:*:3144:20:Site Specific Policy Handbook Working Group::

    cops:*:3271:20:COPS Distribution::

    cert:*:9920:20:CERT::

    tools:*:9921:20:CERT Tools::

    ftp:*:9922:90:Anonymous FTP::

    nist:*:9923:90:NIST Files::

    以下為cert中匿名ftp的群組檔案範例

    cert:*:20:

    ftp:*:90:

    II..在你的匿名ftp提供可寫入的目錄

    讓一個匿名ftp服務允許使用者儲存檔案是有風險存在的。我們強烈提醒網站不要自動建

    立一個上傳目錄,除非已考慮過相關的風險。CERT/CC的事件回報成員接獲許多使用上傳

    目錄造成非法傳輸版權軟體或交換帳號與密碼資訊的事件。也接獲惡意地將系統檔案灌

    報造成denial of service問題。

    本節在討論利用三種方法來解決這個問題。第一種方法是使用一個修正過的FTP daemon

    。第二個方法是提供對特定目錄的寫入限制。第三種方法是使用獨立的目錄。

    A. 修正過的FTP daemon

    假如你的網站計劃提供目錄用來做檔案上傳,我們建議使用修正過的FTP daemon對檔案

    上傳的目錄做存取的控制。這是避免使用不需要的寫入區域的最好的方法。以下有一些

    建議:

    1.限定上傳的檔案無法再被存取, 如此可由系統管理者檢測後,再放至於適當位置供人下

    載。

    2.限制每個連線的上傳資料大小。

    3.依照現有的磁碟大小限制資料傳輸的總量。

    4.增加登錄記錄以提前發現不當的使用。

    若您欲修改FTP daemon, 您應該可以從廠商那裡拿到程式碼, 或者

    您可從下列地方取得公開的FTP程式原始碼:

    wuarchive.wustl.edu ~ftp/packages/wuarchive-ftpd

    ftp.uu.net ~ftp/systems/unix/bsd-sources/libexec/ftpd

    gatekeeper.dec.com ~ftp/pub/DEC/gwtools/ftpd.tar.Z

    CERT/CC 並沒有正式地對所提到的FTP daemon做檢測、評估或背書。要使用何種FTP da

    emon由每個使用者或組織負責決定,而CERT/CC建議每個機關在安裝使用這些程式之前,

    能做一個徹底的評估。

    B. 使用保護的目錄

    假如你想要在你的FTP站提供上傳的服務, 而你又沒辦法去修改FTP daemon, 我們就可以

    使用較複雜的目錄架構來控制存取。這個方法需要事先規劃並且無法百分之百防止FTP可

    寫入區域遭不當使用, 不過許多FTP站仍使用此方法。

    為了保護上層的目錄(~ftp/incoming), 我們只給匿名的使用者進入目錄的權限(chmod

    751 ~ftp/incoming)。這個動作將使得使用者能夠更改目錄位置(cd),但不允許使用者

    檢視目錄內容。Ex:

    drwxr-x--x 4 root system 512 Jun 11 13:29 incoming/

    在~ftp/incoming使用一些目錄名只讓你允許他們上傳的人知道。為了要讓別人不易猜到

    目錄名稱, 我們可以用設定密碼的規則來設定目錄名稱。請不要使用本文的目錄名稱範

    例(避免被有心人士發現您的目錄名, 並上傳檔案)

    drwxr-x-wx 10 root system 512 Jun 11 13:54 jAjwUth2/

    drwxr-x-wx 10 root system 512 Jun 11 13:54 MhaLL-iF/

    很重要的一點是,一旦目錄名被有意無意的洩漏出來, 那這個方法就沒什麼保護作用。



    只要目錄名稱被大部分人知道, 就無法保護那些要限定使用的區域。假如目錄名被大家

    所知道, 那你就得選擇刪除或更改那些目錄名。

    C. 只使用一顆硬碟:

    假如你想要在你的FTP站提供上傳的服務, 而你又沒辦法去修改FTP daemon,

    您可以將所有上傳的資料集中在同一個掛(mount)在~ftp/incoming上的檔案系統。可以

    的話,將一顆單獨的硬碟掛(mount)在~ftp/incoming上。系統管理者應持續檢視這個目錄

    (~ftp/incoming), 如此便可知道開放上傳的目錄是否有問題。

    我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.chinesejy.com All Rights Reserved.中国教育资源网 版权所有  
     
    浙ICP备06010405号