一:FTP的安全問(wèn)題:
(1)建立/etc/ftpusers文件,列入此文件中的用戶不能使用ftp服務(wù),考慮安全性該文
件中應(yīng)包括root,uucp用戶。
(2)solaris系統(tǒng)中默認(rèn)時(shí)無(wú)/etc/Shells文件,這就為黑客創(chuàng)造了條件,這時(shí)用戶可以
用任何shell訪問(wèn)系統(tǒng)的ftp服務(wù),如不存在時(shí)應(yīng)考慮建立該文件。
二:自動(dòng)登錄:
如需使用FTP提供的自動(dòng)登錄功能需產(chǎn)生一個(gè)名為.netrc的文件,該文件位與用戶的home
目錄中,.netrc文件的權(quán)限要設(shè)置為600。 文件格式如下:
machine hostname | default login login_id passWord password macdef macfilename
例:machine zzft login test password test
defalut login test password test1
第一行使用戶test自動(dòng)登錄到主機(jī)zzft上建立ftp會(huì)話;第二行準(zhǔn)許zzft使用默認(rèn)的帳號(hào)登
錄到其他服務(wù)器上。
三:對(duì)于 Anonymous FTP 的用戶, in.ftpd 限定了該用戶的一些使用權(quán)限.
要建立一個(gè)Anonymous FTP, 建議按下列的步驟來(lái)設(shè)置.
1. 建立一個(gè) Anonymous FTP 的 home directory. 這個(gè)目錄是Anonymous
FTP 的根目錄, 所有 Anonymous 所能存取的文件,都在這個(gè)目錄以下.
假設(shè)這個(gè)目錄為 ~ftp (例如建立在 /export/ftp). 這個(gè)目錄的屬主需為 root, 且對(duì)任何
人都不能有寫(xiě)的權(quán)限.
2. 建立 ~ftp/bin 這個(gè)目錄是用來(lái)放 Anonymous 所能使用的命令. 一般 來(lái)說(shuō), 放入 ls
和 pwd 即可.這個(gè)目錄的屬主需為 root, 且對(duì)任何人 都不能有寫(xiě)的權(quán)限. 目錄內(nèi), 文件的
mod 需為 111.(ex. %chmod 111 * )
3. 建立 ~ftp/usr/lib 這個(gè)目錄是用來(lái)存放當(dāng) Anonymous 用戶在使用 FTP時(shí),所會(huì)使用到
的 library. 這個(gè)目錄的屬主需為 root, 且對(duì)任何人 都不能有寫(xiě)的權(quán)限. 你可以把存在
/usr/lib 的下列文件拷貝到這個(gè)目錄內(nèi).
ld.so.1*
libc.so.1*
libdl.so.1*
libmp.so.2*
libnsl.so.1*
libsocket.so.1*
nss_compat.so.1*
nss_dns.so.1*
nss_files.so.1*
nss_nis.so.1*
nss_nisplus.so.1*
nss_xfn.so.1* #沒(méi)有這個(gè)文件可忽略
straddr.so* straddr.so.2*
4. 建立 ~ftp/etc 這個(gè)目錄是用來(lái)存放 FTP 用戶及權(quán)限.這個(gè)目錄的 屬主需為 root, 且
對(duì)任何人都不能有寫(xiě)的權(quán)限. 你可以把 /etc/passwd /etc/group 以及 /etc/netconfig 拷
貝到這個(gè)目錄中. 并且修改 passwd及 group. 在 passwd 這個(gè)檔中, 你只需留
root,daemon,uucp,ftp這幾個(gè) user. 內(nèi)容 如下: (請(qǐng)按自己的環(huán)境設(shè)置)
root:x:0:1:Super-User::
daemon:x:1:1:::
uucp:x:5:5:uucp Admin::
ftp:x:30000:400:Anonymous FTP::
在 group 進(jìn)個(gè)檔中, 你只需留必需的 group . 如 other (root,daemon的 group),
uucp (uucp 的 group),ftp (ftp 的group). 內(nèi)容如下: (請(qǐng)按自 己的環(huán)境設(shè)置)
other::1:
uucp::5:root,uucp
ftp::400:
5. 建立 ~ftp/pub 這個(gè)目錄是給 Anonymous 存取文件的地方, 也就是一般 我們用
Anonymous FTP 時(shí), 所可以 download file 的地方. 此目錄的擁有 者為 ftp 的理者.
而其 mod 需設(shè)為 755.
6. 建立 ~ftp/dev 這個(gè)目錄是當(dāng)Anonymous FTP用戶在執(zhí)行指令行, 所需用 到的裝置. 要
建立這些裝置, 要先以 ls -lL 來(lái)看下列四個(gè)裝置的屬性.
/dev/zero
/dev/tcp
/dev/udp
/dev/ticotsord
然后再利用 mknod , 在 ~ftp/dev 內(nèi)建立這四個(gè)裝置.
例如:
% ls -lL /dev/zero
crw-rw-rw- 1 root root 13, 12 Feb 19 15:00 /dev/zero ^^^ ^^^ ^^^ ^^^^ 則建立
zero 這個(gè) device 的方法為
% mknod zero c 13 12
建立好了之后, 必需將其 mod 設(shè)為 666 才不會(huì)產(chǎn)生 "permission denied" 的錯(cuò)誤息.
7. 建立 ~ftp/usr/share/lib/zoneinfo 這個(gè)目錄是讓 Anonymous 在使用 ls -l 時(shí), 會(huì)顯
示出正確的時(shí)間及日期. 需將其 mod 設(shè)為 555
8. in.ftpd 利用 pam 來(lái)對(duì)用戶做 認(rèn)證,計(jì)費(fèi)管理及session的管理. pam的設(shè)置檔存放在
/etc/pam.conf .你必需把以下三行加入 pam.conf這個(gè)文件里頭.
ftp auth required /usr/lib/security/pam_unix.so.1
ftp account required /usr/lib/security/pam_unix.so.1
ftp session required /usr/lib/security/pam_unix.so.1
9. 最后, 要設(shè)置 Anonymous FTP 的步驟, 就是開(kāi)一個(gè) Anonymous 的帳號(hào). 假設(shè)
Anonymous FTP 的 root 為 /export/ftp . 則你必需在 /etc/passwd 中加入以下這一行:
ftp:x:30000:30000:Anonymous FTP:/export/ftp:/nosuchshell
并且, 在 /etc/shadow 中加入以下這行: ftp:NP:6445::::::
加好了以后, 你就可以用 Anonymous 來(lái)做 FTP 了.....
如果你要一開(kāi)放一個(gè) incoming 區(qū), 可以按下列的方式做.
1. 建立一個(gè) ~ftp/incoming 的目錄, 屬主為 root , group 為 ftp 的 group
2. 將 upload 的 mod 設(shè)為 777 即可.
除將PUB目錄設(shè)為755其余設(shè)為555
四:FTP的問(wèn)題
(1)修改超時(shí)時(shí)間的方法是編輯/etc/inetd.conf文件。
原文件:ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd
修改后:ftp stream tcp nowait root /usr/sbin/in.ftpd -t3600 in.ftpd
必須向inetd進(jìn)程發(fā)SIGHUP信號(hào)重新啟動(dòng)
(2)無(wú)法用mput一次傳送多個(gè)文件使用glob命令打開(kāi)文件名擴(kuò)展的功能:
ftp>glob
Globbing truned off
ftp>glob
Globbing truned on
(3)FTP的調(diào)試開(kāi)關(guān)-d或在ftp>下執(zhí)行debug,會(huì)顯示會(huì)話中交換ftp消息及消息的傳遞方向。