电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Unix文件安全檢查利器- Tripwire

瀏覽:77日期:2024-06-15 08:06:15

1:為什么會有Tripwire,什么是Tripwire

對Unix管理員來說,主機系統的安全一直是個課題,一方面管理員通過更新patch,安裝軟硬件防火墻等手段努力使自己的系統可靠性增強,而另一方面unix操作系統的漏洞總是不斷被發現并被公布出來,如BUGTRAQ這樣的安全列表,從這個角度上可以很絕對的說,互聯網上沒有安全的主機。任何一臺放在Internet上的主機被入侵的潛在可能性是不可逃脫的,而且,對入侵者而言,利用漏洞進入系統往往只是第一步,如果想得到更多的,如超級用戶的密碼,數據庫的口令等,往往需要下點功夫,最便捷也是最有效的就是改動或特洛伊化受侵害的主機上的文件,如放置自己的監聽程序,替代某些關鍵文件,修改編輯可信文件,設置suid文件等。

一些管理員通unix自帶的命令來檢查文件的安全性,如檢查文件生成的時間戳,但這樣的可靠性微乎其微,有經驗的入侵者可以很輕松的修改文件生成時間,有興趣的管理員可以試試以下操作:

secu.unix.org# echo '+ +' > /.rhosts

這一步生成一個.rhosts文件,看看它的時間。

Secu.Unix.org# ls -l /.rhosts

-rw-r--r-- 1 root other 4 Jul 2 16:45 /.rhosts

好,我們如下操作看看會怎么樣?

Secu.unix.org# touch -r /bin/sh /.rhosts

有什么效果? 我們再次ls –l看一下,

secu.unix.org# ls -l /.rhosts

-rw-r--r-- 1 root other 4 Apr 5 16:32 /.rhosts

我們看到時間戳已經變了。變成了一個”老”文件,這樣很可能就會逃脫管理員的視線。。

又比如,入侵者替換掉了su文件,在正當用戶每次試圖su時,這個特洛伊化的su文件都會讀取口令并將口令記載下來,然后才把控制權交給真正的su程序,口令通過這種途徑泄密了,雖然這不是管理員所期望的,但畢竟unix太大太復雜,發現起來很困難。

Tripwire就是解決這一問題的經典工具,它是目前最為著名的unix下文件系統完整性檢查的軟件工具,這一軟件采用的技術核心就是對每個要監控的文件產生一個數字簽名,保留下來。當文件現在的數字簽名與保留的數字簽名不一致時,那么現在這個文件必定被改動過了。具體到監控項目,在Tripwire的配置文件中有如下相應說明:

access permissions and file mode settings, including effective execution settings

inode number in the file system

number of links

user ID of the owner

group ID of the group of users to which access may be granted

size of the item

date and time the item was last accessed, the last modification made to the item, and the creation date and time associated with the item's inode

由上,我們可以看到Tripwire對文件的管理面是很寬的。

2: Tripwire的工作原理

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

有一點要注意,上述保障機制的重點在于數據庫內的數字簽名,如果數據庫是不可靠的,則一切工作都喪失意義。所以在Tripwire生成數據庫后,這個庫文件的安全極為重要。比較常見的做法是將數據庫文件, Tripwire二進制文件,配置文件單獨保留到”可拿走并鎖起來”的介質上,如軟盤,將上述文件復制到軟盤后,關閉寫保護口,鎖到保險柜中。除軟盤外, 一次性介質,如cd-r也是很好的選擇,這樣即使侵入者拿到盤也無計可施。

除這種辦法外,利用PGP等加密工具對上述關鍵文件進行數字簽名也是一個很好的選擇。

當然,當管理員自身對某些文件更動時, Tripwire的數據庫必然是需要隨之更新的, Tripwire考慮到了這一點,它有四種工作模式:數據庫生成,完整性檢查,數據庫更新。交互更新。當管理員更動文件后,可運行數據庫更新模式來產生新的數據庫文件。

3:下載Tripwire,安裝前的準備工作

Tripwire支持絕大多數Unix操作系統,它的安裝需要編譯環境,如gcc,cc等,還需要gzip,gunzip等解壓工具。這些工具管理員可從相應站點獲取,這里不討論。

Tripwire可從www.tripwire.com獲得,到它的主頁download部分,可以看到當前可免費download的Tripwire1.3 ASR版本,下載下來就是。

4:安裝Tripwire

Tripwire的tar包解開后,我們可以看到如下目錄結構,建議先看看根下的README文件,對Tripwire有個整體的了解。隨后,我們就可以一步步的安裝這個軟件了。

步驟1:匹配主機環境

在Tripwire的根下有Ported這個文件,它是對支持的系統及相關配置文件的描述,管理員第一步需要打開這個文件,找到符合自己系統的描述,本文的測試環境是Solaris2.6,我們截取相關部分來看看,

vendor: Sun Microsystems, Inc.

os: SunOS

