论坛登陆 注册 文章专区 投稿文章 旧版浏览
首页 | 页界资讯 | 安全动态 | 网络应用 | 组网技术 | 软件应用 | 工具软件 | 网管知识 | 帮助
文学 | 操作系统 | 注 册 表 | 编程语言 | 数 据 库 | 服 务 器 | 网页设计 | 图形图象 | VIP
论坛 | 网络安全 | 安全防范 | 黑客技术 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
专题 | 教育频道 | 特色专题 | 精文荟萃 | 聊天通讯 | 网络文学 | 论坛社区 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>服务器>>Linux服务器>>正文

利用Tripwire检测系统完整性(1)

www.xker.com 作者:未知 来源:转载 加入日期:2005-11-21 8:04:13
利用Tripwire检测系统完整性(1):

完整性是安全要求的基本要求之一,本文将向读者详细介绍如何利用开源完整性检测工具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

上一篇:让你的Linux用起来跟Windows无异
下一篇:利用Tripwire检测系统完整性(2)

关闭窗口】【浏览次数:】【发送给好友】【收藏此页
相关文章 最新文章 热门文章

·Linux 2.4内核中新增功能指南
·Linux并不适用于桌面系统
·Linux操作系统下6个应急处理小常识
·Linux压缩格式存在漏洞
·Linux 防火墙配置基础篇
·如何共享两台Linux操作系统的根目录
·Linux认证--Linux文件权限的设置技巧
·如何实现Linux操作系统的自动登录
·RH Linux 9下面的VPN Server架设指南
·浅谈关于Unix操作系统下的病毒特点
·系统优化 专题
·QQ密码丢失后能做的事情:快速找回密码
·最经典的黑客入门教材
·怎样查找对方的IP地址
·找回QQ密码的注意事项 
·实战系统虚拟利器——MS VPC 2004
·免费代理IP(每日更新)
·DMA让你的硬盘速度飞起来
·电脑初学者必备之Windows进程大全
·让你的网速快到不可思议
评论 本站声明
【注】 发表评论必需遵守以下条例:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
  • 本站大部分为网络转载,如有版权问题,请通知我们,我们立即更正!

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2005 xker.com All rights reserved. 网站合作、广告联系QQ:12231446
小新技术网 冀ICP备05002857号