資安論壇

行政院 國家資通安全會報 - 技術服務中心 - 資安論壇 http://forum.icstc.org/
現在的時間是 2012年 10月 22日, 07:47

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 2 篇文章 ] 
發表人 內容
 文章主題 : 虛擬Honeynets
文章發表於 : 2003年 9月 23日, 10:25 
離線

註冊時間: 2002年 9月 25日, 10:57
文章: 8868
來自: R.O.C
虛擬Honeynets

論壇登陸名: Inetufo
提交者郵件地址: Inetufo@fz5fz.org
提交者QQ號碼:
標題: 瞭解你的敵人:定義虛擬Honeynets
內容:
Know Your Enemy:
Defining Virtual Honeynets



虛擬蜜罐網路的不同類型



Honeynet Project

http://www.honeynet.org

Last Modified: 27 January, 2003

翻譯:Inetufo

Homepage: http://www.fz5fz.org

Email:Inetufo@fz5fz.org

譯者注:

本文主要定義了虛擬Honeynet的概念,講述了它和傳統Honeynet的不同之處,搭建虛擬Honeynet的三種常用方法及其優缺點。

由於本人對某些術語的把握不夠,所以可能存在翻譯不當之處,還望各位斧正。

原文連接: http://www.honeynet.org/papers/virtual/


在過去的幾年裏,Honeynets證明瞭他們作為一個主要研究blackhat組織所使用的攻擊工具,策略,和動機的安全組織的價值。對於某些組織更好的理解和防禦所面臨的威脅來說,這些資訊是非常重要的。Honeynet的主要問題之一是它們是深奧的,難以構建的,難以維護的資源。Honeynet要求對物理系統和安全機制進行多樣的有效的配置。然而,Honeynet工程正在研究一種新的,可能的,虛擬Honeynets。



什麼是Honeynet

Honeynets是honeypot的一種形式。Honeypot是用來讓人攻擊,存在安全風險的資源。而Honeynet是一種交互性很高的Honeypot,這就意味著他要保護和攻擊者直接打交道的真正的作業系統。這種高度的交互性能夠使我們瞭解入侵者怎樣攻破系統,怎樣聯繫和為什麼要入侵系統的一切東西。Honeynets是通過構建一個網路系統來實現這個目的的。這個網路是高度集成的,所有流入和流出的資料都會被控制和捕捉,在這個網路中的每一個系統都是一個真正的Honeypot,每個系統都是為了誘導攻擊者的攻擊而設計。但是,在目前的大多數組織中,Honeypots是構建相同的,全面的功能系統。當這些系統被攻擊時,Honeynets捕獲攻擊者的所有活動。這些資訊使我們能夠找到對於我們當前所面臨的威脅的一個好的處理方法。關於Honeynets的技術細節,你可以參考Know Your Enemy: Honeynets。我們這篇文章主要講述構建虛擬Honeynets的不同方法。但這並不是講述怎樣構建一個虛擬Honeynets。怎樣建立虛擬Honeynets的細節將在以後講述。
虛擬Honeynets

什麼是虛擬Honeynet?它是允許你在一個電腦系統上運行你需要的一切東西的一種解決方案。我們之所以用術語虛擬,是因為所有不同的系統都有他們自己的運行‘方式’,而不依賴於電腦。

這些解決方案是可能的,因為有允許在同一時間,同一硬體平臺上運行多個作業系統的虛擬軟體。虛擬Honeynets本質上不是一種新技術,它們只是簡單的採用了Honeynet技術的概念,而把它們在一個系統上實現。和傳統Honeynets比較,這種實現有他獨特的優點和缺點。

