自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Tripwire:一款老牌的文件完整性檢查器

安全
Tripwire是一款最為常用的開(kāi)放源碼的完整性檢查工具,它生成目標(biāo)文件的校驗(yàn)和并周期性的檢查文件是否被更改。

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

下載鏈接:http://down.51cto.com/data/149235

>>去網(wǎng)絡(luò)安全工具百寶箱看看其它安全工具

Tripwire的工作原理

當(dāng)Tripwire運(yùn)行在數(shù)據(jù)庫(kù)生成模式時(shí),會(huì)根據(jù)管理員設(shè)置的一個(gè)配置文件對(duì)指定要監(jiān)控的文件進(jìn)行讀取,對(duì)每個(gè)文件生成相應(yīng)數(shù)字簽名,并將這些結(jié)果保存在自己的數(shù)據(jù)庫(kù)中,在缺省狀態(tài)下,MD5和SNCFRN(Xerox的安全哈希函數(shù))加密手段被結(jié)合用來(lái)生成文件的數(shù)字簽名。除此以外,管理員還可使用MD4,CRC32,SHA等哈希函數(shù),但實(shí)際上,使用上述兩種哈希函數(shù)的可靠性已相當(dāng)高了,而且結(jié)合MD5和sncfrn兩種算法(尤其是sncfrn)對(duì)系統(tǒng)資源的耗費(fèi)已較大,所以在使用時(shí)可根據(jù)文件的重要性做取舍。當(dāng)懷疑系統(tǒng)被入侵時(shí),可由Tripwire根據(jù)先前生成的,數(shù)據(jù)庫(kù)文件來(lái)做一次數(shù)字簽名的對(duì)照,如果文件被替換,則與Tripwire數(shù)據(jù)庫(kù)內(nèi)相應(yīng)數(shù)字簽名不匹配, 這時(shí)Tripwire會(huì)報(bào)告相應(yīng)文件被更動(dòng),管理員就明白系統(tǒng)不"干凈"了。

有一點(diǎn)要注意,上述保障機(jī)制的重點(diǎn)在于數(shù)據(jù)庫(kù)內(nèi)的數(shù)字簽名,如果數(shù)據(jù)庫(kù)是不可靠的,則一切工作都喪失意義。所以在Tripwire生成數(shù)據(jù)庫(kù)后,這個(gè)庫(kù)文件的安全極為重要。比較常見(jiàn)的做法是將數(shù)據(jù)庫(kù)文件, Tripwire二進(jìn)制文件,配置文件單獨(dú)保留到"可拿走并鎖起來(lái)"的質(zhì)上,如軟盤(pán),將上述文件復(fù)制到軟盤(pán)后,關(guān)閉寫(xiě)保護(hù)口,鎖到保險(xiǎn)柜中。除軟盤(pán)外, 一次性介質(zhì),如cd-r也是很好的選擇,這樣即使侵入者拿到盤(pán)也無(wú)計(jì)可施。除這種辦法外,利用PGP等加密工具對(duì)上述關(guān)鍵文件進(jìn)行數(shù)字簽名也是一個(gè)很好的選擇。

當(dāng)然,當(dāng)管理員自身對(duì)某些文件更動(dòng)時(shí), Tripwire的數(shù)據(jù)庫(kù)必然是需要隨之更新的, Tripwire考慮到了這一點(diǎn),它有四種工作模式:數(shù)據(jù)庫(kù)生成,完整性檢查,數(shù)據(jù)庫(kù)更新。交互更新。當(dāng)管理員更動(dòng)文件后,可運(yùn)行數(shù)據(jù)庫(kù)更新模式來(lái)產(chǎn)生新的數(shù)據(jù)庫(kù)文件。

下載Tripwire,安裝前的準(zhǔn)備工作

Tripwire支持絕大多數(shù)Unix操作系統(tǒng),它的安裝需要編譯環(huán)境,如gcc,cc等,還需要gzip,gunzip等解壓工具。這些工具管理員可從相應(yīng)站點(diǎn)獲取,這里不討論。Tripwire可從www.tripwire.com獲得,到它的主頁(yè)download部分,可以看到當(dāng)前可免費(fèi)download的Tripwire1.3 ASR版本,下載下來(lái)就是。

安裝Tripwire

