Solaris 架设FTP虚拟系统( 二 )


libbsm.so.1
libc.so.1
libcmd.so.1
libcrypt_i.so.1
libdl.so.1
libgen.so.1
libmp.so.1
libmp.so.2
libnsl.so.1
libsocket.so.1
nss_files.so.1

从"/usr/bin"拷贝下列档案至"/vs/usr/bin"
*ls

从"/usr/sbin"拷贝下列档案至"/vs/usr/sbin"
*in.ftpd (FTP伺服器程式)
*inetd (Internet Super Daemon)

(4)"虚拟系统"中的"/dev"与"/devices"目录
作"/dev"、"/devices"的tar档 。
tar -cf /dev.tar /dev /devices

将tar档解至"/vs"目录下 。
tar -xf /dev.tar /vs

删除tar档
rm /dev.tar

(5)启动服务
chroot /vs /usr/sbin/inetd -s
此步骤须注意是否关闭原始系统中inetd.conf的ftp选项 , 否则无法正常启动 。

4.结语
有人或许会问 , anonymous ftp本身就有做chroot的动作 , 为何还要自己做一个虚拟
系统呢? 事实上 , FTP服务若有漏洞 , 入侵者可透过漏洞取得root权限 , 此时anonymous
ftp的chroot未必会被执行 , 若未执行chroot , 那整个系统就暴露在入侵者眼前 , 但若你
做了虚拟系统 , 将强制使用者连线时已在虚拟系统中 , 即使入侵者透过漏洞取得root
权限 , 亦会被限制於虚拟系统中 , 将难以破坏原本的系统 , 如此可将系统损害降低 。
至於其它的服务如何在虚拟系统中启动 , 方法与步骤是相似的 , 有问题欢迎来信讨论
, 请寄至twcert@cert.org.tw 。

推荐阅读