Tripwire如何为Linux文件系统保驾护航
我们在本文中将介绍Tripwire(https://www.tripwire.com/)这款保护Linux文件系统的出色工具。Tripwire是一款完整性检查工具,采用GPLv2许可证的开源软件,让系统管理员、安全工程师及其他人员能够检测对系统文件所做的改动。虽然Tripwire不是唯一的选择(AIDE和Samhain提供类似的功能),却称得上是最常用的Linux系统文件完整性检查工具。
Tripwire如何工作?
有必要知道Tripwire如何运行,以便了解它在安装后能派什么用场。Tripwire的工作原理是,定期将目录和文件与数据库中的快照进行比较,报告任何改动的现象。
Tripwire包括这两大部分:策略和数据库。策略列出了这款完整性检查工具应该拍摄快照的所有文件和目录,并创建用于识别改动目录和文件这一违规操作的规则。数据库由Tripwire拍摄的快照组成。
Tripwire还有一个配置文件,指定了数据库、策略文件和Tripwire可执行文件的位置。它还提供了两个加密密钥:站点密钥和本地密钥,保护重要文件以免被篡改。站点密钥保护策略和配置文件,而本地密钥保护数据库和生成的报告。
安装Tripwire
想使用Tripwire,我们就要先下载并安装它。Tripwire在几乎所有的Linux发行版上都可以运行;可以从Sourceforge(http://sourceforge.net/projects/tripwire)下载一个开源版本,如下安装,具体取决于你的Linux版本。
Debian和Ubuntu用户可以使用apt-get直接从软件包存储库安装Tripwire。非root用户应输入sudo命令,通过apt-get来安装Tripwire。
sudo apt-get update sudo apt-get install tripwire
CentOS及其他基于rpm的发行版遵循类似的过程。一个最佳实践是,在安装Tripwire之类的新软件包之前,先更新存储库。yum install epel-release这个命令只是意味着,我们想要安装额外的存储库。(epel的全称是Extra Packages for Enterprise Linux。)
yum update +z yum install epel-release yum install tripwire
该命令促使安装过程对Tripwire正常发挥功效所需要的软件包进行配置。此外,它会询问你是否想在安装过程中选择口令短语。这两个提示都可以选择“Yes”。
另外,提示是否需要构建配置文件,选择“Yes”。为站点密钥和本地密钥选择并确认口令短语(建议使用复杂的口令短语,比如Il0ve0pens0urce。)
建立并初始化Tripwire的数据库
下一步初始化Tripwire数据库,如下所示:
tripwire --init
你需要提供本地密钥口令短语,才能运行这些命令。
使用Tripwire执行基本的完整性检查
你可以使用下列命令,指令Tripwire检查你的文件或目录是否被改动。Tripwire能够将文件和目录与数据库中的初始快照进行比较,有赖于在活动策略中创建的规则。
tripwire --check
还可以限制-check命令只适用于特定的文件或目录,如下例所示:
tripwire --check /usr/tmp
此外,如果你需要获得使用Tripwire的-check命令方面的更多帮助,该命令让你可以查阅Tripwire的使用手册:
tripwire --check --help
使用Tripwire生成报告
想轻松地生成每天的系统完整性报告,可使用该命令创建crontab:
crontab -e
之后可以编辑该文件(用你选择的文本编辑器),明确由cron运行的任务。比如说,你可以使用这个命令,创建一个计划任务(cron job),以便每天早上5:40将Tripwire报告发到你的电子邮箱:
40 5 * * * usr/sbin/tripwire --check