優點是:開銷較小,易於管理,因為所有東西都被整合在一個系統中。你可以用一台電腦來配置一個虛擬Honeynet來代替用8個電腦配置的一個全面的Honeynet。但是,這種簡單會付出一定的代價。首先,通過硬體和虛擬軟體能夠配置的作業系統類型具有局限性。比如,大多數Honeynets是基於Intel X86晶片的,所以你只能配置基於這種結構的作業系統。你絕不可能在一個虛擬Honeynet中配置Alteon switch, VAX, 或者Cray computer。其次,虛擬Honeynet會帶來風險。特別是攻擊者可能會破壞虛擬軟體,並且控制整個Honeynet,從而達到對整個系統的控制。最後,有指紋識別的風險。一旦破壞者攻破了你虛擬Hon!
eynet所在的系統,他們就能夠確定系統是在一個虛擬環境中運行。



我們把虛擬Honeynets分為兩種類別,獨立的和混雜的虛擬Honeynet。在這兩者當中,獨立虛擬Honeynet是比較普遍的。我們將首先定義這兩種不同的類型,然後再講述虛擬Honeynets的不同配置方法。



獨立虛擬Honeynet

一個獨立虛擬Honeynet是被濃縮到一台電腦上的一個完整的Honeynet網路。這個完整的網路被虛擬的包含在一個單一的物理系統中。一個Honeynet網路的典型組成是,一個用於資料控制和資料捕獲的防火牆閘道,和在Honeynet中的honeypots。你能夠看在這裏看到這種配置的圖。這種類型的虛擬Honeynet(s)具有的某些優點如下:

l 可攜性。虛擬Honeynets能夠搭建於移動電腦上,能被帶到任何地方。Honeynet Project在2002年8月的Blackhat簡報上證明瞭這項功能。

l 即插即可捕獲。你只需要一台電腦,把他連接到任何一個網路上就可以作好抓獲那些blackhats的準備。這使的配置容易許多,因為你僅僅要做的只是物理配置和連接一個系統。

l&nb!
sp; 資金和空間上的節!
省。你只
需要一台電腦,所以這就減少了你硬體上的開支。他只需要一個很小的空間來放置,僅僅使用一個出口和一個埠!對於我們這些時間和能力有限的人來說,這是一個節省的好辦法。
缺點如下:



l 如果硬體出了問題,整個Honeynet將不能使用。

l 高質量的電腦。儘管一個獨立的Honeynets只需要一台電腦,但是他必須是一個強大的系統。取決於你的設置,你必須擁有足夠的記憶體和處理能力很強的處理器。

l 安全性。因為所有東西都共用硬體資源,所以存在攻擊者攻破系統其他部分的危險。這些大多數取決於虛擬軟體,稍後將討論。

l 軟體局限性。因為所有東西都在一個系統中運行,你能使用的軟體就會受到限制。例如,在Intel晶片上運行Cisco IOS是非常困難的。



混合虛擬Honeynet

混合虛擬Honeynet是傳統Honeynet和虛擬軟體的混合體。資料捕獲,比如防火牆,資料控制,比如IDS感測器和日誌在一個隔離的,?
鋁?南低持小U庵止鋁?跣×吮還?韉姆縵鍘H歡械膆oneypots都是虛擬的運行在一個單獨的視窗中。你可以在這裏看到演示圖。

這種設置的優點是:

l 安全性:在獨立虛擬Honeynets中,存在攻擊者攻破honeynet其他部分(比如說防火牆)的危險。在混合虛擬Honeynet中,唯一的危險只可能是攻擊者進入其他的honeypots。

l 靈活性:你可以使用多種軟體和硬體來實現混合網路的資料控制和資料捕獲。例子之一,你可以在網路上使用OpenSnort或者Cisco pix appliance。你也可以運行你想要運行的任何一種honeypot,而放棄在網路上的另一台主機。(虛擬Honeypot’s主機除外)。

一些缺點:

l 不可移植,既然honeynet網路由多台主機組成,那麼移動就很困難。

l 時間和空間的高價性:網路中有多台電腦,你將花費更多的精力,空間和資金。

可能的解決方案

既然我們定義了虛擬Honeynets的兩種常見類型,那麼讓我!
們重點講述實現一個虛擬Honeynet的可能途徑。這裏,我們概述出三種!
允許你自
行配置的技術。勿庸置疑,還有其他的意見,比如說Bochs,但是Honeynet Project已經使用並測試過所有這三種方法。三種方法沒有好壞之分。相反的,他們各自都有自己獨特的優點和缺點,你採用哪種方案能夠工作的更好完全取決於你自己。我們要講述的三種方案是VMware Workstation, VMware GSX Server, 和用戶模式 Linux。

