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



#QUEUE="yes" # Use experimental QUEUE support
QUEUE="no" # Do not use experimental QUEUE support

这些是你需要考虑的最少的变量 , 可能还会有其他的变量 , 这将取决于你系统的配置 。你还可以更新其他的选项 , 比如说远程管理 , 限制防火墙可以发起的连接 , 给你的honeypots无限制的DNS访问 。同样 , 默认情况下 , 脚本每小时限制每个honeypot对外的连接如下 , 9 个TCP连接 , 20个 UDP连接 , 50个 ICMP连接 , 和10个其他的IP连接 。脚本的具体内容超出本篇文章的范畴 。为了更好的了解这些变量 , 我们建议你回顾一下脚本的具体内容 , 在实验环境中尝试不同的配置选项 。一旦你完成rc.firewall脚本配置 , 你就可以通过执行脚本来实现你的目标 。记住 , 你将使你的HostOS采用网桥模式 。因此 , 你的HostOS必须要有网桥工具 。对Red Hat系统来说 , 它是"bridge-utils-0.9.3-4" 。

使用网桥模式时需要注意两点 。首先 , 在启用网桥之前 , 你必须启动所有的GuestOS’s 。当GuestOS’s启动时 , 他们会寻找并使用vmnet1接口 。如果vmnet1接口已经被设置成了网桥模式 , 那么GuestOS将找不到接口 , 并且不能进行网络会话 。所以 , 在运行rc.firewall脚本之前启动所有的honeypots 。第二点是时间 , 网桥生效需要花费大约10-30秒 。你必须在网桥转发数据报之前 , 给它时间获得所有的MAC’s地址 。

host #/.rc.firewall

为了确保脚本运行成功 , 我们需要检查几样东西 。首先 , 确定启用了网桥 。你可以通过检查/var/log/messages文件来进行确认 , 内核会记录网桥模式 。其次 , 你得拥有一个称做”br0”的新接口 , 这就是你的网桥 。第三 , 使用命令”brctl”查看绑定网桥的接口是什么 。第四 , 对外和对内的接口不再有IP地址 , 因为它们现在使用的是网桥模式 。最后 , 检查IPTables规则确保你过滤了某些连接 。

host #tail /var/log/messages

host #ifconfig -a

host #brctl show

host #iptables -L -n

如果以上都成功了 , 那么你的数据控制也就完成了 。还有其他许多方法实现数据控制 , 比如说bandwidth throttling 。

Part IV: 数据捕获

完成数据控制后的下一步是数据捕获 。数据捕获的目的是在不让攻击者发觉的情况 , 捕获他们攻击活动的所有信息 。有很多种不同的方法可以实现数据捕获 , 但是我们主要关注两种 。IPTable日志和Snort 。IPTable日志是当有数据进入或者流出时由防火墙产生的日志 。Snort是一种开放源代码的IDS产品 , 我们可以用它来捕获所有的网络活动 , 对已知的具有攻击特征的信息发出警告 。

对于IPTabels来说 , 日志记录已经通过脚本rc.firewall为我们配置好了 。它被配置来记录所有新的对内和对外连接到日志文件/var/log/messages中 。任何进来的连接都可能是探测 , 扫描 , 或者攻击的迹象 。任何对外的连接都表明honeypot可能已经被入侵 。IPTable日志的主要价值是警告 。而不会告诉我们关于入侵者正在做什么的足够信息 。而对于Snort来说 , 我们可以配置它来捕获进出Honeynet的每个数据报 。这里有个捕获和记录入侵者活动的Snort配置文件Snort config file 。你可以在这里看到一个简单的Snort启动脚本 , 它可以启动Snort并使用推荐的Snort配置文件 。别忘了更新启动脚本来监视HostOS的vmnet1接口 。你可能每天都想运行此脚本 , 那么你可以通过cron来运行这个脚本 。

host #./snort-start.sh

既然这是第二代Honeynet , 你可以考虑运用更先进的数据捕获技术 , 比如说Sebek 。它允许你通过内核来捕获攻击者的活动信息 。当然还有其他各种各样的实现数据捕获的方法 , 但是它们超出了这篇文章的范畴 。想了解其他方法 , 请参考Honeynet Tools Section 。

推荐阅读