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,如需转载请自行联系原作者



相关文章
|
3天前
|
存储 监控 固态存储
【vSAN分布式存储服务器数据恢复】VMware vSphere vSAN 分布式存储虚拟化平台VMDK文件1KB问题数据恢复案例
在一例vSAN分布式存储故障中,因替换故障闪存盘后磁盘组失效,一台采用RAID0策略且未使用置备的虚拟机VMDK文件受损,仅余1KB大小。经分析发现,该VMDK文件与内部虚拟对象关联失效导致。恢复方案包括定位虚拟对象及组件的具体物理位置,解析分配空间,并手动重组RAID0结构以恢复数据。此案例强调了深入理解vSAN分布式存储机制的重要性,以及定制化数据恢复方案的有效性。
17 5
|
8天前
|
Ubuntu Linux 数据中心
阿里云服务器纯净版系统及系统版本参考与相关使用说明
在我们选购阿里云服务器的时候,操作系统有公共镜像、自定义镜像、共享镜像、云市场镜像、社区镜像可选,其中公共镜像为纯净版系统,这些系统皆已正版授权,旨在为ECS实例上的应用程序提供安全、稳定的运行环境。本文为大家汇总了阿里云服务器纯净版系统及最新的系统版本以及相关使用说明,以供大家了解和选择。
阿里云服务器纯净版系统及系统版本参考与相关使用说明
|
15天前
|
Ubuntu 网络协议
怎么在Ubuntu系统云服务器搭建自己的幻兽帕鲁服务器?幻兽帕鲁搭建教程
《幻兽帕鲁》是热门开放世界生存游戏,玩家收集并利用“帕鲁”进行多样活动。为享受多人模式,需自建服务器:选云主机(推荐4C/16G/5M起)、装Steamcmd及游戏环境。登录Steam购游戏后,输入服务器地址即可联机畅玩。
64 1
怎么在Ubuntu系统云服务器搭建自己的幻兽帕鲁服务器?幻兽帕鲁搭建教程
|
11天前
|
PHP
PHP遍历文件并同步上传到服务器
在进行网站迁移时,由于原网站的图片文件过多,采用打包下载再上传的方式耗时过长,且尝试使用FTP工具从旧服务器传输至新服务器时失败。为解决此问题,特使用PHP编写了一款工具,该工具能扫描指定目录下的所有`.webp`图像文件,并将其上传至新的服务器,极大地提高了迁移效率。
42 16
|
5天前
|
弹性计算 Windows
震惊!ECS Windows 系统磁盘竟“撒谎”,空间去哪儿了?别急,这里有终极破解法!
【8月更文挑战第15天】在使用ECS Windows系统时,可能会遇到磁盘显示占用的空间远超实际文件大小的情况,导致空间不足。原因包括系统还原点、卷影副本累积及回收站文件未彻底删除等。解决方法有:清除系统还原点(`vssadmin delete shadows /all`),清空回收站,删除临时文件夹中的文件,以及检查并修复磁盘错误。这些步骤能有效释放空间,保证系统稳定运行。
22 4
|
5天前
|
监控 Linux Shell
"揭秘!一键掌控Linux服务器健康的秘密武器——超实用系统检查脚本,让你的服务器稳如老狗,告别宕机烦恼!"
【8月更文挑战第14天】服务器宕机或资源耗尽会严重影响业务。为此,你需要一个Linux系统检查脚本来守护服务器健康。它可以自动检测潜在问题如磁盘满载、内存泄漏等,避免服务中断。脚本应包括磁盘空间、内存/CPU使用、系统时间准确性、关键服务状态及系统日志分析等检查项。通过编写并定期运行这样的脚本,可以显著提高服务器的稳定性和可靠性。
17 1
|
11天前
|
开发工具 git iOS开发
服务器配置Huggingface并git clone模型和文件
该博客提供了在服务器上配置Huggingface、安装必要的工具(如git-lfs和huggingface_hub库)、登录Huggingface以及使用git clone命令克隆模型和文件的详细步骤。
29 1
|
14天前
|
运维 网络协议 Linux
揭秘CentOS 7:系统目录奥秘大起底,网卡配置秒变高手,让你的服务器管理飞一般的感觉!
【8月更文挑战第5天】CentOS 7作为RHEL的社区版本,以其稳定性和丰富功能广受好评。本文通过案例分析介绍其系统目录结构及网卡配置方法。系统目录如/(根)、/bin(基本命令)、/boot(启动文件)、/dev(设备文件)、/etc(配置文件)、/home(用户目录)和/lib(共享库)等各司其职。网卡配置通过编辑/etc/sysconfig/network-scripts/下的ifcfg文件实现,如设置ens33接口的静态IP地址、子网掩码、网关和DNS服务器,并通过重启网络服务使配置生效。这是系统管理员必备的技能之一。
26 2
|
4天前
|
存储 监控 Unix
|
5天前
|
Java
Java模拟文件发送给服务器,服务器将文件转发给其他用户,并保存到服务器本地,其他用户可以接收,并保存到本地磁盘,支持各种文件格式,并解决通信中服务器怎么区分客户端发来的文件类型
Java模拟文件发送给服务器,服务器将文件转发给其他用户,并保存到服务器本地,其他用户可以接收,并保存到本地磁盘,支持各种文件格式,并解决通信中服务器怎么区分客户端发来的文件类型

热门文章

最新文章