免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 12485 | 回复: 44
打印 上一主题 下一主题

Solaris下虚拟VSFTP+蜜罐的架设 (申请加精) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-30 21:22 |只看该作者 |正序浏览
Solaris下虚拟FTP+蜜罐的架设

                                                      中国科学院西安分院嵌入式小组
                                                                                                                    e-mail:netciw@yahoo.com.cn


关于蜜罐的问题,我这里没有讲详细,大概在5月中旬会有一个很详细蜜罐原理,搭建过程的文章与大家见面。这里只是想引入一个概念。

附件有文档下载


版权声明:本文档是由中国科学院西安分院嵌入式小组叶博洋编著整理,如果我们在文档中设计到您的版权问题,请通知作者.
         本文档版权所属中国科学院西安分院嵌入式小组,欢迎广大爱好solaris的朋友们转载,请保留版权信息。
如发现有用于盈利性活动,删节,删除版权声明以及原著者单位姓名等违反版权法之有关规定,我单位及作者保留法律诉讼权利!


重点说明:我这里测试的环境为solaris sparc版,在一些软件下载的时候请选择你对应系统版本安装包。

solaris10默认FTP为wu-ftp。这里我不推荐大家使用wu-ftp。第一:安全性;wu-ftp并不是一个非常安全的ftp软件。且版本过低,而且没有一个开发团队对它进行继续深入开发。wu-ftp不是inetd进程启动的,而是standlone独立进程,这样会给系统带来负担。Vsftp的官方全名“VERY SECUR”它的安全性也就不言而喻了。第二,速度;vsftp使用的是ASCII模式下载,有些资料提及wu-ftp与vsftp速度比较时,都明确阐述vsftp速度要快于wu-ftp。第三:稳定性;普通单机可支持4000用户以上并发同时连接。
前置提示:
本文引入了虚拟文件系统概念,使用虚拟用户完成搭建FTP全过程。有朋友问为什么要引入虚拟文件系统概念,这是为了让大家在以后学习solaris flash的时候能有一个更清晰的思路,所以当你配置虚拟FTP的时候可以不使用虚拟文件系统。它不会对你的FTP配置带来任何问题。如果你已经开启wu-ftp,那么请你先关闭ftp服务。
小提示:
svcs |grep online 查看当前运行服务
svcs |grep offline 查看当前停止服务
svcs |grep inetd 查看inetd服务状态
svcadm disable svc:network/ftp 关闭wu-ftp,既关闭现有的ftp服务。

第一部分::

这里引用我们需要引入几个在solaris下的几个思想!
一 :solaris和unix/linux一样都可以把它理解为一个绿色的操作软件。这样方便我们以后更好的去理解solaris下的solaris(solaris闪)
二 :虚拟系统 亦即当一个使用者使用的是"虚拟系统"时,他所看到的系统档案及程式,并不是系统管理者所使用的档案。
问题:我们为什么要制作一个虚拟系统,从安全角度来考虑,只要一台计算机连接上网络,它就已经不安全,无论你是否是一个高级的管理员,你也无法保证你所配置的服务器是安全的。也可以说你只能说这一秒solaris是安全的,但谁又知道下一秒是不是安全的!所以我们这里就需要用到一个虚拟的FTP把安全危机降到我们认为最安全的地步!也正是因为这个原因我们才需要使用到虚拟系统,双管齐下对来保证我们的服务器。那又是那两种手段?第一,虚拟的FTP,这是目前在各大操作系统上都经常使用的FTP搭建方法。这样即便是黑客通过暴力破解,网络嗅探等方式获取FTP帐户密码也无法得到操作系统的真实用户。第二,这里也是solaris被安全界公认比较可靠的操作系统的原因,它能够在虚拟FTP之后为我们带来一个叫虚拟系统的新概念。让我们有第二道更可靠的城墙,让我们的管理员在被黑客获取FTP帐户密码的情况下,依然可以从容的与黑客抗衡!使用虚拟系统可以保护系统的资料与系统运作正常,让恶意的使用者只能做到有限的破坏。其实所谓的"虚拟系统",主要是利用chroot(Change Root)来达成,即改变根目录的位置,而使得FTP对应到一新的系统设定中。

第二部分

