|
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 daemon 由每個使用者或組織負責決定,而CERT/CC建議每個機關在安裝使用這些程序之前, 能做一個徹底的評估。
B. 使用保護的目錄
假如你想要在你的FTP站提供上傳的服務, 而你又沒辦法去修改FTP daemon, 我們就可以使用較復雜的目錄架構來控制存取。這個方法需要事先規(guī)劃并且無法百分之百防止FTP可寫入區(qū)域遭不當使用, 不過許多FTP站仍使用此方法。
為了保護上層的目錄(~ftp/incoming), 我們只給匿名的使用者進入目錄的權限(chmod 751~ftp/incoming)。這個動作將使得使用者能夠更改目錄位置(cd),但不允許使用者檢視目錄內容。Ex:
drwxr-x--x 4 root system 512 Jun 11 13:29 incoming/
在~ftp/incoming使用一些目錄名只讓你允許他們上傳的人知道。為了要讓別人不易猜到目錄名稱, 我們可以用設定密碼的規(guī)則來設定目錄名稱。請不要使用本文的目錄名稱范例(避免被有心人士發(fā)現您的目錄名, 并上傳文件)
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/
很重要的一點是,一旦目錄名被有意無意的泄漏出來, 那這個方法就沒什么保護作用。只要目錄名稱被大部分人知道, 就無法保護那些要限定使用的區(qū)域。假如目錄名被大家所知道,那你就得選擇刪除或更改那些目錄名。
C. 只使用一顆硬盤:
假如你想要在你的FTP站提供上傳的服務, 而你又沒辦法去修改FTP daemon,您可以將所有上傳的資料集中在同一個掛(mount)在~ftp/incoming上的文件系統(tǒng)?梢缘脑 ,將一顆單獨的硬盤掛(mount)在~ftp/incoming上。系統(tǒng)管理者應持續(xù)檢視這個目錄(~ftp/incoming), 如此便可知道開放上傳的目錄是否有問題。
限制FTP用戶目錄
匿名FTP可以很好地限制用戶只能在規(guī)定的目錄范圍內活動,但正式的FTP用戶默認不會受到這種限制,這樣,他可以自由在根目錄、系統(tǒng)目錄、其他用戶的目錄中讀取一些允許其他用戶讀取的文件。
如何才能把指定的用戶象匿名用戶一樣限制在他們自己的目錄中呢?以下我們以red hat和wu-ftp為例做一介紹。
1 創(chuàng)建一個組,用groupadd命令,一般可以就用ftp組,或者任何組名.
-----相關命令: groupadd ftpuser
-----相關文件: /etc/group
-----相關幫助: man groupadd
2 創(chuàng)建一個用戶,如testuser,建立用戶可用adduser命令.如果你已在先前建立了 testuser這個用戶,可以直接編輯/etc/passwd文件,把這個用戶加入到ftpuser這個組中.
-----相關命令: adduser testuser -g ftpuser
-----相關文件: /etc/passwd
-----相關幫助: man adduser
3 修改/etc/ftpaccess文件,加入guestgroup的定義: guestgroup ftpuser我是這樣改的,加的是最后5行
compress yes all
tar yes all
chmod no anonymous
delete no anonymous
overwrite no anonymous
rename no anonymous
chmod yes guest
delete yes guest
overwrite yes guest
rename yes guest
guestgroup ftpuser
除了加 guestgroup ftpuser 這行,其他4行也要加上,否則用戶登陸后,雖然可以達到用戶不能返回上級目錄的目的,但是卻只能上傳,不能覆蓋、刪除文件!
-----相關命令: vi /etc/ftpaccess
-----相關文件: /etc/ftpaccess
-----相關幫助: man ftpaccess,man chroot
4 向這個用戶的根目錄下拷貝必要的文件,拷貝ftp server自帶的目錄,把 /home/ftp/下的Bin,lib兩個目錄拷貝到這個用戶的根目錄下,因為一些命令(主要是ls)需要Lib支持,否則不能列目錄和文件. |
【收藏】【打印】【進入論壇】 |
|
|
|
|
|
|
|