首页  编辑  

系统安全监控:tripwire

Tags: /计算机文档/Linux & Unix/   Date Created:
数据完整性监测 Tripwire是UNIX平台上著名的文件系统完整性检查工具,它能够帮助判断系统的一些重要文件是否被入侵者修改过。工作原理是,使用数字签名对文件进行比较;对每个要监控的文件,都生成一个数字签名并存档(放在数据库中),在检查时,如果发现数字签名于存档不一致,就说明文件被改动过。

安装Tripwire

apt-get install tripwire
安装过程弹出对话框,全部选择Yes,最后两项输入site密码和local密码

配置Tripwire

ripwire的配置文件位于/etc/tripwire/目录下,主配置文件为twcfg.txt,策略文件为twpol.txt,而tw.cfg和tw.pol分别为配置文件盒策略文件被编译后的二进制文件
Tripwire在运行过程中调用的是编译后的二进制文件,所以,每次修改配置后,都必须将文件编译。

1)配置twcfg.txt
主配文件基本不需要修改,只有SMTP服务器地址已经E-mail报告级别等设置可能需要根据实际进行调整:
cat twcfg.txt
#Tripwire程序的根目录
ROOT=/usr/sbin
#策略文件路径
POLFILE=/etc/tripwire/tw.pol
#数据库文件路径
DBFILE=/var/lib/tripwire/$(HOSTNAME).twd
#报告文件路径
REPORTFILE=/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
#site秘钥文件的路径
SITEKEYFILE=/etc/tripwire/site.key
#local秘钥文件路径
LOCALKEYFILE=/etc/tripwire/$(HOSTNAME)-local.key
#Tripwire所调用的编辑器路径
EDITOR=/usr/bin/editor
#是否延迟询问密码
LATEPROMPTING=false
#是否减少目录报告
LOOSEDIRECTORYCHECKING=false 
#是否发送邮件报告
MAILNOVIOLATIONS=true
#邮件报告级别(0-4)
EMAILREPORTLEVEL=3
#指定twprint命令生成报告的级别
REPORTLEVEL=3 
#是否将日志写入syslog
SYSLOGREPORTING=true
#指定要使用的邮件协议
MAILMETHOD=SMTP 
#指定SMTP主机地址
SMTPHOST=localhost 
#指定SMTP主机的端口号
SMTPPORT=25
TEMPDIRECTORY=/tmp
文件修改好后,需要重新编译:
cd /etc/tripwite
sudo twadmin -m F -S site.key twcfg.txt
完成之后可以把twcfg.txt删除,如果删除后可以重新导出:
sudo twadmin -print -cfgfile
sudo tee /etc/tripwire/twcfg.txt 
2) 配置twpol.txt
策略文件基本不需要修改,里面定义了各种Tripwire策略,包括要监控的目录和文件等。
不过在Ubuntu的默认配置文件中,将整个/proc目录都监控了,这会导致每次做完检查时都出现一堆不必要的错误(旧进程结束,新进程开始)。所以这类可以修改一下该策略,仅监控/proc下面重要的进程。
vi /etc/tripwire/twpol.txt
修改完成,重新编译
sudo twadmin -m P -S site.key twpol.txt
策略文件删除后可以重新导出
sudo twadmin -print-polfile
sudo tee /etc/tripwire/twpol.txt
测试邮件报告功能:
sudo tripwire -test -email vfeelit@qq.com
初始化Tripwire数据库
sudo tripwire -m i
输入local密码 执行完整性监测默认,Tripwire在安装时会创建一个cron任务,每天执行一次完整性检查,并发送邮件。也可以手工执行:
sudo tripwire -check -email-report
监测报告分析Tripwire的监测结果,放在/var/lib/tripwire/report/目录下。这些不是文本文件,必须用twprint命令才能查看:
sudo twprint -m r -twrfile /var/lib/tripwire/report/<your-file>.twr " less