Tripwire强大的服务器文件完整性监测系统-检测并报告服务器入侵
2016-11-04 10:57
507 查看
Tripwire是一个开源的功能强大的服务器文件完整性监测系统,利用各个文件的数字签名前后之间的对比 ,从而得出系统中的文件是否被人篡改过。Tripwire强大之处在于利用MD5和SNCFRN加密手段来生成文件的数字签名,任何文件改动的痕迹都能察觉。如果你怀疑服务器遭到黑客攻击过,在多数情况下,黑客可能对系统文件等等一些重要的文件进行修改,这时Tripwire就可以生成文件变动的详细报告了。同时,为了防止Tripwire自身的文件也被人动手脚,我们可以将Tripwire的数字签名数据库、Tripwire二进制文件、配置文件单独取出来。总之,Tripwire虽然不能抵御服务器入侵,但是却是“黑客”背后一双明亮的“眼睛”,默默地记录着服务器上所有的一切,是我们保证服务器安全的一个重要工具。本文就来分享一下Tripwire的安装与使用方法。一、Tripwire安装1、Tripwire官网:1、官方网站:
2、Tripwire安装在VPS上只要执行以下命令:
4、空格是翻页,到最后输入“Accept”继续安装。
5、接着会要求你输入“site keyfile”口令和“local keyfile”口令,各两遍,完成确认。
6、最后安装Tripwire完成。
二、Tripwire配置1、Tripwire相关文件目录是在/usr/local/tripwire中。主要是:1、配置文件:定义数据库、策略文件和Tripwire可执行文件的位置:/etc/tripwire/twcfg.txt
2、策略:定义检测的对象及违规时采取的行为:/etc/tripwire/twpol.txt
3、数据库:用于存放生成的快照:/var/lib/tripwire/$(HOSTNAME).twd
2、同时,Tripwire为了自身的安全,防止自身被篡改,也会对自身进行加密和签名处理。其中,包括两个密钥:1、site密钥:用于保护策略文件和配置文件,只要使用相同的策略和配置的机器,都可以使用相同的site密钥:/etc/tripwire/site.key
2、local密钥:用户保护数据库和分析报告,不会重复:/etc/tripwire/$(HOSTNAME)-local.key
3、其中 /etc/twpol.txt中是控制对哪些目录进行检查,执行:vim /usr/local/tripwire/etc/twpol.txt 可以打开编辑此文件。4、对于一些不存在的文件目录和文件或者不想让Tripwire监控的文件目录等可以用#号把它注释掉。
三、Tripwire使用1、Tripwire第一次安装后,需要进行一次数据初始化,命令:
3、最后Tripwire会生成一个文件监控数据库,存放在/usr/local/tripwire/lib/tripwire 中。
4、Tripwire初始化完成后,就可以执行文件完整性检测了,默认的情况下Tripwire每天进入一次检查:
6、后面加上interactive,是用于检测完成后自动打开文件完整性报告,这就是Tripwire的检测报告,任何文件属性的变动就可以在报告中看到。(点击放大)
四、Tripwire报告1、Tripwire检测后生成的报告放在/usr/local/tripwire/lib/tripwire/report 中,文件是加密的。
2、如果要查看的话,需要用到Tripwire的解密工具:twprint。依然是进入到/usr/local/tripwire 目录中,然后执行(注意:freehao123.XX.XX.twr 是报告文件名,你需要修改成你自己的):
4、如果你怀疑某一个文件有重大的问题,除用文本编辑器搜索功能查找外,还可以使用twprint提取工具:
五、更新Tripwire数据库和定时执行文件完整性检测1、如果你修改过文件完整性监测项目控制文件twpol.txt,需要执行更新配置文件:
3、Tripwire设置定时检测任务。编辑定时任务:crontab -e,以下命令是表示每天凌晨4:00时开始自动执行文件完整性检测并生成报告 。
http://nchc.dl.sourceforge.net/project/tripwire
2、Tripwire安装在VPS上只要执行以下命令:
[root@ipython ~]# wget http://nchc.dl.sourceforge.net/project/tripwire/tripwire-src/tripwire-2.4.2.2/tripwire-2.4.2.2-src.tar.bz2 [root@ipython ~]# tar jxf tripwire-2.4.2.2-src.tar.bz2 [root@ipython ~]# cd tripwire-2.4.2.2-src [root@ipython tripwire-2.4.2.2-src]#./configure --prefix=/software/tripwire [root@ipython tripwire-2.4.2.2-src]# make [root@ipython tripwire-2.4.2.2-src]# make install3、安装过程中,会要求你阅读使用协议,回车。
4、空格是翻页,到最后输入“Accept”继续安装。
5、接着会要求你输入“site keyfile”口令和“local keyfile”口令,各两遍,完成确认。
6、最后安装Tripwire完成。
二、Tripwire配置1、Tripwire相关文件目录是在/usr/local/tripwire中。主要是:1、配置文件:定义数据库、策略文件和Tripwire可执行文件的位置:/etc/tripwire/twcfg.txt
2、策略:定义检测的对象及违规时采取的行为:/etc/tripwire/twpol.txt
3、数据库:用于存放生成的快照:/var/lib/tripwire/$(HOSTNAME).twd
2、同时,Tripwire为了自身的安全,防止自身被篡改,也会对自身进行加密和签名处理。其中,包括两个密钥:1、site密钥:用于保护策略文件和配置文件,只要使用相同的策略和配置的机器,都可以使用相同的site密钥:/etc/tripwire/site.key
2、local密钥:用户保护数据库和分析报告,不会重复:/etc/tripwire/$(HOSTNAME)-local.key
3、其中 /etc/twpol.txt中是控制对哪些目录进行检查,执行:vim /usr/local/tripwire/etc/twpol.txt 可以打开编辑此文件。4、对于一些不存在的文件目录和文件或者不想让Tripwire监控的文件目录等可以用#号把它注释掉。
三、Tripwire使用1、Tripwire第一次安装后,需要进行一次数据初始化,命令:
/usr/local/tripwire/sbin/tripwire --init2、在检测服务器文件完整性时,对于不存在的目录或者文件Tripwire会报警,没有关系。当然你可以在twpol.txt 把这些目录或者文件给注释掉。
3、最后Tripwire会生成一个文件监控数据库,存放在/usr/local/tripwire/lib/tripwire 中。
4、Tripwire初始化完成后,就可以执行文件完整性检测了,默认的情况下Tripwire每天进入一次检查:
/etc/cron.daily/tripwire --check5、手动检查的命令是,先进入到/usr/local/tripwire中 ,再执行命令:
./sbin/tripwire --check --interactive
6、后面加上interactive,是用于检测完成后自动打开文件完整性报告,这就是Tripwire的检测报告,任何文件属性的变动就可以在报告中看到。(点击放大)
四、Tripwire报告1、Tripwire检测后生成的报告放在/usr/local/tripwire/lib/tripwire/report 中,文件是加密的。
2、如果要查看的话,需要用到Tripwire的解密工具:twprint。依然是进入到/usr/local/tripwire 目录中,然后执行(注意:freehao123.XX.XX.twr 是报告文件名,你需要修改成你自己的):
./sbin/twprint --print-report --twrfile ./lib/tripwire/report/freehao123.cloud.mos.meituan.local-20140810-152548.twr >/tmp/tripwire_readable.txt cat /tmp/tripwire_readable.txt3、解密后的Tripwire报告可以下载到本地用文本编辑器打开查看,不过为了保密,查看后记得把这些解密后的文本文件删除。
4、如果你怀疑某一个文件有重大的问题,除用文本编辑器搜索功能查找外,还可以使用twprint提取工具:
./sbin/twprint -m d --print-dbfile /home/freehao123.js
五、更新Tripwire数据库和定时执行文件完整性检测1、如果你修改过文件完整性监测项目控制文件twpol.txt,需要执行更新配置文件:
cd /usr/local/tripwire ./sbin/tripwire --update-policy --secure-mode low ./etc/twpol.txt2、Tripwire以最开始生成的文件完整性的数据库作为对比基准,但如果有些文件是自己修改过的,并不希望Tripwire在每次检测时把它当成是异常,这时就需要找到原始的数据库文件,执行更新操作了。
tripwire --update --twrfile /usr/local/tripwire/lib/tripwire/report/freehao123.cloud.mos.meituan.local-20140810-152548.twr备注:执行该命令之后,您就进入了一个编辑器。搜索所报告的文件名。所有侵害或更新都在文件名前面有一个 [x]。该演示中的查找模式如下:
[x] "/usr/local/bin/pwgen"例如:
Rule Name: pwgen (/usr/local/bin/pwgen) Severity Level: 0 ------------------------------------------------------------------------------- Remove the "x" from the adjacent box to prevent updating the database with the new values for this object. Modified: [x] "/usr/local/bin/pwgen"如果您希望接受这些更改为正当的,则只需保存并退出文件即可。Tripwire 不再报告此文件。如果您想要这个文件不被添加到数据库,那么请删除 'x'。保存文件并退出编辑器时,若有数据库更新发生,会提示您输入密码以完成该过程。如果没有更新发生,那么 Tripwire 会通知您的,并且不需要输入密码。该演示中出现以下提示,因为数据库将被更新:
Please enter your local passphrase: master Wrote database file: /var/lib/tripwire/rs6000.twd我们也可以用 init 选项再次运行 Tripwire,对下次运行要比较的内容进行一次基本的扫描,如下所示:
# /usr/local/tripwire/sbin/tripwire --init
3、Tripwire设置定时检测任务。编辑定时任务:crontab -e,以下命令是表示每天凌晨4:00时开始自动执行文件完整性检测并生成报告 。
00 4 * * * /usr/local/tripwire/sbin/tripwire --check六、Tripwire使用小结1、管理员如果能够定制完整的策略和检查周期,Tripwire将可以实现对系统的完整监控,在遭遇服务器入侵时Tripwire将是帮助检测入侵痕迹的最有力工具。2、为了防止Tripwire本身也遭遇篡改,我们需要做好Tripwire的备份工作,有兴趣的朋友还可以设置好Tripwire执行完检测任务后自动将检测报告发送到管理员邮箱,以便及时作出应对。
相关文章推荐
- 在CentOS 7上使用Tripwire 监控、检测系统文件完整性
- 突然断电导致freebsd服务器文件系统检测错误-fsck
- 利用Tripwire检测系统完整性
- Centos5.3下构建数据完整性监测系统Tripwire(1.安装配置) 推荐
- Centos5.3下构建数据完整性监测系统Tripwire(2.使用技巧和安全处理)
- 怎样使用 Tripwire 来检测 Ubuntu VPS 服务器的入侵
- Snort搭建安全的Linux入侵检测系统服务器
- 强大的轻量级网络入侵检测系统SNORT
- shell脚本实现linux系统文件完整性检测
- 如何检测Linux系统已下载文件的完整性
- 数据完整性监测系统的构建( Tripwire )
- 日记 [2007年01月25日]< 数据完整性监测系统的构建( Tripwire ) >
- shell脚本实现linux系统文件完整性检测
- 突然断电导致freebsd服务器文件系统检测错误-fsck
- 为你的程序/系统提供强大的配置功能(选项配置文件的读写)
- 入侵检测系统亟待发展
- Unix入侵监测系统
- 在 icesword darkspy等入侵检测下隐藏文件的方法 【祝大家国庆快乐!】
- Linux系统的LOG日志文件及入侵后日志的清除
- 入侵检测系统简介