≡菜单

Tripwire教程:基于Linux主机的入侵检测系统

Tripwire-Linux IDS照片由 犹太人

Tripwire是用于Linux的基于主机的入侵检测系统。 Tripwire监视Linux系统,以检测并报告对文件和目录的任何未经授权的更改。创建基准后,tripwire会监视并检测添加的文件,更改的文件,更改的内容,更改的人以及更改的时间。如果更改是合法的,则可以更新tripwire数据库以接受这些更改。

另外,有关监视解决方案,请参阅我们以前关于以下内容的所有文章: 纳吉奥斯

本逐步说明指南说明了如何安装和配置Tripwire的开源版本。

1.下载Tripwire

从下载最新的Tripwire开源版本 绊线 Sourceforget项目网站。如下所示将tripwire源代码提取到/ usr / src目录中。

# cd /usr/src
# wget http://internap.dl.sourceforge.net/sourceforge/tripwire/tripwire-2.4.1.2-src.tar.bz2
# bzip2 -d 绊线-2.4.1.2-src.tar.bz2
# tar xvf 绊线-2.4.1.2-src.tar

2.安装Tripwire

使用如下所示的prefix选项来指定安装目录。在这个例子中,我’在/ opt / 绊线下安装了tripwire。在进行安装期间,它将提示您输入各种用户输入,下面以红色突出显示。

# cd 绊线-2.4.1.2-src

# ./configure --prefix=/opt/tripwire

# make

# make install