Tripwire的tar包解開(kāi)后,我們可以看到如下目錄結(jié)構(gòu),建議先看看根下的README文件,對(duì)Tripwire有個(gè)整體的了解。隨后,我們就可以一步步的安裝這個(gè)軟件了。

步驟1:匹配主機(jī)環(huán)境

在Tripwire的根下有Ported這個(gè)文件,它是對(duì)支持的系統(tǒng)及相關(guān)配置文件的描述,管理員第一步需要打開(kāi)這個(gè)文件,找到符合自己系統(tǒng)的描述,本文的測(cè)試環(huán)境是solaris2.6,我們截取相關(guān)部分來(lái)看看,

  1. vendor: Sun Microsystems, Inc.  
  2. os: SunOS  
  3. os version: 5.x (Solaris 2.x)  
  4. compiler: cc  
  5. cflags: -O  
  6. ldflags:  
  7. libs:  
  8. conf.h: conf-svr4.h  
  9. tw.config: tw.Conf.sunos5 

notes:

在這一段描述中,要尤其注意的是conf.h 和tw.config對(duì)應(yīng)的行,在下幾步的配置中需要用到它們兩個(gè)對(duì)應(yīng)的文件。此處要注意的是:每種操作系統(tǒng)這兩個(gè)地方所對(duì)應(yīng)的文件是不同的。

步驟2:配置監(jiān)控目標(biāo)

進(jìn)入include目錄,編輯config.h文件,將第一步Ported中conf.h后對(duì)應(yīng)的文件名和路徑寫(xiě)入config.h開(kāi)始#include部分,此例中即為

  1. #include "../configs/conf-svr4.h" 

同時(shí)注意的是,在configh文件中還有Tripwire配置文件,Tripwire數(shù)據(jù)庫(kù)文件的放置路徑及生成數(shù)據(jù)庫(kù)的文件名等設(shè)置,管理員按照個(gè)人喜好設(shè)置即可編輯好config.h后,還要根據(jù)本機(jī)情況編輯修改位于configs目錄下的Tripwire配置文件,也就是上面Ported 文件中tw.config對(duì)應(yīng)的tw.conf.sunos5,我們知道,對(duì)文件,目錄等的監(jiān)控就是在這里設(shè)置的。我們一段段的選取一部分這個(gè)文件來(lái)看看:

  1. #  
  2. # - : ignore the following atributes  
  3. # + : do not ignore the following attributes  
  4. #  
  5. # p : permission and file mode bits a: access timestamp  
  6. # i : inode number m: modification timestamp  
  7. # n : number of links (ref count) c: inode creation timestamp  
  8. # u : user id of owner 1: signature 1  
  9. # g : group id of owner 2: signature 2  
  10. # s : size of file 

注意上述p,I,n,u,g,s,a,c,1,2等,它表示可以對(duì)文件,目錄設(shè)置的監(jiān)控項(xiàng)目,管理員可組合使用,最前面的-,+號(hào)表示選取或忽略這些屬性。如下例:

  1. /var +pinugsm12-a 

它表示對(duì)目錄/var下所有文件檢查,監(jiān)控項(xiàng)目分別有文件屬性,inode,鏈接數(shù),屬組,屬主,修改時(shí)間,生成時(shí)間,數(shù)字簽名等,但是,對(duì)這個(gè)目錄下的文件的訪問(wèn)不加監(jiān)控,如果訪問(wèn)也監(jiān)控的話,正常的用戶訪問(wèn)也會(huì)被Tripwire捕捉,這沒(méi)有必要。

為了方便起見(jiàn),Tripwire作者把常見(jiàn)組合做成了模板,如下,

  1. #  
  2. # Templates: (default) R : [R]ead-only (+pinugsm12-a)  
  3. # L : [L]og file (+pinug-sam12)  
  4. # N : ignore [N]othing (+pinusgsamc12)  
  5. # E : ignore [E]verything (-pinusgsamc12)  

