了解你的敌人:了解VMware( 五 )



Part V: 测试你的VMware Honeynet

搭建我们的VMware Honeynet的第五步 , 也是最后一步就是测试我们的配置 , 特别是对数据控制和数据捕获的测试 。我们要确保我们的Honeynet和期望的情况一样 。数据控制的测试相对来说比较简单 。我们要确保honeypot企图向外发起的任何连接都被记录和控制 。通过记录 , 所有连接尝试都被记录在/var/log/messages中 , 警告我们有向外的连接发起 , honeypot可能已经被入侵 。同时 , 一旦到达了连接限制 , 我们希望确保任何更多的向外的连接都被禁止 。这里有个测试Honeynet的技巧 , 既然我们使用了网桥模式 , 我们需要另一台电脑 , 让它充当攻击者 。如果网桥不能把目的IP转换成一个有效的MAC地址 , 它将不会转发任何数据报 。如果没有数据报转发 , 我们将不能测试IPTables 。对于那些没有多余电脑的人来说(或者那些舍不得花钱购买电脑的人) , 你可以通过启动UML系统虚拟出第二台电脑 。UML系统将绑定到tap0虚拟接口 , 同时我们所有的VMware honeypots将绑定到vmnet1虚拟接口 。这样 , 你的HostOS就会网桥接两个不同的虚拟网络 。请不要忘了 , 你还得修改rc.firewall脚本使tap0成为对外的接口 。要想了解关于运行UML的更多信息 , 请参考文章KYE: UML 。UML可作为攻击者 , 探测VMware honeypots 。鉴于这篇文章的目的 , 我们将要示范的只是测试性的概念 。我们的UML攻击者的IP地址将是10.10.10.100 。它的确也能够工作:) 。

我们将测试对外的TCP连接 , 默认配置下每小时只能发起9次对外的连接尝试 。为了测试此项 , 我们需要打开两个终端窗口 。首先 , 我们在HostOS上打开一个终端窗口 , 并且监视在/var/log/messages中的IPTable日志 。当我们从GuestOS通过Host网关试图发起对外的连接时 , 我们将发现连接尝试会被记录在日志中 。这些信息都是警告 , 表明honeypot可能已经被入侵 , 攻击者(或者一些自动化的攻击工具)正在尝试对外连接 。当第10次对外连接发起的时候 , TCP连接将被阻止(因为到达了最大连接限制)和记录 。下面是你在尝试任何对外连接之前要执行的命令 。

host #tail -f /var/log/messages

下一步 , 在我们的GuestOS 即honeypot系统上打开一个终端 。向一个外部IP发起各种对外的TCP连接 , 在这里是10.10.10.100(我们的UML系统) 。你很可能会反复的尝试几次 。

Trying 10.10.10.100...
telnet: connect to address 10.10.10.100: Connection refused

如果你看到连接尝试被记录 , 达到连接限制后的连接都被阻止 , 那么你就成功的实现了数据控制 。接下来 , 我们将确保数据捕获正常工作 , 尤其是确保Snort进程捕获进出Honeynet的所有数据报和它们全部的负荷 。Snort进程应该监视HostOS的内部接口 , 特别是vmnet1 。为了测试 , 我们将尝试ping外部系统 , 在这里也是10.10.10.100 。

guest #ping -c 3 10.10.10.100

Snort进程应该已经捕获三个ICMP Echo请求数据报和它们全部的负荷 。它应该把活动以tcpdump二进制日志的形式记录下来了 。我们检查日志文件来进行确认 , 下面是一个例子 。值得注意的是 , 你不只是在捕获每一个数据报和报文头 , 而是捕获每个数据报全部的负荷 。

host #snort -vdr *snort.log

就是它了 。现在 , 你仅仅完成了对数据控制和数据捕获性能的最基本的测试 。你也可以尝试进行更高级的测试 , 比如说用另一***立的电脑充当Internet上的一个系统 , 然后和honeypot通讯 。但是 , 这超出了我们这篇文章的范围 。

注意: 这篇文章即将结束 , 我们现在来做一个最后的回顾 , 我们用VMware’s的其他特性来做更进一步的公开分析 。特别是VMware的挂起功能 。挂起功能允许你逐个的挂起GuestOS(或者honeypot)映像 。它将冻结所有正在运行的进程 , 然后把内存映像保存在一个文件中 。这就是说你可以挂起你的honeypot , 关闭你的电脑 , 然后一周后再打开它 , 重新加载honeypot , 就像以前它运行的时候一样 。它有一些不可想象的应用 。我们把被攻击电脑的挂起映像保存下来 , 然后把这些映像转移到其他地方进行分析 。这就允许我们在一个被攻击的honeypot仍然处于它的运行状态的时候对它进行分析 。这里要注意的是 , 在分析挂起映像时 , 你必须保证是在一个孤立网络中进行的 , 否者 , 被攻击的honeypot会尝试连接它在挂起之前和它进行通讯的任何系统 。

推荐阅读