Tripwire是目前最为著名的linux下文件系统完整性检查的软件工具,这一软件采用的技术核心就是对每个要监控的文件产生一个数字签名,保留下来。当文件现在的数字签名与保留的数字签名不一致时,那么现在这个文件必定被改动过了。
Tripwire的四种算法:
MD5,CRC32,SHA,HAVAL
后两种对系统的资源占用很大,常用前两种
安装:
yum install -y epel-release
yum install -y tripwire
在安装完后,会在/etc/tripwire/下生成两个文件:
twcfg.txt 这个文件存放的是这个软件如告警级别,发送邮件地址
twpol.txt 这个文件知名该软件监控哪些文件
生成新的tripwire密钥文件:
cd /etc/tripwire/ && tripwire-setup-keyfiles
在此,会让输入好几次密码,在此输入密码,并会生成一些列的文件出来。其中有两个key文件
site.key:站点文件加密
VM_1_28_centos-local.key:系统加密文件
tripwire --init 初始化
这时候会发现很多文件都不存在,这时候就可以采用下面的方法:
将不存在的目录都打印到no-derector.txt文件中
sh -c "tripwire --check" | grep Filename > no-directory.txt
将这些目录在twpol.txt中,前面都加上#号
for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do sed -i "s|\($f\) |#\\1\g" /etc/tripwire/twpol.txt done
在处理完后,重新生成并重新签署tripwire配置
twadmin -m P /etc/tripwire/twpol.txt
重新初始化:tripwire --init
上面是对tripwire的安装和配置
tripwire --check :检查系统完整性
使用方法:
在系统下新建用户:useradd test
passwd test
然后再对整个系统进行检测:
tripwire --check
这时候,系统就会给我们报警,看到系统下哪些文件发生了改变。
新添监控策略方法:如想查看/etc/init.d下有哪些服务发生了新增,修改或者删除
修改文件:/etc/tripwire/twpol.txt
在文件的末尾新增如下规则:
(
rulename = "server run", #规则名称
severity = $(SIG_HI), #报警级别
)
{
/etc/init.d -> $(SEC_CRIT);
}
在规则文件发生改变后,我们需要重新生成并重新签署tripwire配置
twadmin -m P /etc/tripwire/twpol.txt
然后重新初始化:
tripwire --init
然后我们再重新测试下,在/etc/init.d下新生成文件,再执行tripwire --check检查