tw.conf.sunos5這個(gè)文件再向下,就是管理員根據(jù)情況填寫(xiě)了,把需要監(jiān)控的文件及目錄加入列表,賦予相應(yīng)屬性即可。如下:

  1. / R  
  2. /.rhosts R # may not exist  
  3. /.profile R # may not exist  
  4. /etc/dfs/dfstab R  
  5. /etc/hosts.equiv R  
  6. /etc/inet/inetd.conf R  
  7. /etc/inet/protocols R  
  8. /etc/inet/services R  
  9. /etc/init.d R  
  10. /etc/motd L  
  11. #/etc/named.boot R # may not exist  
  12. /etc/opt R  
  13. /etc/passwd L  
  14. /etc/profile R 

步驟3:編譯

完成上兩步后,就可以編譯了,在Tripwire的根下,執(zhí)行make,系統(tǒng)即會(huì)自動(dòng)編譯,編譯成功后,可以再執(zhí)行make test,Tripwire會(huì)自動(dòng)檢查編譯情況及工作狀態(tài),它會(huì)一段一段的測(cè)試,我們選取一段如下:

  1. === test.Update.sh: DESCRIPTION  
  2. This shell script exercises all the Tripwire integrity checking  
  3. and database update functionalities。  
  4. === test.update.sh: Setting up auxiliary scripts ===  
  5. === test.update.sh: BEGIN ===  
  6. ../src/tripwire -loosedir -c /tmp/twtest/tw.config -d /tmp/twtest/tw.db -i all 
  7. === test.update.sh: testing GROWING (safe) files ===  
  8. === test.update.sh: testing GROWING (unsafe) files ===  
  9. === test.update.sh: testing ADDED files ===  
  10. === test.update.sh: testing DELETED files ===  
  11. === test.update.sh: testing CHANGED files ===  
  12. === test.update.sh: testing input schemes ===  
  13. === test.update.sh: tw.config from stdin 
  14. === test.update.sh: database from stdin 
  15. === test.update.sh: testing complex UPDATE cases 
  16. === test.update.sh: changed ignore-mask (UPDATE file)  
  17. === test.update.sh: changed ignore-mask (UPDATE entry)  
  18. === test.update.sh: testing UPDATED files (7 cases)  
  19. === test.update.sh: case 1: update: add new file ===  
  20. === test.update.sh: case 2: update: delete file ===  
  21. === test.update.sh: case 3: update: update file ===  
  22. === test.update.sh: case 4: nonsense case (skipping) ===  
  23. === test.update.sh: case 6: update: delete entry ===  
  24. === test.update.sh: case 5: update: add entry ===  
  25. === test.update.sh: case 7: update: update entry ===  
  26. === test.update.sh: PASS ===   

我們可以看到,Tripwire對(duì)update功能一項(xiàng)項(xiàng)的做檢測(cè),并在最后PASS了,當(dāng)Tripwire所有的檢測(cè)項(xiàng)目都PASS后,編譯就OK了。

步驟4:生成數(shù)據(jù)庫(kù)

成功編譯Tripwire,我們準(zhǔn)備開(kāi)始對(duì)需要監(jiān)控的文件進(jìn)行掃描,以生成Tripwire數(shù)據(jù)庫(kù),在Tripwire 的src目錄下:如下操作。/tripwire -init,則系統(tǒng)會(huì)根據(jù)tw.conf.sunos5文件內(nèi)的設(shè)置,開(kāi)始掃描并生成相應(yīng)的數(shù)據(jù)庫(kù),上面提到,數(shù)據(jù)庫(kù)文件的路徑是在第二步configh中設(shè)置的,在本例中為/var/tripwire,我們得到了名為tw.db_secu.unix.com的數(shù)據(jù)庫(kù)文件。建議此時(shí)將Tripwire可執(zhí)行文件,數(shù)據(jù)庫(kù)文件,配置文件COPY到軟盤(pán)等地方,放到安全的地方。以后需要安全鑒別時(shí)直接在軟盤(pán)上執(zhí)行即可。

步驟5:測(cè)試