VMware Workstation

VMware Workstation是一個長期使用的和確定的虛擬Honeynet的選擇。它是為桌面用戶設計的,可以運行在Linux和Windows兩種平臺下。使用VMware Workstation來做虛擬Honeynet的優點是:

l 多種作業系統的支援,你可以在一個虛擬環境中運行各種各樣的作業系統(稱之為GuestOS’s),包括Linux,Solaris,Windows和FreeBSD Honeypots。

l 網路選擇,工作站提供了處理網路的兩種方式。第一種是橋,它對混合虛擬Honeynet網路來說非常有用,因為它使honeypot使用電腦的板卡,就像其他主機位於Honeynet網路上一樣。第二種選擇是 Host-Only 網路, 這對獨立虛擬Honeynets來說很好,因為你?
梢醞u闌鵯礁玫目?仆?洹?

l VMware Workstation為每一個客戶作業系統創建一個映射。這些映象單單是一個檔,移植性很高。這意味著你可以把他們轉移到其他電腦上。你可以通過拷貝備份來恢復一個honeypot到他的最初狀態。

l 掛裝VMware虛擬磁片映象的可能性。你可以使用vwware-mout.pl驅動來掛裝一個VMware映射。

l 使用簡單。 VMware Workstation 有圖形介面 ( Windows 和 Linux) ,使得安裝,配置,運行作業系統非常簡單。

l 作為一個商業產品,VMware Workstation有技術支援,可以升級,可以打補丁。

一些缺點:

l 成本,每個VMware workstation許可花費$300。這對於某些愛好者或者沒有收入的學生來說可能有點昂貴。

l 資源需求,VMware Workstation必須在X環境下運行,每個虛擬機都應?
糜凶約旱拇翱?K裕宋狦uestOS分配記憶體外,還要為X系統分配?
詿妗?br
>
l GuestOS數量限制,你只能用VMware運行很少數量的虛擬機(1-4)。這可能比較有利於小型的Honeynet。

l 源代碼不公開,因為VMware源代碼未公開,所以你不能進行真正的自定義配置。

l 指紋識別。在honeypot上VMware軟體可能會被識別出來,特別是”VMware tools”裝在系統上。這就可能把honeypots暴露給blackhat。然而,VMware提供選項設置,使指紋識別更加困難,比如有為虛擬介面設置MAC地址的功能。



VMware有一些好的特徵,如掛起虛擬機的功能。你可以暫停VM,當你恢復暫停時,所有進程繼續運行,就象什麼都沒有發生過一樣。一旦某個系統有安全隱患,並且入侵者開始ICMP碎片攻擊,同時登錄到IRC伺服器。我們並不想斷開連接,因為這樣我們將失去很多重要的資訊。所以我們可以掛起VM,配置防火牆來阻止攻擊,然後恢復VM。VMware和其他虛擬軟體的一個有趣的用處就是可以簡單快速的配置出虛擬機。。一旦Honeynet有安全威脅,我們可以通過它盡可能多的瞭解到一些資訊。對於虛擬!
Honeynet來說,我們所要做的所有工作是拷貝檔或者用不能在VMware Workstation中繼續使用的磁片來拋棄任何發生的改變。VMware工作站的另一個特性是可以在HostOS後運行若干個網路。所以,如果你只有一個視窗,你可以將你的honeynet和所有個人電腦放在一個視窗中,而不必擔心雙方之間的資料損壞。如果你想對VMware和它架設honeypot技術的能力獲得更多的資訊,請參考Kurt Seifiried的經典文章Honeypotting with VMware - The Basics.,以及Ryan Barnett寫的Monitoring VMware Honeypots。

VMware GSX Server

