18.1. 安装、编译和优化

Tripwire 是一款文件和目录完整性检查器,一个实用程序,用于将指定的文件和目录集与先前生成的数据库中存储的信息进行比较。任何差异都会被标记和记录,包括添加或删除的条目。如果在系统文件上定期运行,关键系统文件中的任何更改都将被发现 -- 并且可以立即采取适当的损害控制措施。借助 Tripwire,如果 Tripwire 报告没有更改,系统管理员可以高度确信给定的一组文件保持免受未经授权的修改。

这些安装说明假设

这些是所需的软件包和 Tripwire 首页

http://www.tripwiresecurity.com/

您必须确保下载:Tripwire-1.3.1-1.tar.gz

您需要解压缩 Tarballs。最好在安装之前和之后分别列出系统上的文件列表,然后使用 diff 比较它们,以找出它将文件放在哪里。只需运行 find/* > Tripwire1之前和 find/* > Tripwire2在安装 tarball 之后,并使用 diffTripwire1 Tripwire2 > Tripwire-Installed以获取更改列表。
          [root@deep] /# cp Tripwire-version.tar.gz /var/tmp
          [root@deep] /# cd /var/tmp
          [root@deep ]/tmp# tar xzpf Tripwire-version.tar.gz
          

移动到新的 Tripwire 目录并编辑 utils.c 文件 (vi +462 src/utils.c) 并更改行

          else if (iscntrl(*pcin)) {
          
改为读取
          else if (!(*pcin & 0x80) && iscntrl(*pcin)) {
          

编辑config.parse.c文件,vi +356src/config.parse.c并更改行
          rewind(fpout);
          
改为读取
          else {
          rewind(fpin);
          }
          

编辑config.h文件,vi +106include/config.h并更改行
          #define CONFIG_PATH     "/usr/local/bin/tw"
          #define DATABASE_PATH   "/var/tripwire"
          
改为读取
          #define CONFIG_PATH     "/etc"
          #define DATABASE_PATH   "/var/spool/tripwire"
          

编辑config.h文件,vi +165include/config.h并更改行
          #define TEMPFILE_TEMPLATE "/tmp/twzXXXXXX"
          
改为读取
          #define TEMPFILE_TEMPLATE "/var/tmp/.twzXXXXXX"
          

编辑config.pre.y文件 vi +66src/config.pre.y并更改行
          #ifdef TW_LINUX
          
改为读取
          #ifdef TW_LINUX_UNDEF
          

编辑Makefilevi +13Makefile并更改行
          DESTDIR = /usr/local/bin/tw
          
改为读取
          DESTDIR = /usr/sbin
          
          DATADIR = /var/tripwire
          
改为读取
          DATADIR = /var/spool/tripwire
          
          LEX     = lex
          
改为读取
          LEX     = flex
          
          CC=gcc
          
改为读取
          CC=egcs
          
          CFLAGS = -O
          
改为读取
          CFLAGS = -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions
          

          [root@deep ]/tw_ASR_1.3.1_src# make
          [root@deep ]/tw_ASR_1.3.1_src# make install
            
          [root@deep ]/tw_ASR_1.3.1_src# chmod 700  /var/spool/tripwire/
          [root@deep ]/tw_ASR_1.3.1_src# chmod 500 /usr/sbin/tripwire
          [root@deep ]/tw_ASR_1.3.1_src# chmod 500 /usr/sbin/siggen
          [root@deep ]/tw_ASR_1.3.1_src# rm -f  /usr/sbin/tw.config
          

稍后进行清理
          [root@deep] /# cd /var/tmp
          [root@deep ]/tmp# rm -rf tw_ASR_version/ Tripwire-version.tar.gz
          
如上所述使用的 rm 命令将删除我们用于编译和安装 Tripwire 的所有源文件。它还将从/var/tmp目录中删除 Tripwire 压缩包。