• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 利用Tripwire檢測系統完整性(1)

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    完整性是安全要求的基本要求之一,本文將向讀者詳細介紹如何利用 開源 完整性檢測工具Tripwire來檢查系統的完整性。 一、系統的完整性 我們知道,系統的正常運行要靠系統程序的正常運轉,而程序的運行又與其可執行文件休戚相關。所以,維護系統完整性是確保

    完整性是安全要求的基本要求之一,本文將向讀者詳細介紹如何利用開源完整性檢測工具Tripwire來檢查系統的完整性。

    一、系統的完整性

    我們知道,系統的正常運行要靠系統程序的正常運轉,而程序的運行又與其可執行文件休戚相關。所以,維護系統完整性是確保系統安全的一項基本工作。我們這里的系統完整性是指系統中可執行文件的完整性,也就是說系統中的程序文件沒被非法修改。

    如果可執行文件被惡意修改的話,如改變、插入或刪除等,將直接威脅到系統的安全性。大多數情況下,黑客滲入到系統后會立即修改某些系統文件以創建后門,如用準備好的替代物換掉系統中原有的/bin/login文件以便使其不用口令便能登陸系統;然后再修改某些文件,例如/bin/ls等,以便隱藏其行徑。如果我們沒能發現這些改變的話,那無異于身處險境卻還以為很安全,這就為黑客的長期入侵提供了非常有利的條件,同時也意味著我們的損失將更大!為了改變這種被動的局面,我們需要一種文件完整性檢查工具,使得當系統文件被惡意修改后能及時發現,從而為進一步處理創造條件。

    二、Tripwire概述

    Tripwire的運行機理

    Tripwire是一款最為常用的開放源碼的完整性檢查工具,它生成目標文件的校驗和并周期性的檢查文件是否被更改。下面我們簡單介紹一下Tripwire的運行機理。與大多數完整性檢查程序相同,對于需要監視的文件,Tripwire會使用校驗和來為文件的某個狀態生成唯一的標識(又稱為"快照"),并將其存放起來以備后用。當Tripwire程序運行時,它先計算新的標識,并于存放的原標識加以比較,如果發現不匹配的話,它就報告系統管理人員文件已經被修改。接下來,系統管理員就可以利用這個不匹配來判斷系統是否遭到了入侵。例如,如果Tripwire已經為/bin/login和/bin/ls存放了快照,那么對它們的尺寸、inode號、權限以及其他屬性的任何修改,都逃不過Tripwire的火眼金睛。尤其是對于文件內容的修改,即使只改變了一個字節,Tripwire也能察覺得到,因為校驗和是針對文件整體的。

    通過對以上運行機制的了解我們不難發現,完整性檢查工具的安裝時機非常重要,最好是在交付用戶使用和連入網絡之前的Linux系統初裝時進行。因為完整性檢查工具只有保留了系統文件的初始狀態(快照),才能確保系統文件的完整性;如果在系統使用一段時間后再取其快照的話,它很可能已經不再是原系統文件的映象(如已經遭到破壞),所以這時的完整性檢測的可靠性已經打了折扣。

    Tripwire的組成

    Tripwire主要由策略和數據庫組成。策略不僅指出Tripwire應檢測的對象即文件和目錄,而且還規定了用于鑒定違規行為的規則。一般情況下,對于/root、/bin和/lib目錄及其中文件的任何修改都應視為違規行為。數據庫則用來存放策略中規定的檢測對象的快照。只要建立了策略和數據庫,我們就可以隨時用快照來比較當前的文件系統,然后生成一個完整性檢測報告,從而判斷系統的完整性是否受到攻擊。除了策略和數據庫外,Tripwire還有一個配置文件,用以控制數據庫、策略文件和Tripwire可執行程序的位置等。

    為了防止被篡改,Tripwire對其自身的一些重要文件進行了加密和簽名處理。這里涉及到兩個密鑰:site密鑰和local密鑰。其中,前者用于保護策略文件和配置文件,如果多臺機器具有相同的策略和配置的話,那么它們就可以使用相同的site密鑰;后者用于保護數據庫和報告,因此不同的機器必須使用不同的local密鑰。

    三、Tripwire的安裝和設置

    Tipwire的安裝

    Tripwire的下載地址為http://www.tripwire.org。如果您使用的是Red Hat Linux的話,可以下載該站點上的RPM格式的程序(當前最新版本為rpm4-tripwire-2.3-47.i386.tar.gz),假設將其下載到/A目錄的話,安裝過程如下所示:

    rpm -ivh /A/rpm4-tripwire-2.3-47.i386.tar.gz


    如果從源代碼中進行軟件安裝,先下載tar格式源程序并解包。接下來在相應目錄中執行如下操作:

    ./configure make make install


    安裝后的設置

    在安裝Tripwire之后,可以進行如下的設置:

    # cd /etc/tripwire # ./twinstall.sh # 
    tripwire --init # rm twcfg.txt twpol.txt


    這里,腳本twinstall.sh的作用在于執行下列任務:

    1) 創建site和local密鑰,這時會要求輸入口令;如果這兩個密鑰業已存在,則可以跳過此步驟。其中,site密鑰存放在site.key文件中,而local密鑰則存放在hostname-local.key(這里的hostname是指該機器的主機名)文件之中。

    2) 利用site密鑰對默認配置文件twcfg.txt進行簽名,并將簽名(而非被簽名的文件twcfg.txt)存放于文件tw.cfg之中。

    3) 利用site密鑰對默認策略文件twcfg.txt進行簽名,并將簽名(而非被簽名的文件twcfg.txt)存放于文件tw.pol之中。

    此外,您還可以手工方式來安裝,尤其是在由于某種原因,您的系統沒帶twinstall.sh文件等情況下則必須手工完成這項工作:

    設置常見的變量:

    DIR=/etc/tripwire SITE_KEY=$DIR/site.key 
    LOCAL_KEY=$DIR/`hostname`-local.key


    創建site密鑰

    # twadmin --generate-keys --site-keyfile $SITE_KEY


    生成local密鑰

    # twadmin --generate-keys --local-keyfile $LOCAL_KEY


    為配置文件簽名

    # twadmin --create-cfgfile --cfgfile $DIR/tw.cfg \ 
    --site-keyfile $SITE_KEY $DIR/twcfg.txt


    為策略文簽名

    # twadmin --create-polfile --cfgfile $DIR/tw.cfg \
    --site-keyfile $SITE_KEY $DIR/twpol.txt


    設置權限

    # cd $DIR # chown root:root $SITE_KEY $LOCAL_KEY tw.cfg tw.pol
    # chmod 600 $SITE_KEY $LOCAL_KEY tw.cfg tw.pol


    需要說明的是,上述配置是以您的默認配置和策略文件已經存在并分別為twcfg.txt 和 twpol.txt為前提的。一般情況下,為了使這兩個文件能更好的滿足我們的系統要求,還必須對其進行相應的修改(見下文)。此外,策略和配置文件的名稱必須為twcfg.txt 和 twpol.txt,因為腳本代碼就是用的這兩個名稱。

    然后,為tripwire建立數據庫并用local進行簽名,命令如下所示:

    # tripwire -init


    需要說明的是,完成此項操作,需要輸入local密鑰的口令;如果tripwire出現類似"Warning: File System Error"之類的錯誤消息的話,那么可能是由于默認策略引用了并不存在的文件所引起的。

    為了安全起見,我們還需要刪除明文形式的策略和配置文件,命令如下所示:

    # rm twcfg.txt twpol.txt

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>