VMware GSX Server是VMware Workstation的增強版本。也就是它說可以運行很多高端伺服器。我們可以看到, 用它來搭建一個 Honeynet將很完美。 目前GSX Server作為Host OS運行在Linux和Windows上。如果你想瞭解在GSX上配置虛擬Honeynets的資訊,請參考文章Know Your Enemy: Learning with VMware。優點:

l 作業系統的大範圍支援。GSX Server支持Windows (包括95, 98, NT, 2000, XP and .NET server),各種Linux發行版,BSD和Solaris(非正式支持)。

l    &nb!
sp; 網路支援,包括Workstation支援的所有網路?
δ堋?br
>
l 不需要X支援更多的GuestOS。GSX Server 不需要運行X來運行VMware。這就使你能夠同時運行更多的GuestOS。如果主機運行Linux也不需要安裝X庫。

l Web介面,GSX Server可以通過Web介面來配置。可以通過Web啟動,暫停,創建GuestOS。

l 遠程終止,這是GSX Server最好的特性之一。儘管通過Web和一些VMware軟體,你可以遠端存取GuestOS’s,就象你是坐在控制臺前一樣。你可以做一些事情,比如遠端安裝和檢查系統,而不會在honeynet上傳送資料。

l 裝載VMware虛擬磁片映象,和在WorkStation版中一樣。

l VMware GSX Server可以支援更多的主機記憶體(最高8GB),更多的CPU(最多8個)每個虛擬主機比VMware WorkStation支援更多的記憶體(2GB)。

l 包含用於管理GuestOS’s的Perl API函數。

l    &n!
bsp; 和WorkStation一樣,GSX Server是一個提供技術支援的產品,包括補丁和升級。

一些缺點:

l 費用,一份GSX Server許可證需要花費$3,500

l GuestOS’s種類的限制性,象Solaris X86和FreeBSD這些作業系統不被正式支援(雖然你可以安裝他們)。這就限制了你的Honeynet的多樣性。

l 記憶體消耗,GSX Server 推薦大於256的記憶體只用來運行GSX Server軟體。基於視窗的作業系統,比如Windows XP,需要另外256MG的記憶體來運行另外的實例。

l 源代碼不開放,和Workstation一樣。

l 指紋。在honeynet有可能探測到VMware軟體,尤其是系統中裝有“VMware tools”。這可能會使honeypots暴露給blackhat。但是,和Workstation一樣,有降低風險的配置選項。

VMware 同樣也開發VMware ESX Server 伺服器版。 ESX Server運行在硬體介面上,而不僅僅是一?
鋈砑餼齜槳浮SX Server 擁有自己的控制主機硬體的虛擬機操作系!
統,這樣
就允許對虛擬機資源進行更多細微的控制,比如說CPU共用,網路帶寬共用,磁片帶寬共用,同時允許這些資源被動態的改變。它一個是比GSX Server更高端的產品 。它的一些特性是:可以支持多處理器, 更多併發的虛擬機(最多可達64個), 更多記憶體 (最多可達64GB) ,每個虛擬機比GSX Server支援更多的記憶體 (最多可達 3.6GB).
用戶模式Linux

用戶模式Linux是允許你在同一時刻運行多個Linux虛擬版本的一種特殊的內核模組。由Jeff Dike開發。,UML使你可以在同一時間同一個系統上運行Linux的多個實例。它是一個很有發展潛力的新的相關工具。你可以在文章 Know Your Enemy: Learning with User-Mode Linux中詳細的學習怎樣配置你自己的UML Honeynet。

使用用戶模式Linux的一些優點是:

免費和開放源代碼,你可以控制源代碼。
小記憶體和更少的資源要求。 用戶模式 Linux 不需要使用X。它可以用很少的記憶體運行大量的系統。
能夠創建多個虛擬網路 甚至可以完全在原始的虛擬網路中創建虛擬路由器。
同時支持bridging 和 networking, 和VMware相似.
UML可以通過GUESTOS內核記錄擊鍵資訊。 擊鍵資訊被記錄在 HostOS上, 所以怎麼在honeypot?
忻孛艿幕竦沒骷鍬濟揮腥魏撾侍狻?
UML有預先的配置和可下載的檔系統,這使它可以更快更簡單的用honeypots搭建Honeynet。像VMware一樣這些檔系統映射是可掛裝的。
你可以用多種不同的方式控制UML控制臺, 包括通過pseudoterminals, xterms, 以及Telnet一個主機的埠。並且有視窗,你可以在視窗中運行UML,釋放他,你也可以在任何地方登錄連接主機.。
一些缺點:

目前只支援Linux虛擬機,Windows下的介面正在開發中。
作為一個新的工具,存在一些缺陷,如:檔,安全問題。
沒有GUI介面,目前所有的配置和運行都在命令行下進行。入門比較困難。
作為一個開放源代碼的工具, 沒有官方和商業上的支持。
和VMware一樣, 可以通過虛擬軟體來取得UML. Honeynet的指紋。然而, 維護者Jeff Dike 設法減少這種風險, 比如說在GuestOS上對/proc進行修改。

結論

這篇文章的目的是定義什麼是虛擬Honeynet,虛擬Honeynet的不同種類,以及配置意見。虛擬Honeynet採用了Honeynet的技術,而把它們整和在一個系統中。這就使得它們構建更廉價,配置更簡單,維護更容易。但是,他們仍然存在普遍的缺點,包括物理硬體和虛擬軟?



關於我們:

FZ5FZ 主要從事網路/系統安全的學習與研究,深入編程技術的剖析與探討,堅持原創,追求共用。
FZ5FZ 主頁: http://www.fz5fz.org
資料來源 : (原文是簡體中文)
中華安全網
http://www.safechina.net/


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 2003年 9月 23日, 11:00 
離線

註冊時間: 2002年 9月 25日, 10:57
文章: 8868
來自: R.O.C
瞭解你的敵人:瞭解VMware


Know Your Enemy:
Learning with 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。然後我們確保有源代碼:

host #uname -r

2.4.18-19.7.x

host #

host #rpm -qa │ grep source

kernel-source-2.4.18-19.7.x

marge $ls -l /usr/src

total 8

lrwxrwxrwx    1 root root 19 Dec 26 13:53 linux-2.4 -> linux-2.4.18-19.7.x

drwxr-xr-x 17 root root 4096 Dec 26 13:53 linux-2.4.18-19.7.x

drwxr-xr-x    7 root root 4096 Jul 12 11:52 redhat

如果你已經安裝了源代碼,你就可以開始安裝了。在安裝過程中,我們要注意的唯一選擇就是網絡。請記住,我們的目標是使所有的GuestOS’s通過我們的網關HostOS進行路由。在安裝過程中選擇網絡。在安裝過程要結束時,你會被詢問是否採用HostOnly網絡模式。選擇此項,給介面分派一個IP位址。這是網關的IP地址,我們將設為10.10.10.1。下麵的連結是配置過程中執行的一系列命令。

vmware-config.pl

當你完成配置後,VMware就可以運行了。但是,我們有一個問題,採用默認配置時,VMware允許三種介面:vmnet0,vmnet1,vmnet8。在這三種介面中,我們只需要一種介面,vmnet1。vmnet0用於網橋,所以GuestOS可以饒過HostOS直接進行網絡會話。Vmnet8用於NAT網絡。只有vmnet1允許我們控制GuestOS’s經過HostOS。這樣,我們還得重新運行vmware-config.pl,然後使用編輯工具,移除兩種不需要的介面vmnet0和vmnet8。

vmware-config.pl(第二次運行)

當你完成VMware的配置後,下一步就是安裝和配置每個honeypots。就我們的Honeynet而言,我們要安裝運行5種不同的honeypots。運行這麼多作業系統所需的要求並不是你想像的那麼高。想一想,除了攻擊者之外沒有人會使用它們,所以活動的系統很少。同時,以Unix為基礎的系統不需要GUI,你可以通過命令行介面來管理系統。這樣就不需要運行X-Windows,記憶體的需要也就達到最少了。每個作業系統也只需要不超過2GB的磁碟空間。

