常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

使用Jail构建安全的Vsftpd【原创】

 
发表新文章   这个论题已经被锁定,您不能发表、回复或者编辑文章。    FreeBSD China -> 安装-配置-优化-安全
阅读上一个主题 :: 阅读下一个主题  
作者 留言
三轮车夫
半仙


注册时间: 2003-03-04
文章: 103
来自: 无锡.江苏

文章发表于: Wed 2003-06-25 10:35:52    发表主题: 使用Jail构建安全的Vsftpd【原创】 引用并回复

代码:
               使用Jail构建安全的Vsftpd
                 作者:★可乐∮(三轮车夫,easypp)
                  QQ:223480 MSN:easy2go@msn.com
版权声明:本文版权归★可乐∮(三轮车夫,easypp)所有,如需转载,请保留该声明,谢谢!
  vsftpd有一些小小的缺点,就是一般是用系统的帐号进行用户的验证!虽然vsftpd在安全方面非常不错,但是和系统的帐号分离,这样你对你的服务器安全更加放心。我现在通过FreeBSD下面的jail来实现vsftpd和系统的帐号分离!这样不仅可以轻松的管理ftp服务器,而且不必担心因为ftp的安全问题而导致你系统的安全隐患!

  软件需求:
      FreeBSD 4.8 Stable(Release也可以)  vsftpd-1.2.0(可以到vsftpd的官方网站下载)
  环境介绍:
      FreeBSD 4.8 Stable
      Ip: 10.0.1.1   hostname:powerbsd.org
下面是我机器的一些信息:
powerbsd<Time:9:43am>[/]-root->ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
           inet 10.0.1.1 netmask 0xff000000 broadcast 10.255.255.255
           ether 00:60:67:76:fb:13
           media: Ethernet autoselect (100baseTX <full-duplex>)
           status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
           inet 127.0.0.1 netmask 0xff000000
powerbsd<Time:9:43am>[/]-root->hostname
powerbsd.org
powerbsd<Time:9:43am>[/]-root->uname -a
FreeBSD powerbsd.org 4.8-STABLE FreeBSD 4.8-STABLE #7: Mon Jun 23 08:57:32 CST 2003     root@powerbsd.org:/usr/src/sys/compile/PowerBSD  i386
OK,下面开始我们的jail之旅:
1.   安装vsftpd
a)   tar zxvf vsftpd-1.2.0.tar.gz
b)   cd vsftpd-1.2.0
c)   make
d)   cp vsftpd /sbin
e)   cp vsftpd.conf /etc
f)   mkdir /var/ftp
g)   mkdir /usr/share/empty
h)   pw groupadd ftp
i)   pw useradd ftp �Cd /var/ftp �Cg ftp �Cs /nonexistent
j)   编辑/etc/vsftpd.conf 在最后添加上: listen=YES
k)   测试vsftpd是不是正常,启动vsftpd:/sbin/vsftpd &  然后使用ftp �Ca 10.0.1.1 下面是我测试的信息:
powerbsd<Time:9:50am>[/source/src]-root->ftp -a 10.0.1.1
Connected to 10.0.1.1.
220 (vsFTPd 1.2.0)
331 Please specify the password.
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
   2.构建jail环境
         a) 建立jail的目录环境:
mkdir-p /jail/{bin,sbin,etc,dev,var/log,var/ftp,usr/bin,usr/sbin/,usr/lib,usr/libexec,usr/share/empty}
         b) 查看vsftpd需要哪些运行库
powerbsd<Time:9:55am>[/jail/etc]-root->ldd /sbin/vsftpd
/sbin/vsftpd:
        libpam.so.1 => /usr/lib/libpam.so.1 (0x28076000)
        libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x28080000)
        libutil.so.3 => /usr/lib/libutil.so.3 (0x28099000)
        libc.so.4 => /usr/lib/libc.so.4 (0x280a2000)
         c)建立vsftpd在jail下运行环境:
            cp /usr/lib/libpam.so.1 /jail/usr/lib/
cp /usr/lib/libcrypt.so.2 /jail/usr/lib/
cp /usr/lib/libutil.so.3 /jail/usr/lib/
cp /usr/lib/libc.so.4 /jail/usr/lib/
cp /dev/MAKEDEV* /jail/dev/
sh /jail/dev/MAKEDEV jail
cp /sbin/vsftpd /jail/sbin/vsftpd
cp /etc/vsftpd.conf /jail/etc/
cp /etc/passwd /jail/etc
cp /etc/group /jail/etc
cp /etc/master.passwd /jail/etc
cp /etc/pwd.db /jail/etc
cp /etc/spwd.db /jail/etc
           d)运行jail测试:
            killall vsftpd
            jail -u root /jail/ powerbsd.org 10.0.1.1 /sbin/vsftpd &
            出现错误的提示:ELF interpreter /usr/libexec/ld-elf.so.1 not found
            cp /usr/libexec/ld-elf.so.1 /jail/usr/libexec/