构造虚拟系统:
cd /      (进入根目录)
tar –cvf  /system.tar /var /usr /etc /dev /devices
(将 var usr etc dev decices 打包为 system.tar)
mkdir  /export/home/ftpusers
tar -xvf system.tar /export/home/ftpusers
(把我们打包的文件解压到export/home/ftpusers)
注意:这里我需要强调一点,我们可能会出现一点以外错误!由于我这里使用的中科院的较早的sparc专业服务器,且拆除了2块硬盘,所以我的空间不是很大
导致磁盘空不足,无法解压。当然有的朋友为什么不把根目录的目录CP过去,这里你问的很好,的确是可以这样的。但我操作了几次,发现在后面的工作中可能会导致一些莫名其妙的错误。所以我还是建议大家按照我的方法去完成。由于打包和解压时间都很长,我们也可以利用这段时间听听歌,看看新闻! :)
这里我想强调以下,由于我可能一直很关注安全,正如我在上文中所说的一台服务器连接到互联网之后就已经没有绝对的安全。我看过有些文档也是使用虚拟文件系统,但他们不是按照我的方案去完成,只是把直接在FTP目录建立一些和系统文件目录同名的目录,但我个人认为这样做就失去了虚拟文件系统的真正意义,一名有经验的黑客在很容易就能识别出这些是一个虚拟文件系统,是一个耗费他精力的蜜罐。那么我想虚拟文件系统的真正目的也就没有实际意义了。在这里我由衷的建议大家不要怕麻烦,花费多一点的时间做的有意义一点!本身安全就是一点一滴的积累。何况您还能在这段时间里看看新闻,听听歌曲。何乐而不为?

第三部分

vsftp简介:
vsftp全称翻译为“非常安全的FTP”,vsftp稳定,安全,功能强大屹立在unix系列操作系统多年,在redhat8系列以后,正是由于vsftp的出色表现博得了整个unix/linux世界的青睐,很多版本的unix/linux都把它作为默认的ftp服务工具。时下流行的一句广告词完全可以诠释vsftp:“我相信群众!”
获取vsftp:
ftp://vsftpd.beasts.org/users/cevans/  下寻找你需要的vsftp,我这里使用的最新版本vsftpd-2.0.5.tar.gz,下载地址:ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.5.tar.gz
但你必须ftp到vsftpd.beasts.org 。然后将它下载回来;get vsftpd-2.0.5.tar.gz

第四部分

安装vsftp:
gunzip vsftpd-2.0.5.tar.gz  /*生成tar包*/
tar xvf vsftpd-2.0.5.tar    /*解压*/
cd /etc     
在网络中也有朋友使用如下命令我这里提供给大家作为参看
gzcat vsftpd-2.0.5.tar.gz | tar xvf -  解压tar.gz包!

这里我们需要注意的是,现在生产的目录权限
drwxr-xr-x   8 500     500        2048 2006   7月  4 vsftpd-2.0.5
chown root vsftpd-2.0.5 (改变目录所属用户)
chgrp root vsftpd-2.0.5  (改变目录所属组)
ls –l
drwxr-xr-x   8  root     root        2048 2006   7月  4 vsftpd-2.0.5

小提示:我在实验vsftp的时候,就无法make。提示没有这个命令。这可能和你的安装的时候软件包安装有关系。这里提供一些补救办法。
1        下载并安装make
get ftp://ftp.sunfreeware.com/pub/fr ... sol9-sparc-local.gz
        gunzip make-3.80-sol9-sparc-loca1.gz
        pkgadd -d make-3.80-sol9一sparc-local
2  下载libiconv并安装
ftp://mirror.Sprintlink.net/sunf ... -so19-sparcloca1.gz
gunzip libiconv-1.8-so19-sparc-loca1.gz
pkgadd -d libiconv-1.8-sol9-sparc-local
3  下载gcc并安装
ftp://mirror.Sprintlink.net/sunf ... sparc/9/gcc-small-3.3.2-sol9-sparc-loca1.gz
gunzip gcc-small-3.3.2-sol9-sparc-loca1.gz
pkgadd -d gcc-small-3.3.2-sol9-sparc-loca1

cd vstipd-2.0.5
make
mkdir /usr/share/empty
cp vsftpd /usr/local/bin/vsftpd
cp vsftpd.conf.5 /usr/local/man/man5
cp vsftpd.8 /usr/local/man/man8
cp vsftpd.conf/etc


第五部分:

配置虚拟Ftp
groupadd ftp                                                              /*建立ftp组*/
mkdir  /ftp                                                               /*建ftp目录*/     
useradd —d /ftp -g ftp -s /bin/false ftp                                 /*实际使用的USER*/
chown ftp:ftp /ftp
echo “ftp”>> /etc/vsftpd.chroot_lis  
mkdir /etc/vsftp                                                            /*建立ftp用户配置文件目录*/

1:        配置vsftpd.conf