Red Hat Linux 8.0 (64 MB RAM, 不運行X-Windows)
Solaris8 X86 (64 MB RAM, 不運行 X-Windows)
OpenBSD 3.1 (64 MB RAM, 不運行X-Windows)
Windows2000 (128 MB RAM)
WindowsXP (128 MB RAM)
安裝每個honeypots是很簡單的。首先,用命令”ps aef │ grep vmnet”確保vmware虛擬軟體在運行,用命令”ifconfig –a”確保使用的是vmnet1介面。如果vmware已經運行,創建一個新的VMware視窗來安裝honeypot。命令如下:

host #vmware -G &

創建視窗後,你可以選擇啟動一個已經存在的GuestOS或者開始安裝一個新的GuestOS。如果要安裝新的GuestOS,請選擇”運行配置嚮導”。在嚮導中選擇你將要安裝的GuestOS的類型,將要安裝的檔系統的目錄,為作業系統創建一個新的虛擬磁片,啟用CDROM(如果掛裝了軟盤機,請卸載)和HostOnly網絡。完成GuestOS的配置後,插入Guest作業系統的CDROM安裝盤,然後啟動系統。此後,GuestOS的啟動和安裝和正常安裝其他作業系統一樣。繼續重複這些步驟安裝所有這5個GuestOS honeypots。安裝完成後,你可以選擇在honeypots上安裝VMware tools。它將解決GUI介面。但對於Unix系統來說,你不需要安裝VMware tools,因為你可以通過命令行來進行管理。對於基於視窗的honeypots,需要在honeypots中安裝VMware tools以方便管理,但是,它將使攻擊者更容易的識別出系統是Vmware虛擬系統。要獲取更多關於VMware配置和GuestOS安裝的資訊,請參考VMware文檔。

在進行下一步之前,你需要備份你安裝的honeypots。VMware把每個honeypots存放在一個獨立的檔中,這些獨立的檔都放在VMware自己的目錄下。你僅僅通過拷貝這些獨立的檔就可以備份每個honeypot。對傳統的Honeynets來說,在一個honeypot存在安全威脅後,你將花費很多精力來分析攻擊記錄,你必須在把honeypot放回honeynet之前恢復它們。這是很浪費時間的。但是,使用VMware後,恢復honeypot就只是拷貝你的備份檔案這麼簡單。你可以在很短的時間內使你的honeypots恢復運行。比如,默認情況下,VMware將每個honeypot映射存放在目錄/root/vmware下。你可以通過拷貝這個目錄來備份所有的honeypots。當你想要恢復一個honeypot的時候,你只需要拷貝包含所有honeypot映射檔的目錄就可以了。

host #ls -l /root/vmware

total 28

drwxr-xr-x    2 root root 4096 Oct 10 01:10 linux-6.2

drwxr-xr-x    2 root root 4096 Jan 14 19:00 linux-7.2

drwxr-xr-x    2 root root 4096 Jan 14 22:14 linux-7.3

drwxr-xr-x    2 root root 4096 Jan 25 15:15 openbsd

drwxr-xr-x    2 root root 4096 Jan 25 15:15 solaris

drwxr-xr-x    2 root root 4096 Dec 16 08:47 win2000Serv

drwxr-xr-x    2 root root 4096 Jan 25 15:15 winXPPro

host #

host #cp -a /root/vmware /root/vmware-backup



Part III: 數據控制

完成VMware和honeypots配置後的下一步就是數據控制了。數據控制的目的就是要獲得攻擊者進出Honeynet的一切資訊。特別的,我們允許所有進入Honeynet系統的數據,但是限制對外的連接。鑒於這篇文章的目的,我們將使用IPTables這種Linux自帶的開放源代碼的防火牆來解決此問題。IPTables是一種靈活性相當高的正式的防火牆,有連接限制,網絡位址轉換,日誌記錄的功能,和許多其他的特性。我們把IPTables配置成我們HostOS上的篩檢程式,計算流出網絡的數據報。一旦對向外的連接到達了限制的數量,之後所有的連接嘗試都會被阻止,保證被入侵的honeypot不會對其他系統造成損害。配置和實現這些性能可能會非常複雜。但是,Honeynet Project編寫了一個稱作rc.firewall的IPTables腳本,它可以幫助你完成所有的工作。你僅僅需要修改腳本變數使它適應你的Honeynet,然後運行腳本。