再次运行:jail -u root /jail/ powerbsd.org 10.0.1.1 /sbin/vsftpd 没有出现任何出错的信息!Ctrl+C终止
运行:jail -u root /jail/ powerbsd.org 10.0.1.1 /sbin/vsftpd &
netstat -na
可以看到:
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp4       0      0  10.0.1.1.21            *.*                    LISTEN
使用ps auxww | grep vsftpd
root       455  0.0  0.2  1132  628  p0  IJ    8:31下午   0:00.01 /sbin/vsftpd(IJ表示是在jail环境中运行)
ftp -a 10.0.1.1 测试通过!
2.   可以在jail下面进行用户的管理:
cp /bin/ls /jail/bin
cp /bin/mkdir /jail/bin
cp /bin/rmdir /jail/bin
cp /bin/sh /jail/bin
cp /bin/csh /jail/bin
cp /usr/sbin/pw /jail/usr/sbin
cp /usr/lib/libcrypt.so.2 /jail/usr/lib/
cp /usr/sbin/pwd_mkdb /jail/usr/sbin/
cp /usr/sbin/vipw /jail/usr/sbin/
cp /usr/bin/chgrp /jail/usr/bin/
cp /usr/sbin/chown /jail/usr/sbin/
cp /bin/chmod /jail/bin/
cp adduser.conf /jail/etc/
cp adduser.message /jail/etc/
cp /usr/bin/passwd /jail/usr/bin/
cp /usr/lib/librpcsvc.so.2 /jail/usr/lib/
cp /usr/lib/libutil.so.3 /jail/usr/lib/
cp /etc/pam.conf /jail/etc
cp /usr/lib/pam_skey.so /jail/usr/lib/
cp /usr/lib/pam_opie.so /jail/usr/lib/
cp /usr/lib/pam_opieaccess.so /jail/usr/lib/
cp /usr/lib/pam_cleartext_pass_ok.so /jail/usr/lib/
cp /usr/lib/pam_unix.so /jail/usr/lib/
      
   现在你可以通过如下命令进行用户的管理
      jail /jail/ powerbsd.org 10.0.1.1 /bin/sh
      下面是我进行用户管理的过程:
powerbsd<Time:10:10am>[/]-root->jail /jail/ powerbsd.org 10.0.1.1 /bin/sh
# pw user show -a
root:*:0:0::0:0:Charlie &:/root:/bin/csh
nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin
ftp:*:1004:1002::0:0:User &:/var/ftp:/nonexitent
# pw group show -a
wheel:*:0:root
nobody:*:65534:
ftp:*:1002:
# pw groupadd ftpgroup
# pw useradd test -d /home/test -g ftpgroup -s /nonexistend
# pw user show -a
root:*:0:0::0:0:Charlie &:/root:/bin/csh
nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin
ftp:*:1004:1002::0:0:User &:/var/ftp:/nonexitent
test:*:1005:1003::0:0:User &:/home/test:/nonexistend
# pw group show -a
wheel:*:0:root
nobody:*:65534:
ftp:*:1002:
ftpgroup:*:1003:
# passwd test
Changing local password for test.
New password:
Retype new password:
passwd: updating the database...
passwd: done

至此如何建立jail下面的vsftpd已经讲解完毕!至于vsftpd该如何进行设置,参考vsftpd的Example!该文只是我学习FreeBSD-jail的一点小小的笔记!就作为抛砖引玉吧!如有不足之处请多多指教,谢谢!


_________________
BSD it's a Power of my life!
It's my belief !
返回页首
阅览会员资料 发送站内信件 浏览发表者的主页 MSN Messenger
powerplane
老妖


注册时间: 2003-03-04
文章: 1860
来自: 广州

文章发表于: Tue 2003-07-01 16:25:38    发表主题: 引用并回复

每一个jail就可以看作一个虚拟的主机。是不是应该做好一个jail以后,再在jail上面安装vsftpd比较好呢?
_________________
http://keyonly.com
返回页首
阅览会员资料 发送站内信件 浏览发表者的主页
从以前的文章开始显示:   
发表新文章   这个论题已经被锁定,您不能发表、回复或者编辑文章。    FreeBSD China -> 安装-配置-优化-安全 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2023cc © 2003 Opensource Steps; © 2003-2009 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Project Honey Pot and phpBB.cc
silvery-trainer
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标