1蜜罐技术2一.实验目的通过安装和配置“蜜罐”,了解“蜜罐”的原理,及其配置使用方法。通过在Linux下配置Honeypot蜜罐软件,进一步了解该技术。3二.实验原理2.1“蜜罐”技术的起源2.2蜜罐技术的优点2.3Honeyd介绍42.1“蜜罐”技术的起源(1)入侵检测系统能够对网络和系统的活动情况进行监视,及时发现并报告异常现象。但是,入侵检测系统在使用中存在着难以检测新类型黑客攻击方法,可能漏报和误报的问题。蜜罐使这些问题有望得到进一步的解决,通过观察和记录黑客在蜜罐上的活动,人们可以了解黑客的动向、黑客使用的攻击方法等有用信息。如果将蜜罐采集的信息与IDS采集的信息联系起来,则有可能减少IDS的漏报和误报,并能用于进一步改进IDS的设计,增强IDS的检测能力。52.1.“蜜罐”技术的起源(2)“蜜罐”的思想最早是由CliffordStoll于1988年5月提出。该作者在跟踪黑客的过程中,利用了一些包含虚假信息的文件作为黑客“诱饵”来检测入侵,这就是蜜罐的基本构想,但他并没有提供一个专门让黑客攻击的系统。蜜罐正式出现是BillCheswick提到采用服务仿真和漏洞仿真技术来吸引黑客。服务仿真技术是蜜罐作为应用层程序打开一些常用服务端口监听,仿效实际服务器软件的行为响应黑客请求。例如,提示访问者输入用户名和口令,从而吸引黑客进行登录尝试。所谓漏洞仿真是指返回黑客的响应信息会使黑客认为该服务器上存在某种漏洞,从而引诱黑客继续攻击。62.2蜜罐技术的优点(1)Honeypot是一个相对新的安全技术,其价值就在被检测、攻击,以致攻击者的行为能够被发现、分析和研究。它的概念很简单:Honeypot没有任何产品性目的,没有授权任何人对它访问,所以任何对Honeypot的访问都有可能是检测、扫描甚至是攻击。Honeypot的检测价值在于它的工作方式。正如前文所提到的,由于Honeypot没有任何产品性功能,没有任何授权的合法访问,所以在任何时间来自任何地方对Honeypot的任何访问都有可能是非法的可疑行为。Honeypot的工作方式同NIDS等其他的传统检测技术正好相反,NIDS不能解决的问题,Honeypot却能轻易解决。72.2蜜罐技术的优点(2)Honeypot和NIDS相比较:(1)数据量小:Honeypot仅仅收集那些对它进行访问的数据。在同样的条件下,NIDS可能会记录成千上万的报警信息,而Honeypot却只有几百条。这就使得Honeypot收集信息更容易,分析起来也更为方便。(2)减少误报率:Honeypot能显著减少误报率。任何对Honeypot的访问都是未授权的、非法的,这样Honeypot检测攻击就非常有效,从而大大减少了错误的报警信息,甚至可以避免。这样网络安全人员就可以集中精力采取其他的安全措施。82.2蜜罐技术的优点(3)(3)捕获漏报Honeypot可以很容易地鉴别捕获针对它的新的攻击行为。由于针对Honeypot的任何操作都不是正常的,这样就使得任何新的以前没有见过的攻击很容易暴露。(4)资源最小化Honeypot所需要的资源很少,即使工作在一个大型网络环境中也是如此。一个简单的Pentium主机就可以模拟具有多个IP地址的C类网络。(5)解密无论攻击者对连接是否加密都没有关系,Honeypot都可以捕获他们的行为。92.3Honeyd软件介绍(1)Honeyd是一个很小巧的用于创建虚拟的网络上的主机的后台程序,这些虚拟主机可以配置使得它们提供任意的服务,利用个性处理可以使得这些主机显示为在某个特定版本的操作系统上运行。Honeyd是GNUGeneralPublicLicense下发布的开源软件,目前也有一些商业公司在使用这个软件。其最初面向的是类Linux操作系统,可以运行在BSD系统,Solaris,GNU/Linux等操作系统上,由NielsProvos开发和维护。这里主要介绍面向类linux系统的Honeyd程序。102.3Honeyd软件介绍(2)Honeyd能让一台主机在一个模拟的局域网环境中配有多个地址(曾测试过的最多可以达到65536个),外界的主机可以对虚似的主机进行ping、traceroute等网络操作,虚拟主机上任何类型的服务都可以依照一个简单的配置文件进行模拟,也可以为真实主机的服务提供代理。Honeyd可以通过提供威胁检测与评估机制来提高计算机系统的安全性,也可以通过将真实系统隐藏在虚拟系统中来阻止外来的攻击者。因为Honeyd只能进行网络级的模拟,不能提供真实的交互环境,能获取的有价值的攻击者的信息比较有限,所以Honeyd所模拟的蜜罐系统常常是作为真实应用的网络中转移攻击者目标的设施,或者是与其他高交互的蜜罐系统一起部署,组成功能强大但花费又相对较少的网络攻击信息收集系统。11三.实验环境硬件:局域网内联网的两台主机,其中一台为Linux操作系统主机用作安装“蜜罐”。另一台为windows主机,对蜜罐进行扫描。软件:libdnet-1.10.tar.gz,libevent-1.1a.tar.gz,libpcap-0.9.3.tar.gz,honeyd-1.0.tar.gz(Honeyd源代码包),honeyd_kit-1.0c-a.tar.gz(Honeyd快速安装包),Superscan,Flashfxp(或其他FTP客户端软件)。注意:windows主机的默认网关要改为本机地址。而且每个学生虚拟的网段不要重叠,可以通过修改start-arpd和start-honeyd来实现。12四.实验步骤(1)手动安装Honeyd(推荐使用快速安装包)安装libdnet-1.10.tar.gz,libevent-1.1a.tar.gz,libpcap-0.9.3.tar.gz三个honeyd的支持软件。将这三个包复制到Linux根目录下,直接解压安装tarxvzflibdnet-1.10.tar.gz进入libdnet-1.10目录cd/libdnet-1.10运行./configure运行make运行makeinstall13四.实验步骤采用同样步骤完成libevent-1.1a.tar.gz,libpcap-0.9.3.tar.gz,honeyd-1.0.tar.gz的安装。检查honeyd安装位置whereishoneyd如果成功的话应该如图所示:显示honeyd路径14四.实验步骤编辑honeyd.confvi/etc/honeyd.conf如图所示:honeyd配置文件15四.实验步骤第一行createlinux:建立一个模板命名为linux。第二行setlinuxpersonality“Linux2.4.20”:将蜜罐虚拟出来的主机操作系统定位Linux2.4.20。第三行setlinuxdefaulttcpactionreset:模拟关闭所有的TCP端口。第四行setlinuxtcpport80“perlscripts/iis-0.95/iisemul8.pl”:打开蜜罐80端口,利用iisemul8.pl虚拟出IIS服务。第六行bind192.168.0.4linux:用蜜罐虚拟出利用该模板的主机,IP为192.168.0.4。经过以上步骤,已经成功的手动安装了honeyd。其具体的配置和使用方法,将在下一部分针对honeyd快速安装包详细讲解。16四.实验步骤(2)快速安装Honeyd我们在honeyd_kit-1.0c-a.tar.gz的基础上,对honeyd进行了一些修改,完善了honeyd_kit-1.0c-a.tar.gz的快速安装包。将honeyd_kit-1.0c-a.tar.gz复制到linux根目录下。直接解压tarxvzfhoneyd_kit-1.0c-a.tar.gz如果以root身份登录系统,则已经可以直接运行honeyd。17四.实验步骤(3)配置和运行Honeyd在快速安装包里包括:arpdarp欺骗工具docs相关文档honeyd已经编译好的honeyd执行文件honeyd.conf修改过的honeyd配置文件honeyd.conf.simple一个功能简单的配置文件honeyd.conf.bloat一个功能比较复杂的配置文件honeyd.conf.networks一个应用于大规模网络的配置文件logs用于记录蜜罐的连接信息nmap.printsnmap指纹识别库nmap.assoc联合指纹文件18四.实验步骤pf.os被动操作系统指纹识别库scripts用于模拟蜜罐服务的脚本start-arpd.sh开始监听流量start-honeyd.sh开始honeyd进程xprobe2.confXprobe2指纹识别库使用vi命令打开starthoneyd.sh,看honeyd如何运行。vi/honeyd_kit-10c-a/start-honeyd.sh如图所示:honeyd执行脚本19四.实验步骤从该脚本可以看出honeyd参数的设置:-fhoneyd.conf加载配置文件-pnmap.prints加载nmap指纹库-anmap.assoc加载联合指纹库-0pf.os加载被动操作系统指纹识别-xxprobe2.conf加载xprobe2指纹库-l/honeyd_kit-1.0c-a/logs/honeyd.log指定日志文件192.168.1.100-192.168.1.253指定虚拟的蜜罐主机IP地址运行honeydcd/honeyd_kit-1.0c-a进入honeyd文件夹./start-arpd.sh启动arpd,起导入网络流量的作用,如图所示:运行arpd20四.实验步骤./start-honeyd.sh启动honeyd,如下图所示:运行honeyd21四.实验步骤配置文件:honeyd.confcreatedefaultsetdefaultpersonalityMicrosoftWindowsXPHomeEditionsetdefaultdefaulttcpactionresetsetdefaultdefaultudpactionresetsetdefaultdefaulticmpactionopenadddefaulttcpport80/honeyd_kit-1.0c-a/scripts/win32/win2k/iis.sh#上面的Web服务的记录在/honeyd_kit-1.0c-a/logs/web.logadddefaulttcpport8080/honeyd_kit-1.0c-a/scripts/HoneyWeb-0.4/HoneyWeb-0.4.pyadddefaulttcpport21/honeyd_kit-1.0c-a/scripts/win32/win2k/msftp.sh22四.实验步骤#上面的ftp服务的记录在/honeyd_kit-1.0c-a/logs/ftp.logadddefaulttcpport2121/honeyd_kit-1.0c-a/scripts/unix/linux/ftp.shadddefaulttcpport23/honeyd_kit-1.0c-a/scripts/telnet/faketelnet.pladddefaulttcpport110/honeyd_kit-1.0c-a/scripts/win32/win2k/exchange-pop3.shadddefaulttcpport139openadddefaulttcpport137openadddefaultudpport137openadddefaultudpport135open23四.实验步骤这里我们主要要看80端口的iis.sh脚本模拟的WEBweb服务,以及21端口msftp.sh脚本模拟的FTP服务。其余设为open的端口可以被检测到,但没有设置脚本,所以不会提供具体服务。24四.实验步骤(4)测试honeyd运行honeyd。./start-arpd.sh./start-honeyd.sh测试