Tripwire强大的服务器文件完整性监测系统-检测并报告服务器入侵

简介:

Tripwire是一个开源的功能强大的服务器文件完整性监测系统,利用各个文件的数字签名前后之间的对比 ,从而得出系统中的文件是否被人篡改过。Tripwire强大之处在于利用MD5和SNCFRN加密手段来生成文件的数字签名,任何文件改动的痕迹都能察觉。

如果你怀疑服务器遭到黑客攻击过,在多数情况下,黑客可能对系统文件等等一些重要的文件进行修改,这时Tripwire就可以生成文件变动的详细报告了。同时,为了防止Tripwire自身的文件也被人动手脚,我们可以将Tripwire的数字签名数据库、Tripwire二进制文件、配置文件单独取出来。

总之,Tripwire虽然不能抵御服务器入侵,但是却是“黑客”背后一双明亮的“眼睛”,默默地记录着服务器上所有的一切,是我们保证服务器安全的一个重要工具。本文就来分享一下Tripwire的安装与使用方法。

一、Tripwire安装

1、Tripwire官网:

  • 1、官方网站:

  • 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 install

3、安装过程中,会要求你阅读使用协议,回车。

Tripwire阅读安装协议

4、空格是翻页,到最后输入“Accept”继续安装。

Tripwire继续安装

5、接着会要求你输入“site keyfile”口令和“local keyfile”口令,各两遍,完成确认。

Tripwire输入口令

6、最后安装Tripwire完成。

Tripwire安装完成

二、Tripwire配置

1、Tripwire相关文件目录是在/usr/local/tripwire中。主要是:

  • 1、配置文件:定义数据库、策略文件和Tripwire可执行文件的位置:/etc/tripwire/twcfg.txt

  • 2、策略:定义检测的对象及违规时采取的行为:/etc/tripwire/twpol.txt

  • 3、数据库:用于存放生成的快照:/var/lib/tripwire/$(HOSTNAME).twd

Tripwire配置目录

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控制监测目录

三、Tripwire使用

1、Tripwire第一次安装后,需要进行一次数据初始化,命令:

/usr/local/tripwire/sbin/tripwire --init

2、在检测服务器文件完整性时,对于不存在的目录或者文件Tripwire会报警,没有关系。当然你可以在twpol.txt 把这些目录或者文件给注释掉。

Tripwire警告报警

3、最后Tripwire会生成一个文件监控数据库,存放在/usr/local/tripwire/lib/tripwire 中。

Tripwire生成初始报告

4、Tripwire初始化完成后,就可以执行文件完整性检测了,默认的情况下Tripwire每天进入一次检查:

/etc/cron.daily/tripwire --check

5、手动检查的命令是,先进入到/usr/local/tripwire中 ,再执行命令:

./sbin/tripwire --check --interactive

Tripwire手动检测

6、后面加上interactive,是用于检测完成后自动打开文件完整性报告,这就是Tripwire的检测报告,任何文件属性的变动就可以在报告中看到。(点击放大)

Tripwire报告内容

四、Tripwire报告

1、Tripwire检测后生成的报告放在/usr/local/tripwire/lib/tripwire/report 中,文件是加密的。

Tripwire报告被加密

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.txt

3、解密后的Tripwire报告可以下载到本地用文本编辑器打开查看,不过为了保密,查看后记得把这些解密后的文本文件删除。

Tripwire解密报告

4、如果你怀疑某一个文件有重大的问题,除用文本编辑器搜索功能查找外,还可以使用twprint提取工具:

./sbin/twprint -m d --print-dbfile /home/freehao123.js

Tripwire重点检测

五、更新Tripwire数据库和定时执行文件完整性检测

1、如果你修改过文件完整性监测项目控制文件twpol.txt,需要执行更新配置文件:

cd /usr/local/tripwire
./sbin/tripwire --update-policy --secure-mode low ./etc/twpol.txt

2、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执行完检测任务后自动将检测报告发送到管理员邮箱,以便及时作出应对。







     本文转自yzy121403725 51CTO博客,原文链接:http://blog.51cto.com/lookingdream/1869254,如需转载请自行联系原作者



相关文章
|
5月前
|
域名解析 运维 监控
如何检测服务器是否被入侵?解析5大异常指标
本文系统介绍了服务器入侵的五大检测维度:硬件资源、网络流量、系统日志、文件完整性及综合防护。涵盖CPU、内存异常,可疑外联与隐蔽通信,登录行为审计,关键文件篡改识别等内容,并提供实用工具与防护建议,助力运维人员快速发现潜在威胁,提升系统安全防御能力。转载链接:https://www.ffy.com/latest-news/1916688607247077376
441 0
如何检测服务器是否被入侵?解析5大异常指标
|
6月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
407 18
|
6月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
470 15
|
存储 Ubuntu Linux
HPE SPP 2025.09.00.00 - HPE 服务器固件、驱动程序和系统软件包 (Released Oct 2025)
HPE SPP 2025.09.00.00 - HPE 服务器固件、驱动程序和系统软件包
216 0
|
7月前
|
域名解析 运维 监控
阿里云轻量服务器的系统镜像和应用镜像的区别
轻量应用服务器是阿里云推出的易用型云服务器,支持一键部署、域名解析、安全管理和运维监控。本文介绍其系统镜像与应用镜像的区别及选择建议,助您根据业务需求和技术能力快速决策,实现高效部署。
|
7月前
|
存储 Linux 测试技术
HPE SPP 2025.07.00.00 - HPE 服务器固件、驱动程序和系统软件包
HPE SPP 2025.07.00.00 - HPE 服务器固件、驱动程序和系统软件包
295 4
|
8月前
|
监控 关系型数据库 数据库连接
FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡
FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡
283 3
FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡
|
8月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
2091 0
|
5月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
458 10
|
5月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。

热门文章

最新文章