(最初发布在 SE 的超级用户上。错误的平台,我从 SU 删除了帖子。)
我使用默认文件夹和文件位置在 Lx 盒子(Ubuntu trusty)上配置了 Tripwire(TM) 2.4.2.2.2。我依赖于一个旧的但仍然是最新的文章来自 Linux Journal 和无数其他互联网参考资料,但我找不到除了普通配置之外的任何内容。
一切都按预期进行,但我想将 site.key 和 local.key、配置文件和数据库移动到我在挂载点为此目的预留的只读可移动介质/mnt/TW_bd-bin
。
有人可以帮助我正确修改twcfg.txt
和 `twpol.txt 吗?我应该如何修改我的配置?
报告摘要标题:
$ sudo tripwire --check
Open Source Tripwire(R) 2.4.2.2 Integrity Check Report
Report generated by: root
Report created on: Fri Sep 25 19:15:58 2015
Database last updated on: Never
===========================================================
Report Summary:
===========================================================
Host name: my_host
Host IP address: 127.0.1.1
Host ID: None
Policy file used: /etc/tripwire/tw.pol
Configuration file used: /etc/tripwire/tw.cfg
Database file used: /var/lib/tripwire/my_host.twd
Command line used: tripwire --check
当前/etc/tripwire/twcfg.txt:
$ cat /etc/tripwire/twcfg.txt
ROOT =/usr/sbin
POLFILE =/etc/tripwire/tw.pol
# DBFILE =/var/lib/tripwire/$(HOSTNAME).twd
DBFILE =/mnt/TW_db-bin/$(HOSTNAME).twd
# REPORTFILE =/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
REPORTFILE =/etc/tripwire/report/$(HOSTNAME)-$(DATE).twr
SITEKEYFILE =/etc/tripwire/site.key
LOCALKEYFILE =/etc/tripwire/$(HOSTNAME)-local.key
# /usr/bin/editor is set to vim.gnome as of 2015.09.24
EDITOR =/usr/bin/editor
# LATEPROMPTING =false
LATEPROMPTING =true
LOOSEDIRECTORYCHECKING =false
MAILNOVIOLATIONS =true
EMAILREPORTLEVEL =3
REPORTLEVEL =3
SYSLOGREPORTING =true
MAILMETHOD =SMTP # see PostFix settings
SMTPHOST =smtp.gmail.com
# SMTPHOST =localhost
SMTPPORT =587 # SSL/TLS
# SMTPPORT =25
#TEMPDIRECTORY =/tmp
# chmod for /etc/tripwire/tmp is 700 and chown is root:root
TEMPDIRECTORY =/etc/tripwire/tmp
答案1
工作解决方案在 Ubuntu 14.04.3 上进行了测试,但可能适用于其他基于 Debian 的 Linux 版本,并且最肯定适用于 Red Hat。
如果您在尚未测试的平台上应用它令人满意,请为此添加一个简短的评论。
上面的“可能”意味着网络上的报告显示了 RH Linux 上的等效步骤,我认为在 Lubuntu 上也是如此。从您最喜欢的存储库
完成常规软件包安装后,步骤开始。tripwire
参考资料:
TRIPWIRE(8) 和 TWADMIN(8) 的手册页官方 Red Hat Linux 参考指南, 这Linux 安全指南。
$ uname -sivr
Linux 3.16.0-50-generic #67~14.04.1-Ubuntu SMP [...] x86_64
$ tripwire --version | head -1
Open Source Tripwire(R) 2.4.2.2.2 built for x86_64-unknown-linux-gnu
安装软件包后,/etc/tripwire/
将在系统上创建该目录。它至少包含 2 个默认文件:twcfg.txt
和twpol.txt
.此外,如果您选择在安装时通过选择适当的密码短语来创建它们,它可能包含本地密钥(${HOSTNAME}-local.key
或仅)local.key
和站点密钥() 。site.key
第一的选择本地和站点密钥、配置和策略文件以及报告和数据库文件的新位置。假设您决定将默认/etc/tripwire/
安装位置更改为挂载点处的可挂载设备/mnt/TW-mount/
:
$ sudo mkdir -p /mnt/TW-mount
$ sudo mount /dev/sdZZ /mnt/TW-mount && sudo mkdir -p /mnt/TW-mount/report
$ sudo mv /etc/tripwire/*.{txt,key} /mnt/TW-mount/
sdZZ
将上面的安装说明替换为正确的设备信息。
在选择新位置时,请记住,典型的基于 Debian 的 Linux 桌面的 TW 数据库将占用 1.5 到 4MB 的空间。此外,每次运行和累积时都会生成 TW 报告。不要指望他们会为了你而很好地开始自行轮换。虽然很小,每个不到 10kB (后策略文件已被适当修改以符合您的系统配置),这些累积的报告最终将需要在几个月的每日 TW 检查后以轮换或清理的形式进行干预。
第二,修改/etc/tripwire/twcfg.txt
如下:
(默认设置被注释掉。新设置直接放在它们下面。相关行从 POLFILE 延伸到 LOCALKEYFILE。其他标志和全局变量值可能与您不同。)
# /etc/tripwire/twcfg.txt --> moved to: /mnt/TW-mount/twcfg.txt
ROOT =/usr/sbin
# POLFILE =/etc/tripwire/tw.pol
POLFILE =/mnt/TW-mount/tw.pol
# DBFILE =/var/lib/tripwire/$(HOSTNAME).twd
DBFILE =/mnt/TW-mount/$(HOSTNAME).twd
# REPORTFILE =/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
REPORTFILE =/mnt/TW-mount/report/$(HOSTNAME)-$(DATE).twr
# SITEKEYFILE =/etc/tripwire/site.key
SITEKEYFILE =/mnt/TW-mount/site.key
# LOCALKEYFILE =/etc/tripwire/$(HOSTNAME)-local.key
LOCALKEYFILE =/mnt/TW-mount/$(HOSTNAME)-local.key
# /usr/bin/editor points to vim.gnome -- check yr own symlink
EDITOR =/usr/bin/editor
# LATEPROMPTING =false
LATEPROMPTING =true
# LOOSEDIRECTORYCHECKING =false
LOOSEDIRECTORYCHECKING =true
# MAILNOVIOLATIONS =true
MAILNOVIOLATIONS =false
EMAILREPORTLEVEL =3
REPORTLEVEL =3
SYSLOGREPORTING =false
MAILMETHOD =SMTP
# SMTPHOST =localhost
SMTPHOST =smtp.gmail.com
# SMTPPORT =25
SMTPPORT =587
TEMPDIRECTORY =/tmp
第三,/mnt/TW-mount/twpol.txt
实际上覆盖了上面设置的某些路径;你还需要修改它:(仅显示相关行。)
# Standard Debian Tripwire configuration - twpol.txt
# ....
# Global Variable Definitions
#
@@section GLOBAL
TWBIN = /usr/sbin;
# TWETC = /etc/tripwire;
TWETC = /mnt/TW-mount;
# TWVAR = /var/lib/tripwire;
TWVAR = /mnt/TW-mount;
第四,如果您已经创建了密钥文件,请跳至第五部分;如果没有,请立即这样做:
$ sudo twadmin -m G -S /mnt/TW-mount/site.key # to create yr site key
$ sudo twadmin -m G -L /mnt/TW-mount/${HOSTNAME}-local.key # to create yr local key
第五,创建并签署您的配置和策略文件: tw.cfg
,tw.pol
位于/mnt/TW-mount/
:
$ cd /mnt/TW-mount
$ sudo twadmin -m F -c /mnt/TW-mount/tw.cfg -S site.key twcfg.txt
$ sudo twadmin -m P -c /mnt/TW-mount/tw.cfg -p tw.pol -S site.key twpol.txt
笔记:tw.cfg
上面的配置文件是用其绝对路径引用的。如果没有,twadmin
将实际在其默认位置创建它,/etc/tripwire/
并且还将其称为同一默认位置。这可能是一个硬编码错误,不会影响其他相关文件,例如tw.pol
、*.key
和*.tw{d,r}
文件。修复源代码可能涉及sed
到位编译前的字符串操作。我选择使用已经打包的资源进行工作,但没有得到它。
第六,创建或“初始化您的数据库:
$ sudo tripwire -m i -c /mnt/TW-mount/tw.cfg -p tw.pol -S site.key -L ${HOSTNAME}-local.key
并首先运行(交互式)检查:
$ sudo tripwire -m c -c /mnt/TW-mount/tw.cfg -I
请注意,通常情况下,(交互式)检查是这样运行的:sudo tripwire -m c -I
其中-I
标志确保交互性。如果您更改 Tripwire 资源的默认位置,并且由于上面提到的所谓错误,您将始终需要声明要使用的签名配置文件的位置。为此,您可以使用短选项-c /mnt/TW-mount/tw.cfg
。如果省略,您将获得默认位置行为:
$ sudo tripwire -m c -I
### Error: File could not be opened.
### Filename: /etc/tripwire/tw.cfg
### No such file or directory
### Configuration file could not be read.
### Exiting...
$
最后的,开业前:
$ sudo rm -i /mnt/TW-mount/*txt
$ sudo chmod 600 /mnt/TW-mount/*.key
$ sudo umount /mnt/TW-mount && sudo mount /dev/sdZZ /mnt/TW-mount -o ro,nouser,...
HTH。