vi /etc/vsftpd.conf
anonymous_enable=NO                                   /*不允许匿名用户登录*/
anon_root=ftp                                                                         /*匿名用户在登录后将跳转的目录*/
anon_password=NO                                                                      /*匿名用户登录不需要密码,可以直接登录*/
local_enable=NO                                       /*不允许本地用户登录*/
write_enable=NO                                       /*不允许FTP命令更改文件系统*/
local_umask=022                                       /* 设定本地用户上载文件的umask值*/
anon_upload_enable=NO                                                               /*不允许匿名用户上载*/
anon_mkdir_write_enable=NO                            /*不允许匿名用户创建目录*/
dirmessage_enable=YES                                                               /*当用户首次进入一个新目录时,FTP服务器将会显示欢迎信息*/
xferlog_enable=YES                                                                    /*生成日志文件*/
connect_from_port_20=YES                                                            /*控制在服务器端,使用端口20进行数据连接*/
xferlog_file=/varflog/vsftpd.log                                           /*xferlog_enable选项后需要加载日志文件定启用*/
xferlog_std_format=YES                                                                   /*启用标准日志文件格式*/
idle_session_timeout=600                                                           /*设置空闲的用户会话中断时间为600秒*/
data_connection_timeout=120                                               /*连接中断时间为120秒*/
ftpd_banner=Welcome to www.cnsapc.com                 /*欢迎信息*/
chroot_list_enable=YES                                /*/etc/vsftpd_chroot_list文件中列出的用户不能切换到根目录以外*/
Chroot_1ist_file=/etc/vsftpd.chroot_list                       /*指定启用chroot_1ist_enable选项后需要加载文件*/
User_config_dir=/etc/vsftpd                           /*不同的用户使用不同的配置.配置文件所在的目录*/
ls_recurse_enable=YES                                                                   /*允许用户使用列目录*/
hide_ids=YES                                                                                   /*所有目录中的用户和组信息列取时都将显示为ftp*/
userlist_enable=YES                                                                          /*当为YES时,userlist—deny的设置才有效*/
userlist_deny=NO                                                                           /*只有在文件中明确指定的用户才能登录系统*/
userlist_file=/etc/vsftpd.user_list                                   /*指定启用userlist_enable选项后需要加载文件*/
guest_enable=YES                                                                           /*所有非匿名用户都将以guest身份登录*/
Guest_username=ftp                                    /*将guest用户映射到一个真实用户ftp*/
Anon_max_rate=20000                                                                   /*设置匿名用户为最大传*/
Local_max_rate=500000                                                                   /*设置本地用户的最大传*/
max_clients=500                                                                           /*设定最大客户端联接数*/
max_per_ip=2                                                                                   /*设定源于同一网络地址的最大联接数,防止暴力破解FTP密码*/
pasv_min_port=56000                                                                   /*PASV方式数据联接指派的最小端口*/
pasv_max_port=56100                                                                   /*PASV方式数据联接指派的最大端口*/
listen=YES                                                                                           /*vsfipd将以独立模式运行,不能由inetd来启动*/
1isten_address=l27.0.0.1                                                          /*定义使用哪个IP地址提供服务*/
2: 建立目录与帐户并映设成ftp用户
mkdir /ftp/ftpusers
chown ftp:ftp /ftp/ftpusers
useradd –d /dev/null -g ftp –s /bin/false ftpusers   /*无shell*/
passwd ftpusers
      
第六部分:
建立vsftp启动脚本
vi /etc/rc3.d/S83vsftpd

!/sbin/sh
case "$1" in
start)
        /usr/local/bin/vsftpd &
;;
stop)
        pkill vsftpd
;;
*)
        echo "Usage: $0 { start | stop }"
        exit 1
;;
esac
exit 0


                                                                                                                                                                                                                               
                                                                                                                                                                                        中国科学院西安分院嵌入式小组-----叶博洋
                                                                                                                                                                                                                        2007.4.29

[ 本帖最后由 yby123 于 2007-5-4 17:59 编辑 ]

虚拟vsftp+蜜罐.rar

14.25 KB, 下载次数: 306

论坛徽章:
0
45 [报告]
发表于 2007-09-10 22:51 |只看该作者
原帖由 yuhuohu 于 2007-7-2 10:08 发表


路过,突然想起 susbin....简称SB。。。哥们开个玩笑别当真~


难得有哥们还想起俺,谢了。

至于这简称吗,应该是 SS, su + sbin。玩 *nix 的这个不会看不明白吧。

当然某位晕乎乎,用汉语拼音思考也很正常。

[ 本帖最后由 susbin 于 2007-9-11 01:03 编辑 ]

论坛徽章:
0
44 [报告]
发表于 2007-07-01 23:06 |只看该作者
不懂不是错。装懂就不对头了。

还说什么 “但我想技术这东西很难说去抄袭什么!”