os version: 5.x (Solaris 2.x)

compiler: cc

cflags: -O

ldflags:

libs:

conf.h: conf-svr4.h

tw.config: tw.Conf.sunos5

notes:

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

步驟2:配置監控目標

進入include目錄,編輯config.h文件,將第一步Ported中conf.h后對應的文件名和路徑寫入config.h開始#include部分,此例中即為

#include '../configs/conf-svr4.h'

同時注意的是,在configh文件中還有Tripwire配置文件,Tripwire數據庫文件的放置路徑及生成數據庫的文件名等設置,管理員按照個人喜好設置即可。

編輯好config.h后,還要根據本機情況編輯修改位于configs目錄下的Tripwire配置文件,也就是上面Ported 文件中tw.config對應的tw.conf.sunos5,我們知道,對文件,目錄等的監控就是在這里設置的。我們一段段的選取一部分這個文件來看看:

#

# - : ignore the following atributes

# + : do not ignore the following attributes

#

# p : permission and file mode bits a: access timestamp

# i : inode number m: modification timestamp

# n : number of links (ref count) c: inode creation timestamp

# u : user id of owner 1: signature 1

# g : group id of owner 2: signature 2

# s : size of file

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

/var +pinugsm12-a

它表示對目錄/var下所有文件檢查,監控項目分別有文件屬性,inode,鏈接數,屬組,屬主,修改時間,生成時間,數字簽名等,但是,對這個目錄下的文件的訪問不加監控,如果訪問也監控的話,正常的用戶訪問也會被Tripwire捕捉,這沒有必要。

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

#

# Templates: (default) R : [R]ead-only (+pinugsm12-a)

# L : [L]og file (+pinug-sam12)

# N : ignore [N]othing (+pinusgsamc12)

# E : ignore [E]verything (-pinusgsamc12)

#

tw.conf.sunos5這個文件再向下,就是管理員根據情況填寫了,把需要監控的文件及目錄加入列表,賦予相應屬性即可。如下:

/ R

/.rhosts R # may not exist

/.profile R # may not exist

/etc/dfs/dfstab R

/etc/hosts.equiv R

/etc/inet/inetd.conf R

/etc/inet/protocols R

/etc/inet/services R

/etc/init.d R

/etc/motd L

#/etc/named.boot R # may not exist

/etc/opt R

/etc/passwd L

/etc/profile R

步驟3:編譯

完成上兩步后,就可以編譯了,在Tripwire的根下,執行make,系統即會自動編譯,編譯成功后,可以再執行make test, Tripwire會自動檢查編譯情況及工作狀態,它會一段一段的測試,我們選取一段如下:

=== test.Update.sh: DESCRIPTION

This shell script exercises all the Tripwire integrity checking

and database update functionalitIEs。

=== test.update.sh: Setting up auxiliary scripts ===

=== test.update.sh: BEGIN ===

../src/tripwire -loosedir -c /tmp/twtest/tw.config -d /tmp/twtest/tw.db -i all

=== test.update.sh: testing GROWING (safe) files ===

=== test.update.sh: testing GROWING (unsafe) files ===

=== test.update.sh: testing ADDED files ===

=== test.update.sh: testing DELETED files ===

=== test.update.sh: testing CHANGED files ===

=== test.update.sh: testing input schemes ===

=== test.update.sh: tw.config from stdin

=== test.update.sh: database from stdin

=== test.update.sh: testing complex UPDATE cases

=== test.update.sh: changed ignore-mask (UPDATE file)

=== test.update.sh: changed ignore-mask (UPDATE entry)

=== test.update.sh: testing UPDATED files (7 cases)

=== test.update.sh: case 1: update: add new file ===

=== test.update.sh: case 2: update: delete file ===

=== test.update.sh: case 3: update: update file ===

=== test.update.sh: case 4: nonsense case (skipping) ===

=== test.update.sh: case 6: update: delete entry ===

=== test.update.sh: case 5: update: add entry ===

=== test.update.sh: case 7: update: update entry ===

=== test.update.sh: PASS ===

我們可以看到,Tripwire對update功能一項項的做檢測,并在最后PASS了,當Tripwire所有的檢測項目都PASS后,編譯就OK了。

步驟4:生成數據庫

成功編譯Tripwire,我們準備開始對需要監控的文件進行掃描,以生成Tripwire數據庫,在Tripwire 的src目錄下:如下操作。/tripwire –init,則系統會根據tw.conf.sunos5文件內的設置,開始掃描并生成相應的數據庫,上面提到,數據庫文件的路徑是在第二步configh中設置的,在本例中為/var/tripwire,我們得到了名為tw.db_secu.unix.com的數據庫文件。建議此時將Tripwire可執行文件,數據庫文件,配置文件COPY到軟盤等地方,放到安全的地方。以后需要安全鑒別時直接在軟盤上執行即可。

步驟5:測試