數(shù)據(jù)庫(kù)生成了,我們來(lái)測(cè)試一下吧,首先我們?cè)诟聇ouch生成一個(gè)goadd文件,其次我們把根下的.cshrc文件做一下改動(dòng),在里面加入幾個(gè)#注釋號(hào)。然后我們來(lái)運(yùn)行一下Tripwire看如何:

  1. / Tripwire -c ./tw.config.sunos5 -d ./tw.db_secu.unix.com  
  2. Tripwire(tm) ASR (Academic Source Release) 1.3.1  
  3. File Integrity Assessment Software  
  4. (c) 1992, Purdue Research Foundation, (c) 1997, 1999 Tripwire  
  5. Security Systems, Inc。 All Rights Reserved。 Use Restricted to  
  6. Authorized Licensees。  
  7. ### Phase 1: Reading configuration file  
  8. ### Phase 2: Generating file list  
  9. ./tripwire: /.profile: No such file or directory  
  10. ./tripwire: /kernel/unix: No such file or directory  
  11. ### Phase 3: Creating file information database  
  12. ### Phase 4: Searching for inconsistencies  
  13. ###  
  14. ### Total files scanned: 4437  
  15. ### Files added: 1  
  16. ### Files deleted: 0  
  17. ### Files changed: 1  
  18. ###  
  19. ### Total file violations: 2  
  20. ###  
  21. added: -rw-r--r-- root 0 Jul 3 18:45:31 2000 /goadd  
  22. changed: -r--r--r-- root 669 Jul 3 18:46:15 2000 /.cshrc  
  23. ### Phase 5: Generating observed/expected pairs for changed files  
  24. ###  
  25. ### Attr Observed (what it is) Expected (what it should be)  
  26. ### =========== ============================= =============================  
  27. /.cshrc  
  28. st_size: 669 668  
  29. st_mtime: Mon Jul 3 18:46:15 2000 Mon Jul 3 09:00:41 2000  
  30. st_ctime: Mon Jul 3 18:46:15 2000 Mon Jul 3 09:00:41 2000  
  31. md5 (sig1): 3z9gKjlZGq5GbeWOxpYaF9 1Z7K0n3ZKAyuPpAZB1G8uq  
  32. snefru (sig2): 1vCDeMR45lpRCChmDithiW 1oRYPpQ:oZA6hVx6Zi4.NG 

可以看到,系統(tǒng)運(yùn)行經(jīng)過(guò)了5個(gè)步驟,首先讀取配置文件,其次生成配置文件中設(shè)置為需要監(jiān)控,但實(shí)際并不存在的文件列表。第三部生成文件信息庫(kù),第四步報(bào)告檢查情況。我們看到共掃描了4437個(gè)文件,其中有一個(gè)文件是新增加的,有一個(gè)文件發(fā)生了改變。在下面它列出了這兩個(gè)文件-正是我們做了手腳的文件!在最后一步Tripwire將發(fā)生了改變的文件現(xiàn)在字節(jié)數(shù),生成時(shí)間,修改時(shí)間, md5, snefru簽名及數(shù)據(jù)庫(kù)中的記錄對(duì)比列出,是不是很爽?

上面我們講到的是Tripwire的主要功能,在命令行狀態(tài)下敲入tripwire -h 就會(huì)有其它使用參數(shù)的介紹,有興趣的管理員不妨一試。

責(zé)任編輯:佚名 來(lái)源: edu.cn
相關(guān)推薦

2013-12-05 13:11:33

2010-04-14 09:28:44

Unix操作系統(tǒng)

2015-09-15 13:41:14

文件系統(tǒng)檢測(cè)工具AIDE運(yùn)維工具

2018-06-22 23:14:19

完整性監(jiān)測(cè)FIM信息安全

2018-02-05 22:41:35

2015-03-12 15:44:59

2018-05-02 08:35:33

LinuxTripwire文件系統(tǒng)

2018-03-19 09:15:00

2010-06-01 18:14:55

Rsync 使用

2020-01-13 09:00:00

OsqueryLinux監(jiān)控文件

2010-02-26 15:41:16

WCF分布事務(wù)

2023-03-17 16:32:51

測(cè)試軟件開(kāi)發(fā)

2023-05-11 14:00:01

微軟兼容性掃描工具

2009-09-25 11:03:35

PCI DSS數(shù)據(jù)完整數(shù)據(jù)安全

2022-03-22 12:56:53

垃圾數(shù)據(jù)數(shù)據(jù)完整性

2015-06-08 13:48:15

數(shù)據(jù)庫(kù)數(shù)據(jù)完整性約束表現(xiàn)

2010-06-10 15:52:04

MySQL參照完整性

2011-05-20 14:39:28

2010-06-01 18:11:25

Rsync 使用

2014-11-05 11:08:55

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)