tripwire的核心作用是建立系统“健康快照”并比对发现非预期变更,属事后审计与告警机制;需准确建基线、及时检查、妥善响应,安装后须生成双密钥、配置策略、初始化数据库、定期检查与更新。

Tripwire 的核心作用是建立系统“健康快照”,后续通过比对发现非预期变更。它不是实时防护工具,而是事后审计与告警机制,关键在于基线准确、检查及时、响应得当。
安装与密钥初始化
在 CentOS 7/8 或兼容发行版上,直接用包管理器安装:
- 运行 yum install -y tripwire(CentOS/RHEL)或 apt install tripwire(Debian/Ubuntu)
- 执行 sudo tripwire-setup-keyfiles 生成两套密钥:站点密钥(保护策略和配置)和本地密钥(保护数据库和报告)
- 为两个密钥分别设置强密码(建议至少8位,含大小写字母、数字和符号),过程中会提示你输入两次
策略配置与基线数据库生成
策略文件 /etc/tripwire/twpol.txt 决定了监控范围和检查粒度:
- 用文本编辑器打开该文件,确认关键路径如 /etc、/bin、/sbin、/usr/bin 等已包含在规则中
- 可使用内置变量(如 SEC_CRIT)批量标记高危目录;也可添加 ignore 规则排除日志、缓存等动态内容
- 保存后运行 sudo twadmin -m P /etc/tripwire/twpol.txt 重新签名策略
- 首次生成基线数据库:sudo tripwire --init,输入本地密钥密码,等待扫描完成(可能耗时数分钟)
执行完整性检查与结果解读
日常检查命令简单,但结果需结合上下文判断:
- 全盘检查:sudo tripwire --check
- 只查某目录:sudo tripwire --check /var/www/html
- 交互式查看报告(自动调用 $EDITOR):sudo tripwire --check --interactive
- 报告中重点关注 “Modified”、“Added”、“Removed” 三类状态,每条记录附带哈希变化、权限变更、时间戳偏移等细节
- 若发现变更,先确认是否为运维操作(如软件升级、配置更新);否则立即隔离主机、保留证据、排查入侵痕迹
数据库更新与自动化运维
基线不是一劳永逸的,需随合法变更同步更新:
- 确认某次变更是预期行为后,用 sudo tripwire --update 交互式选择接受变更项,比 --init 更安全高效
- 配置邮件通知:在策略文件中为规则添加 emailto = "admin@example.com",再配合 cron 每日凌晨运行检查
- 示例 cron 条目:0 3 * * * /usr/sbin/tripwire --check --quiet --email-report
- 建议将生成的数据库文件(/var/lib/tripwire/hostname.twd)定期备份到离线介质,防篡改