如果误导了别人,就有问题了。

论坛徽章:
0
43 [报告]
发表于 2007-07-01 22:53 |只看该作者

楼主就是个菜鸟,大家不要为难他了

中科院,还是分院的一个小小研究生写的东西大家就不必要这么较真了,别说他说不清楚蜜罐是什么,就是我搞了那么多年的安全,也还不能很好的搭建一个,呵呵

论坛徽章:
0
42 [报告]
发表于 2007-06-17 11:21 |只看该作者
楼主有QQ吗。我有几个VSFTPD的问题想请教一下。拜托了。PM我一下就可以了。谢谢

论坛徽章:
0
41 [报告]
发表于 2007-05-29 18:27 |只看该作者
原帖由 susbin 于 2007-5-29 11:02 发表


反省了三个星期,向楼主汇报一下。

1。楼主的两篇文章,即 Solaris 10虚拟主机搭建 和 Solaris下虚拟VSFTP+蜜罐的架设,到目前为止,在技术方
面只是看到楼主按照他人的文档做了一遍,再把过程写出来,没 ...



哈哈 ,说的好精辟。。。最后一点不认同,所谓国家级刊物,很多文章也不过尔尔~

论坛徽章:
0
40 [报告]
发表于 2007-05-29 11:02 |只看该作者
原帖由 yby123 于 2007-5-7 06:36 发表
...
的确我在写这些文章的时候翻阅了很多书籍!但我想技术这东西很难说去抄袭什么!后来我的确在网上搜索这方面的资料。不客气的说,关于VSFTP的资料不是很多,也不是很详细!所以我不认为我并不是抄袭,但我的确是去参考其他的资料,鉴于此我发现我们已经完全脱离了技术本身,再和您这样争论下去没有任何意义!所以无论阁下是怎么想我都不会再回复了!还有我需要说明一点,技术没有身份的界限!我不认为我用单位的名字就是一种强压的态势。但却让我感觉你总是在用一些冷言热讽来讥笑我,比如你在我另一文章里的回复:“ 科学家也来做脑力民工!”我想说的是我不是科学家,也没那资格。但我认为首先你把自己看轻了,是对多个领域从业人员的一种口头暴力!我不明白为什么你需要有一种高高在上的姿态,殊不知这样对你自己就是灵魂上的亵渎。所以还请阁下把心用在技术上,没必要在是否是原创的问题上纠缠,如果按照阁下的思维方式,那么SUN的说明是原创,那么再按照你的逻辑,这里关于 Solaris的文章都是抄袭了,因为sun官方说明已经把所有设计服务,系统的东西都已经写成中文文档了!
...


反省了三个星期,向楼主汇报一下。

1。楼主的两篇文章,即 Solaris 10虚拟主机搭建 和 Solaris下虚拟VSFTP+蜜罐的架设,到目前为止,在技术方
面只是看到楼主按照他人的文档做了一遍,再把过程写出来,没有到楼主自己著述的内容。

2。在第一篇文章开头,楼主写了:“版权声明:本文档是由中国科学院西安分院嵌入式小组叶博洋编著整理,”。

3。关于著的定义 (源自: 三看一查辨伪书  《中国防伪》  2005年)
“著” 是指书的内容都是作者原创(如有引用,会在文中标明)。“编” 是指书的内容非原创,是编辑人员搜集的资料,
整理后完成的内容。“主编”、“编著” 和 “编译” 都属于“编”。

4。以上关于书籍的 著,编 的定义,也适用于在网上公开发表的学术及技术文章。

根据以上四点,楼主用他人文档提供的方法,写出一篇文章,然后声明是自己编整理的,
我认为,这已构成抄袭。

另外,楼主提到:“但却让我感觉你总是在用一些冷言热讽来讥笑我”。如果楼主觉得因此受到伤害,那么我愿意
在此向楼主正式道歉。我应该直接提出自己的看法,而不是说一些冷言。在这一点上,是我做错了。

还有一个建议。CU 虽然名声不小,但它目前绝大多数贴子的学术水平,还比不上国家级的学术刊物。
即使您的两篇文章在本版都被加入精华,并不代表它们具有任何学术价值。

论坛徽章:
0
39 [报告]
发表于 2007-05-22 17:58 |只看该作者
后续文呢。。。持续关注中。。。。

论坛徽章:
0
38 [报告]
发表于 2007-05-14 16:58 |只看该作者
强贴留名.谢谢分享.

论坛徽章:
0
37 [报告]
发表于 2007-05-14 14:55 |只看该作者
likuku,你是西南科技大学的?

[ 本帖最后由 starrain_my 于 2007-5-14 15:00 编辑 ]
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP