了解你的敌人:了解VMware

用VMWARE搭建虚拟Honeynets

Honeynet Project
http://www.honeynet.org
Last Modified: 27 January, 2003

翻译:Inetufo

Homepage:http://www.fz5fz.org

Email:Inetufo@fz5fz.org

译者注:

这是我翻译的虚拟Honeynet系列文章的第二篇文章 , 主要讲述了如何使用虚拟机软件VMware来搭建虚拟Honeynet 。

由于本人水平和时间有限 , 所以难免存在翻译不妥的地方 , 还望各位斧正 。最后感谢san大哥给出的意见 。

原文连接:http://www.honeynet.org/papers/vmware/

虚拟Honeynets是允许你在同一台电脑上用多种操作系统搭建一个完整的Honeynet的一种解决方案 。最初在文章Know Your Enemy: Virtual Honeynets中被讨论 , 这种方案有着配置更容易 , 管理更简单的优点 。Honeynet Project同样也发现VMware对Honeynet技术的发展有着重大的意思 。我们通过这篇文章一步一步的教你怎样用商业软件VMware搭建和配置这种解决方案 。这种情况下 , 我们将用5种不同的honeypots搭建一个GenII(第二代Honeynets) 。前提是你已经阅读并且了解在KYE: Virtual Honeynets和KYE: Honeynets中讨论过的一些概念 。同时 , 如果这是你第一次从事Honeynet技术工作 , 我们强烈建议你在实验环境中工作 。最后 , 因为面对的是虚拟软件 , 你必须意识到攻击者识别出 , 并且秘密逃出虚拟环境的风险 。以上是对你的建议 。

攻击计划

这篇文章的格式有点类似于KYE: User-Mode Linux , 它被分成5个部分 。第一部分我们将描述什么是VMware , 它的工作方式 , 以及怎样安装它 。第二部分 , 我们将描述怎样配置VMware和安装你的honeypots 。第三部分我们将描述怎样在VMware Honeynet中使用IPTables来实现数据控制 。第四部分我们将描述怎样使用Snort来实现数据捕获 。最后 , 在第五部分中我们将描述如何测试你的各种设置 。

Part I: VMware

VMware是一种可以让你在同一时刻运行多种操作系统的虚拟软件 。和用户模式Linux不同 , VMware允许你运行不同的操作系统 , 只要它们是能够在Intel X86系列上运行的 。VMware是由VMware Inc开发和销售的 , 实际上你可以选择三种不同的软件产品:Workstation, GSX, 或者ESX 。我们将使用三者当中的GSX 。GSX是设计来在同一时刻运行两个以上的操作系统 , 支持远程管理的 , 比Workstation功能更强大的版本 。但是 , 我们这里所讨论的大部分信息一样能够应用在Workstation上 。鉴于这篇文章的目的 , 我们将在掌上电脑上搭建我们的虚拟Honeynet,平台为IBM Thinkpad T23 , PIII 1G处理器和768MB的内存 。操作系统为Red Hat 7.3 。

VMware是通过在电脑上安装虚拟软件来工作的 。此虚拟软件允许你在同一时刻启动和运行多个操作系统 。你安装的第一个操作系统被称为HostOS 。这是VMware将安装于其中的操作系统 。一旦你安装了HostOS和VMware , 你就可以安装其他的操作系统 , 它们将运行在虚拟环境中 。所有这些其他的操作系统被称为GuestOS’s , 因为它们就像是在主操作系统上的‘客人’ 。想要对其工作方式获得更好的理解 , 请参考Figure 1 。在我们的Linux HostOS上安装VMware非常简单 , 你仅仅需要安装一个RPM包即可 。命令类似于:

host #rpm -vi VMware-gsx-2.0.1-2129.i386.rpm
Preparing packages for installation...
VMware-gsx-2.0.1-2129

我们也可以安装另外的软件包 , 比如说远程管理软件包 。但是 , 我们的掌上电脑不需要这个软件包 , 因为所有的管理都在本地完成 。要了解关于这些额外包的更多信息 , 请参考VMware文档 。

Part II: 配置VMware和安装Honeypots

安装完成后的下一步就是配置VMware软件 。配置是通过执行命令’vmware-config.pl’来完成的 。在配置过程中 , VMware很可能会重新编译它自己的一些内核模块 。这就是说你要为内核准备编译器和源代码 。我们的掌上电脑上运行的内核版本是2.4.18-19.7.x 。然后我们确保有源代码:

推荐阅读