你首先要決定的一件事是,你想使網關運行在第三層的路由模式,還是第二層的網橋模式。第二層網橋模式(也叫做GenII, 或者2nd generation)是首選的方法。當網關扮演網橋的角色時,就沒有數據報路由和數據報的TTL消耗,它成為一個不可見的過濾設備,使攻擊者更難發覺。但是,要想使IPTables工作在網橋模式,你的內核必須打補丁來支持它。默認情況下,絕大多數內核都不支援IPTables的網橋模式。Red Hat內核2.4.18-3是少數幾個默認情況下支援這種模式的內核之一。如果你想修改內核,你可以在http://bridge.sourceforge.net/download.html找到補丁。考慮到這篇文章的目的,我們將假設你的內核確實支援IPTables的網橋模式。如果你的內核不支援網橋模式,請查閱文章KYE: UML獲取關於配置rc.firewall來支持第三層路由的更多資訊。

現在,讓我們來詳細講述怎樣配置rc.firewall腳本來實現GenII的功能。有兩個地方需要配置,網絡和控制。實際上,網絡在網橋模式中遠比在路由模式中簡單。在網橋模式中,沒有路由,或者任何網絡位址轉換問題。我們只需簡單的把HostOS變成網橋,GuestOS’s就可以直接和其他網絡通訊了。針對連接問題,我們需要配置允許多少對外連接。我們需要配置的選項如下。首先,你需要設置Guest作業系統的對外IP位址。這些是攻擊者要攻擊的IP位址,是我們honeypots的有效IP位址。既然我們有五個honeypots,我們需要列出五個IP位址。防火牆需要知道它們的範圍。

PUBLIC_IP="10.10.10.201 10.10.10.202 10.10.10.203 10.10.10.204 10.10.10.205"

其次,你要識別HostOS的內部介面的名字。默認情況是eth1。但是,我們將使用虛擬介面vmnet1,需要修改這個變數。

LAN_IFACE="vmnet1"

最後,既然我們要搭建一個GenII Honeynet,你必須考慮儘量使用Snort自帶的功能阻止已知的向外的攻擊。描述Snort-Inline的細節已經超過了這篇文章的範疇,它將在以後的文章Know Your Enemy: GenII Honeynet 中討論。你可能會考慮使用Honeynet Snort-Inline工具包,它有靜態的,編譯好了的二進位檔,有配置檔,規則庫和文檔,你可以在Honeynet Tools section找到Snort-Inline工具包。如果你確實想測試這個性能,你需要啟用QUEUE選項。注意:如果你啟用了這個選項,你必須保證已經運行了Snort-Inline,否者所有外出的數據報都會被丟棄。如果沒有作到以上要求,請不要啟用這個特性。

#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。

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會嘗試連接它在掛起之前和它進行通訊的任何系統。



結論

這篇文章的目的是一步一步講述怎樣使用VMware虛擬軟體來搭建一個虛擬Honeynet。我們的目標是在一台電腦上搭建一個完整的Honeynet。VMware的優點是你可以在同一時刻運行許多種不同類型的作業系統。如果你想要嘗試搭建自己的VMware honeynet,你可以在http://www.vmware.com/download/#eval.獲得一份試用版的VMware。


關於我們:

FZ5FZ 主要從事網絡/系統安全的學習與研究,深入編程技術的剖析與探討,堅持原創,追求共用。
FZ5FZ 主頁:http://www.fz5fz.org

連接:瞭解你的敵人:瞭解VMware http://www1.fz5fz.org/fz5fz/documents/20.htm


回頂端
 個人資料  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 2 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章

搜尋:
前往 :  
POWERED_BY
正體中文語系由 竹貓星球 維護製作