數據庫生成了,我們來測試一下吧,首先我們在根下touch生成一個goadd文件,其次我們把根下的.cshrc文件做一下改動,在里面加入幾個#注釋號。然后我們來運行一下Tripwire看如何:

。/ Tripwire –c ./tw.config.sunos5 –d ./tw.db_secu.unix.com

Tripwire(tm) ASR (ACADemic Source Release) 1.3.1

File Integrity Assessment Software

(c) 1992, Purdue Research Foundation, (c) 1997, 1999 Tripwire

Security Systems, Inc。 All Rights Reserved。 Use Restricted to

Authorized Licensees。

### Phase 1: Reading configuration file

### Phase 2: Generating file list

./tripwire: /.profile: No such file or Directory

./tripwire: /kernel/unix: No such file or directory

### Phase 3: Creating file information database

### Phase 4: Searching for inconsistencies

###

### Total files scanned: 4437

### Files added: 1

### Files deleted: 0

### Files changed: 1

###

### Total file violations: 2

###

added: -rw-r--r-- root 0 Jul 3 18:45:31 2000 /goadd

changed: -r--r--r-- root 669 Jul 3 18:46:15 2000 /.cshrc

### Phase 5: Generating observed/expected pairs for changed files

###

### Attr Observed (what it is) Expected (what it should be)

### =========== ============================= =============================

/.cshrc

st_size: 669 668

st_mtime: Mon Jul 3 18:46:15 2000 Mon Jul 3 09:00:41 2000

st_ctime: Mon Jul 3 18:46:15 2000 Mon Jul 3 09:00:41 2000

md5 (sig1): 3z9gKjlZGq5GbeWOxpYaF9 1Z7K0n3ZKAyuPpAZB1G8uq

snefru (sig2): 1vCDeMR45lpRCChmDithiW 1oRYPpQ:oZA6hVx6Zi4.NG

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

上面我們講到的是Tripwire的主要功能,在命令行狀態下敲入tripwire –h 就會有其它使用參數的介紹,有興趣的管理員不妨一試

標簽: Unix系統
主站蜘蛛池模板: 恒湿机_除湿加湿一体机_恒湿净化消毒一体机厂家-杭州英腾电器有限公司 | 长信科技产业园官网_西安厂房_陕西标准工业厂房 | 煤粉取样器-射油器-便携式等速飞灰取样器-连灵动 | 变压器配件,变压器吸湿器,武强县吉口变压器配件有限公司 | 开平机_纵剪机厂家_开平机生产厂家|诚信互赢-泰安瑞烨精工机械制造有限公司 | 进口消泡剂-道康宁消泡剂-陶氏消泡剂-大洋消泡剂 | 间甲酚,间甲酚厂家-山东祥东新材料 | 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 - 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 | 塑料脸盆批发,塑料盆生产厂家,临沂塑料广告盆,临沂家用塑料盆-临沂市永顺塑业 | 光照全温振荡器(智能型)-恒隆仪器 | 土壤水分自动监测站-SM150便携式土壤水分仪-铭奥仪器 | 全自动贴标机-套标机-工业热风机-不干胶贴标机-上海厚冉机械 | 南京精锋制刀有限公司-纵剪机刀片_滚剪机刀片_合金刀片厂家 | 烟气换热器_GGH烟气换热器_空气预热器_高温气气换热器-青岛康景辉 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 蔬菜配送公司|蔬菜配送中心|食材配送|饭堂配送|食堂配送-首宏公司 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 耐力板-PC阳光板-PC板-PC耐力板 - 嘉兴赢创实业有限公司 | 干粉砂浆设备-干粉砂浆生产线-干混-石膏-保温砂浆设备生产线-腻子粉设备厂家-国恒机械 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 经济师考试_2025中级经济师报名时间_报名入口_考试时间_华课网校经济师培训网站 | 光环国际-新三板公司_股票代码:838504| 游动电流仪-流通式浊度分析仪-杰普仪器(上海)有限公司 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 湖南自考_湖南自学考试网| 桁架楼承板-钢筋桁架楼承板-江苏众力达钢筋楼承板厂 | 门禁卡_智能IC卡_滴胶卡制作_硅胶腕带-卡立方rfid定制厂家 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 山东钢衬塑罐_管道_反应釜厂家-淄博富邦滚塑防腐设备科技有限公司 | 超声波分散机-均质机-萃取仪-超声波涂料分散设备-杭州精浩 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 对辊式破碎机-对辊制砂机-双辊-双齿辊破碎机-巩义市裕顺机械制造有限公司 | 不锈钢反应釜,不锈钢反应釜厂家-价格-威海鑫泰化工机械有限公司 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 卸料器-卸灰阀-卸料阀-瑞安市天蓝环保设备有限公司 | 北京开源多邦科技发展有限公司官网 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 中视电广_短视频拍摄_短视频推广_短视频代运营_宣传片拍摄_影视广告制作_中视电广 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 |