make[3]: Entering directory `/usr/src/tripwire-2.4.1.2-src'
prefix="/ opt / 绊线"sysconfdir ="/ opt / 绊线/etc" \
        path_to_vi ="/ bin / vi"path_to_sendmail ="/ usr / sbin / sendmail" \
        ./install/install.sh
Installer program for: Tripwire(R) 2.4 Open Source
LICENSE AGREEMENT for Tripwire(R) 2.4 Open Source
Please read the following license agreement.  You must accept the
agreement to continue installing Tripwire.
Press ENTER to view the License Agreement.
[Note: Press enter key as instructed to view the license]

Please type "accept" to indicate your acceptance of this
license agreement. [do not accept] accept
[Note: Type accept to accept the license]

This program will copy Tripwire files to the following directories:
        TWBIN: / opt / 绊线/sbin
        TWMAN: / opt / 绊线/man
     TWPOLICY: / opt / 绊线/etc
     TWREPORT: / opt / 绊线/lib/tripwire/report
         TWDB: / opt / 绊线/lib/tripwire
 TWSITEKEYDIR: / opt / 绊线/etc
TWLOCALKEYDIR: / opt / 绊线/etc
CLOBBER is false.
Continue with installation? [y/n] y
[Note: Press y to continue the installation]

The Tripwire site and local passphrases are used to
sign a variety of files, such as the configuration,
policy, and database files.
(When selecting a passphrase, keep in mind that good passphrases typically
have upper and lower case letters, digits and punctuation marks, and are
at least 8 characters in length.)
Enter the site keyfile passphrase:
Verify the site keyfile passphrase:
[Note: Assign a passphrase for site keyfile.]

Generating key (this may take several minutes)...Key generation complete.
(When selecting a passphrase, keep in mind that good passphrases typically
have upper and lower case letters, digits and punctuation marks, and are
at least 8 characters in length.)
Enter the local keyfile passphrase:
Verify the local keyfile passphrase:
[Note: Assign a passphrase for local keyfile.]

Creating signed configuration file...
Please enter your site passphrase:
Wrote configuration file: / opt / 绊线/etc/tw.cfg
[Note: Enter the site passphrase.]

Creating signed policy file...
Please enter your site passphrase:
Wrote policy file: / opt / 绊线/etc/tw.pol
[Note: Enter the site passphrase]

The installation succeeded.

  • 网站密码 将保护tw.cfg 绊线配置文件
    和tw.pol 绊线策略文件。您必须分配一个站点密码
    即使是单个实例的绊网。
  • 本地密码 将保护Tripwire数据库和报告文件。

3.初始化Tripwire数据库

初次使用时,应如下所示初始化tripwire数据库。

# cd / opt / 绊线/sbin/

# ./绊线--init

请输入您的本地密码:
Parsing policy file: / opt / 绊线/etc/tw.pol
生成数据库...
***处理Unix文件系统***
The object: "/ sys"在不同的文件系统上...ignoring.
###警告:文件系统错误。
### Filename: /cdrom
### 无此文件或目录
### Continuing...
###警告:文件系统错误。
### Filename: /floppy
### 无此文件或目录
### Continuing...
###警告:文件系统错误。
### Filename: /initrd
### 无此文件或目录
### Continuing...
###警告:文件系统错误。
Wrote database file: / opt / 绊线/lib/tripwire/prod-db-srv.twd
The database was successfully generated.

4.修改Tripwire策略文件

如上所示,在tripwire数据库初始化期间,它可能会显示“无此文件或目录”Tripwire策略文件中提到的某些默认文件的错误消息。如果您的系统没有’没有这些文件,请编辑策略文件并注释这些条目。

例如,修改 / opt / 绊线/etc/twpol.txt 绊线策略文件,并注释掉/ cdrom和/ floppy,如下所示。

(
  rulename = "OS Boot Files and Mount Points",
)
{
  /boot                         -> $(ReadOnly) ;
#  /cdrom                        -> $(Dynamic) ;
#  /floppy                       -> $(Dynamic) ;
  /mnt                          -> $(Dynamic) ;
}


使用tripwire策略文件,您可以定义需要监视更改的目录和文件。您还可以更精细地指定应该监视或忽略的文件属性。

以下是Tripwire监视的一些UNIX系统属性。

  • 文件添加,删除和修改
  • 文件权限和属性
  • 访问时间戳
  • 修改时间戳
  • 文件类型和大小
  • 所有者的用户标识和所有者的组标识
  • 哈希检查:符合CRC-32,POSIX 1003.2的32位循环冗余校验; MD5,RSA安全消息摘要算法; SHA,是SHS / SHA算法的一部分; HAVAL,强大的128位签名算法

5.更新Tripwire策略文件

一旦您’如果已修改策略文件,则需要对其进行更新,如下所示。

# ./绊线--update-policy --安全模式低../etc/twpol.txt

Parsing policy file: / opt / 绊线/etc/twpol.txt
请输入您的本地密码:
Please enter your site passphrase:
======== Policy Update: Processing section Unix File System.

======== 步骤1:收集新政策的信息.
The object: "/ sys"在不同的文件系统上...ignoring.

======== Step 2: Updating the database with new objects.

======== Step 3: Pruning unneeded objects from the database.
Wrote policy file: / opt / 绊线/etc/tw.pol
Wrote database file: / opt / 绊线/lib/tripwire/prod-db-srv.twd

注意: 如果您修改过任何文件,’完成了Tripwire的初始化,直到Tripwire更新策略为止,它们会列在“步骤1:收集新政策的信息”上面命令的输出。

### Warning: Policy Update Changed Object.
### An object has been changed since the database was last updated.

### Object name: Conflicting properties for object
### /u01/app/oracle/oradata/dbfiles/prod01.dbf
### > Modify Time
### > CRC32
### > MD5

6.检查文件是否有任何更改,并更新Tripwire数据库。

Tripwire设置完成后,您应该定期执行检查,以查找自上次Triptrip数据库更新以来添加或修改了哪些文件。您可以从命令行以交互方式执行此检查,如下所示。

# ./绊线--check --interactive

Parsing policy file: / opt / 绊线/etc/tw.pol
***处理Unix文件系统***

Performing integrity check...
Wrote report file:
/opt/tripwire/lib/tripwire/report/prod-db-srv-20081204-114336.twr


这将自动在vi中打开以下Tripwire报告文件,您可以在其中查看已添加或修改到系统的所有文件。如下图所示“Added” and “Modified”文件前面将带有复选标记,表示您接受这些更改以更新为Tripwire数据库。

===============================================================================
Report Summary:
===============================================================================
Host name:                    prod-db-srv
Host IP address:              192.168.1.10
Host ID:                      None
Policy file used:             / opt / 绊线/etc/tw.pol
Configuration file used:      / opt / 绊线/etc/tw.cfg
Database file used:           / opt / 绊线/lib/tripwire/prod-db-srv.twd
Command line used:            ./绊线--check --interactive

Remove the "x" from the adjacent box to prevent updating the database
with the new values for this object.

Added:
[x] "/u01/app/oracle/diag/rdbms/proddb/proddb/trace/proddb_m000_11376.trc"
[x] "/u01/app/oracle/diag/rdbms/proddb/proddb/trace/proddb_m000_11376.trm"

Modified:
[x] "/u01/app/oracle/diag/rdbms/proddb/proddb/metadata/INC_METER_CONFIG.ams"
[x] "/u01/app/oracle/diag/rdbms/proddb/proddb/metadata/INC_METER_INFO.ams"

Added object name:  /u01/app/oracle/diag/rdbms/proddb/proddb/trace/proddb_m000_11376.trc

  Property:            Expected                    Observed
  -------------        -----------                 -----------
* Object Type          ---                         Regular File
* Device Number        ---                         2049
* Inode Number         ---                         12026017
* Mode                 ---                         -rw-r-----
* Num 链接s            ---                         1
* UID                  ---                         oracle (1082)
* GID                  ---                         oinstall (1083)
* Size                 ---                         837
* Modify Time          ---                         Sat 06 Dec 2008 10:01:51 AM PST
* Blocks               ---                         8
* CRC32                ---                         AYxMeo
* MD5                  ---                         AXSkOul8R/np0fQP4q3QLv

Modified object name:  /u01/app/oracle/diag/tnslsnr/proddb/listener/trace/listener.log

  Property:            Expected                    Observed
  -------------        -----------                 -----------
  Object Type          Regular File                Regular File
  Device Number        2049                        2049
  Inode Number         2295281                     2295281
  Mode                 -rw-r-----                  -rw-r-----
  Num 链接s            1                           1
  UID                  oracle (1082)               oracle (1082)
  GID                  oinstall (1083)             oinstall (1083)
* Size                 5851880                     5858608
* Modify Time          Sat 06 Dec 2008 09:58:53 AM PST
                                                   Sat 06 Dec 2008 11:39:56 AM PST
* Blocks               11456                       11472
* CRC32                ANdM8R                      CK+bWM
* MD5                  DCW84lCuD2YJOhQd/EuVsn      CV8BMvZNJB9KQBXAf5yRDY

请输入您的本地密码:
Incorrect local passphrase.
请输入您的本地密码:
Wrote database file: / opt / 绊线/lib/tripwire/prod-db-srv.twd

7.如何查看twr报告文件?

所有扩展名为* .twr的Tripwire报告文件都存储在/ opt / 绊线 / lib / 绊线 / report目录下。 绊线报告文件* .twr不是文本文件,您可以直接查看。为了查看报告,请使用twprint并将* .twr文件转换为可读文本格式,如下所示。

# ./twprint --print-report --twrfile \
/opt/tripwire/lib/tripwire/report/prod-db-srv-20081204-114336.twr  > \
/tmp/readable-output.txt

8.定期监视Linux系统完整性

将绊线检查添加为cron作业,以持续监视和报告任何更改。例如,将以下行添加到您的crontab中,以每天凌晨4:00执行Tripwire检查。

# Tripwire Monitor process
00 4 * * * / opt / 绊线/sbin/tripwire  --check

9. Tripwire配置和策略文件位置

使用twadmin查看当前的Tripwire策略文件。下面仅显示部分输出。

#./twadmin --print-polfile
@@section GLOBAL
TWDOCS="/ opt / 绊线/doc/tripwire";
TWBIN="/ opt / 绊线/sbin";
TWPOL="/ opt / 绊线/etc";
TWDB="/ opt / 绊线/lib/tripwire";
TWSKEY="/ opt / 绊线/etc";
TWLKEY="/ opt / 绊线/etc";
TWREPORT="/ opt / 绊线/lib/tripwire/report";
HOSTNAME=prod-db-srv;

如下所示,使用twadmin获取有关所有Tripwire配置文件的信息。

# ./twadmin --print-cfgfile
ROOT          =/opt/tripwire/sbin
POLFILE       =/opt/tripwire/etc/tw.pol
DBFILE        =/opt/tripwire/lib/tripwire/$(HOSTNAME).twd
REPORTFILE    =/opt/tripwire/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
SITEKEYFILE   =/opt/tripwire/etc/site.key
LOCALKEYFILE  =/opt/tripwire/etc/prod-db-srv-local.key
EDITOR        =/bin/vi
LATEPROMPTING =false
LOOSEDIRECTORYCHECKING =false
MAILNOVIOLATIONS =true
EMAILREPORTLEVEL =3
REPORTLEVEL   =3
MAILMETHOD    =SENDMAIL
SYSLOGREPORTING =false
MAILPROGRAM   =/usr/sbin/sendmail -oi -t


如果您喜欢这篇文章,请在其上添加书签 美味,Digg和绊倒它.

如果您喜欢这篇文章,您可能还会喜欢..

  1. 50个Linux Sysadmin教程
  2. 50个最常用的Linux命令(包括示例)
  3. 排名前25位的最佳Linux性能监视和调试工具
  4. 妈妈,我找到了! – 15个实用的Linux Find命令示例
  5. Linux 101 Hacks第二版电子书 Linux 101黑客手册

Bash 101 Hacks书 Sed和Awk 101黑客手册 纳吉奥斯 Core 3书 Vim 101黑客手册

{ 16 评论… 加一 }

  • 匿名 2009年11月18日,下午7:24

    很棒的教程!!非常感谢!!

  • 阿里夫 2011年1月23日,下午8:43

    你好
    我试图安装此绊网。在检查期间,我收到此错误。您能给我建议如何解决这个问题。我已卸载并重新安装。同样的错误。

    我调整./tripwire–init as following :

    [[email protected] sbin]# ./绊线–init
    请输入您的本地密码:
    Parsing policy file: / opt / 绊线/etc/tw.pol
    生成数据库…
    ***处理Unix文件系统***
    物体:“/backup”在不同的文件系统上…ignoring.
    物体:“/misc”在不同的文件系统上…ignoring.
    物体:“/net”在不同的文件系统上…ignoring.
    物体:“/sys”在不同的文件系统上…ignoring.
    ###警告:文件系统错误。
    ###文件名:/etc/aliases.db
    ### 无此文件或目录
    ###继续…
    ###警告:文件系统错误。
    ###文件名:/ etc / mail / statistics
    ### 无此文件或目录
    ###继续…
    ###错误:文件查找失败。
    ###文件名:/var/lib/mysql/tech0104_ucc/uc_pms.MYD
    ###成功/绊线–update-policy –安全模式低../etc/twpol.txt
    ###退出…

    但是,当我发出此命令初始化数据库时:

    ./绊线–update-policy –安全模式低../etc/twpol.txt

    出现此错误:

    Parsing policy file: / opt / 绊线/etc/twpol.txt
    ###错误:无法打开文件。
    ### Filename: / opt / 绊线/lib/tripwire/myhost.twd
    ### 无此文件或目录
    ###退出…

    有什么建议吗?

  • 普拉蒂克·帕特尔(Pratik Patel) 2011年4月5日,上午4:02

    移动/删除/var/lib/mysql/tech0104_ucc/uc_pms.MYD文件& check.

  • 丹尼斯 2011年9月17日,上午2:03

    很棒的教程..非常感谢!

  • 瓦西姆·梅蒙(Vasim Memon) 2011年12月23日,上午5:58

    你好兄弟,
    个人感谢您创建了一个如此好的博客。

    我正在尝试在RHEL 5.X上安装tripwire,但是在以下命令下运行后出现此错误
    前缀=”/opt/tripwire” sysconfdir=”/opt/tripwire/etc” \
    path_to_vi =”/bin/vi” path_to_sendmail=”/usr/sbin/sendmail” \
    ./install/install.sh

    错误:–
    错误:配置参数$ TWPOLICY未定义。

    请让我知道解决方案,
    我会非常感谢你

  • 佩德罗 2012年6月6日,下午3:20

    如何清除消息:对象:“ / sys”在另一个文件系统上……正在忽略。 ?

    I’我曾尝试在配置文件中包含TRAVERSEMOUNTS = true,但我仍然收到该消息。

  • 2012年6月8日,上午11:36

    如果我的Tripwire仅监视1个文件,如果检测到违规,是否有任何方法可以自动执行操作?

    动作可能是:断开网络连接,用备份替换文件,发送要由其他应用程序读取的信号等。

  • 莫妮卡 2013年3月13日,上午7:43

    尊敬的先生,
    本教程非常棒且实用。
    但是我想知道更多,如何指定应忽略的文件属性。此外,修改时间戳记在我的报告中不可见,我如何在报告中添加修改时间。请通过您的宝贵建议帮助我。
    谢谢。

  • 芒格什·维亚斯(Manglesh Vyas) 2013年4月18日,上午6:29

    你好

    感谢您提供有关安装Tripwire的好文档,我确实尝试了以下错误,请您帮忙。

    Parsing policy file: / opt / 绊线/etc/twpol.txt
    ###错误:无法打开文件。
    ###文件名:/opt/tripwire/lib/tripwire/RRDRSS01.twd
    ### 无此文件或目录
    ###退出…

  • 帕迪普·塞尼(Pardeep Saini) 2013年4月18日,晚上10:51

    安装需要安装一些RPM软件包,因此在开始时安装这些软件包会有所帮助。

    百胜安装gcc gcc-c ++ gcc-cpp
    百胜安装

  • gle 2013年4月23日,上午9:42

    感谢Pardeep,

    我已经安装了所有与gcc *相关的​​软件包,并且问题已解决。

    再次感谢你的帮助。

  • 穆拉利 2013年5月30日,上午5:41

    我已经配置了跳线,一切正常,将我的主目录/ home / user添加到了twpol.txt不变的目录中。我没有收到有关对该目录下的示例文件所做的更改的报告。

  • Dhananjaya 2013年9月12日,上午4:39

    有什么方法只能获取特定时间段的日志文件。我如何只提取特定日期的更改?

  • 萨加尔·英达卡(Sagar Indalkar) 2013年11月27日,上午5:01

    嗨Ramesh,

    感谢您提供详细的博客。

    我第一次看到如此精彩的博客。对我有很大帮助。

    保持哥们

    问候,
    萨加尔·英达卡(Sagar Indalkar)

  • 阿里·希里尼 2015年3月30日,上午2:16

    嗨,
    对于自动化Tripwire,我仅使用crontab就拥有了新的技巧-
    #crontab -e
    0 2 * * * / sbin / 绊线–检查/ bin / mail -s“开源Tripwire(R)2.4.2.2完整性检查报告” [email protected] &2>1
    5 2 * * * / sbin / 绊线–check –interactive –local-passphrase “Your PassPharse” –no-tty-output –quiet –visual cat > /dev/null

    那’s Work Cool 😀

  • 保罗·弗斯洛 2015年8月12日,上午10:12

    你好,阿里·史里尼,

    那就是我一直在寻找的Tripwire的(undocument)选项!
    非常感谢(对我来说很复杂)带有管道等功能的scipt命令。

    干杯,上帝保佑你!

    保罗(荷兰)

发表评论