tripwire是一个开源的入侵检测系统,他的工作原理就是在初始化时,对每个需要进行检测的文件或目录做数字签名,并把数字签名存到数据库里,当需要检测文件或目录是否被修改过是,就会把当前文件或目录的数字签名和数据中的作对比,如果不一样了就说明被改动过了。

实验任务:

1、安装tripwire

2、配置tripwire策咯

3、验证配置

4、添加新规则

5、邮件通知

安装tripwire

Tripwire 官网:http://nchc.dl.sourceforge.net/project/tripwire

由于 centos 7 基本 yum 源没有 tripwire,所以我们可以用源码方式安装,或者使用第三方源安装。我在这里用的第三方 EPEL 源

首先配置yum源

下载软件包epel-release

wget https://mirrors.ustc.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

解压软件包

rpm -ivh epel-release-7-11.noarch.rpm

安装tripwire

yum install tripwire --enablerepo=eple

安装完成后,会在/etc/tripwire/下生成两个关键性文件,分别是 twcfg.txt 和 twpol.txt,这两个文件一个是程序配置位置文件,另一个是入侵检测策略文件。到此, 安装成功。

配置tripwire策略

接下来开始使用tripwire。在使用之前要对tripwire进行一些配置。

Tripwire有两个管理密码,一个叫站点密钥(site key),用于更新配置文件和入侵检测策略。另一个叫本地密钥(local key),用于更新本地数据库。在以后配tripwire是会用到这两个密钥来验证身份。所以在运行tripwire之前必须创建key文件来配置这两个密钥。

创建key文件

tripwire-setup-keyfiles

在此处输入“site keyfile”口令(输入后不会显示),并且记住这个口令,然后再次确认口令,我的口令是123456。

在此处输入“local keyfile”口令(输入后不会显示),并且记住这个口令,然后再次确认口令,我的口令是654321

Tripwire为了自身安全,防止被篡改,会对这twpol.txt和twcfg.txt两个文件进行加密和签名。

用站点密码给配置文件签名,防止篡改。输入“site keyfile”口令(123456)

用站点密码给配置文件签名,防止篡改。输入“site keyfile”口令(123456)

我们可以看到,由twcfg.txt和twpol.txt生成了tw.cfg和tw.pol配置文件

查看 tw.cfg可以看到已经被加密,为乱码。

为了安全起见,一般在配置好tripwire后,会删除twcfg.txt和twpol.txt这两个文件,在这里我为了做以后的实验,保留这两个文件。

初始化tripwire,输入站点密码,扫描文件并建立数据库

tripwire --init

在执行命令过程中会有很多报错,这是因为twpol文件中定义了许多系统中没有的文件,可以在twpol.txt中删除或者注释掉没有的文件。下边我采用脚本形式,重新生成twpol文件。

使用下面的命令从tripwire生成日志错误。

把所有不存在的文件都列在no-directory.txt文件中。

sh -c "tripwire --check | grep Filename > no-directory.txt"

查看该文件,可以发现,没有的文件都列在no-directory.txt中了。

cat no-directory.txt

编辑脚本aaa.sh并修改权限,使之可以运行。

编写脚本内容:for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do

sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt

done

运行aaa.sh脚本,重新生成twpol.txt文件,去掉系统中没有的文件。

twadmin -m P /etc/tripwire/twpol.txt

重新初始化tripwire,我们发现,没有报错。

tripwire --init

现在,tripwire入侵检测系统基本已经配置完成了。

验证配置

我们检查系统,发现没有违反规则的报告。

tripwire --check

在/root/下创建haha.txt,再次检查系统,发现报告违反规则,级别为100,内容是增加了/root/haha.txt

tripwire --check

添加新的策咯

Twpol.txt文件是重要配置文件,定义了所有的检查策略,下面我们来查看一下。

查看twpol.txt文件

cat twpol.txt

tripwire所定义的文件类型

SEC_CRIT       = $(IgnoreNone)-SHa ;  #这个是重要文件,是写死了的,不能被修改。

SEC_SUID       = $(IgnoreNone)-SHa ;  #这个是设置SUID和SGID的二进制文件,例如/usr/sbin/里的文件。

SEC_BIN        = $(ReadOnly) ;        # 普通二进制文件。

SEC_CONFIG    = $(Dynamic) ;         # 经常进行读操作,写操作进行的少的文件。

SEC_LOG       = $(Growing) ;         # 经常写的文件,但是属性一般固定,较多见于日志文件。

SEC_INVARIANT = +tpug ;              #很重要而且一定不能改变属性的文件,

SIG_LOW       = 33 ;                 # 安全等级为低级的文件

SIG_MED       = 66 ;                 # 安全等级为中级的文件

SIG_HI         = 100 ;                # 安全等级为高级的文件

这些文件的定义都是默认的,也可以根据自己需求进行定义。

某一条规则:

策略解读:

(

rulename = "Tripwire Binaries",  #这是规则名称。

severity = $(SIG_HI)            #这里是安全级别。

)

{                              #这一部分写的是具体策略。

$(TWBIN)/siggen                      -> $(SEC_BIN) ; #下边是文件和对应的级别。

$(TWBIN)/tripwire                    -> $(SEC_BIN) ;

$(TWBIN)/twadmin                     -> $(SEC_BIN) ;

$(TWBIN)/twprint                     -> $(SEC_BIN) ;

}

注意除了最后一个其余每个()内容后都有一个逗号。

在实际应用中,我们往往要添加新的策略来满足要求。可以通过修改twpol.txt文件来实现。需要定义规则名称,严重程度,也就是级别,要监控的目录和文件类型。在这里,我创建一个新的规则叫webroot,严重程度为100(SIG_HI),文件类型为SEC_CRIT,即重要文件,不能被修改。

在/etc/tripwire/twpol.txt中添加新的规则Webroot,在最后一行添加,增加策略可以监控/var/www目录。

cd /etc/tripwire

vi twpol.txt

编辑添加内容:

(

rulename = "Webroot",

severity= $(SIG_HI)

)

{

/var/www        ->$(SEC_CRIT);

}

重新生成twpol.txt文件。

twadmin -m P /etc/tripwire/twpol.txt

输入网站密钥

重新初始化数据库。

tripwire –init

输入本地密钥

检查系统,发现没有错误,说明新的规则策略已经被应用。

tripwire  –check

在/var/www目录下,创建aaa.html文件。

再次使用tripwire检查,发现出现错误。错误级别100,显示/var/www目录发生改变,添加了aaa.html

tripwire --check

Tripwire检测后生成的报告放在/var/lib/tripwire/report 中,文件是加密的。如果要查看的话,需要用到Tripwire的解密工具:twprint,进入到/var/lib/tripwire/report 目录中,执行以下命令:

twprint --print-report --twrfile  localhost.localdomain-20190620-201858.twr >/var/lib/tripwire/readable/tripwire_readable.txt

设置Tripwire电子邮件通知和Cron。

Tripwire系统还支持把特定错误报告以邮件形式发送给管理员邮箱的功能,极大方便了管理员的安全管理。在这里,我的管理员邮箱是dong_hzgg@qq.com

想要支持发送邮件,我们依然需要修改配置文件twpol.txt

在配置前首先测试是否可以发送到管理员邮箱文件。

tripwire --test --email dong_hzgg@qq.com

修改twpol.txt文件,在刚才创建的Webroot规则里添加控制邮件发送的代码。如图发送给dong_hzgg@qq.com,表明把违反这条规则的报告发送到邮箱。

编辑添加

(

rulename = "Webroot",

severity= $(SIG_HI),

emailto = dong_hzgg@qq.com

)

{

/var/www        ->$(SEC_CRIT);

}

重新生成twpol.txt文件。

twadmin -m P /etc/tripwire/twpol.txt

重新初始化数据库。

tripwire --init

在/var/www/的目录下修改aaa.html文件

检查并发送邮件给管理员邮箱。--emal-report的意思是将检查报告发送到每个规则定义的电子邮箱中,这里只配置了我的管理员邮箱。

tripwire –check –email-report

在管理员邮箱中可以发现,收到了检查报告,显示Webroot规则被违反,级别为100,目录为/var/www。,说明电子邮箱通知配置成功。

设置定时检查

设置定时器。在每天的0点和12点检查系统,并发送报告给管理员。

crontab -e -u root

添加以下的代码

编辑添加:0 0,12 * * * tripwire --check --email-report #代表每天0点和12点执行tripwire --check --email-report命令

重启crond服务。

systemctl restart crond

现在,整个开源入侵检测tripwire系统配置完毕,管理员将在每天中午12点和晚上0点收到检查报告,查看是否有人动过被监控的文件,当然也可以手动进行检查。

-----------------------------

参考资料

https://blog.csdn.net/weixin_34127717/article/details/90003361

https://www.cnblogs.com/jackyzm/p/9629608.html

-------

如有侵权,请联系我删除!

Tripwire入侵检测系统的搭建与应用相关推荐

  1. 基于CentOS6.5下snort+barnyard2+base的入侵检测系统的搭建(图文详解)(博主推荐)...

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机器环境实验室的大数 ...

  2. snort create mysql_Snort入侵检测系统构建

    Snort入侵检测系统构建 难度等级:中等 实验时长:200min [实验目的] 通过本实验掌握snort入侵检测系统的搭建以及相关配置. [实验环境] Snort服务器登录信息: 用户名: coll ...

  3. 入侵检测系统 FAQ

    一.都有哪些重要的IDS系统? 根据监测对象不同,IDS系统分为很多种,以下是几种很重要的IDS系统: NIDS--NIDS是network intrusion detection system的缩写 ...

  4. 入侵检测系统原理和实践

    标题:入侵检测系统原理和实践 时间:2004-06-13 来源:http://www.fanqiang.com 作者:David Elson 翻译:ishtar IDS:THEORY&PRAC ...

  5. 基于Snort的入侵检测系统_相关论文

    摘 要 随着网络技术的发展,中小型企业已建设了属于自己的信息化业务平台与系统.中小型企业只有实现信息互通,资源共享,才能够在当今的竞争中生存下去,但信息的互通会面临一些安全问题,对此需要对其采取一些措 ...

  6. IDS(入侵检测系统)

    目录 一.结合以下问题对当天内容进行总结 1. 什么是IDS? 2. IDS和防火墙有什么不同? 3. IDS工作原理? 4. IDS的主要检测方法有哪些详细说明? 5. IDS的部署方式有哪些? 6 ...

  7. 网络信息安全_网络攻防实验_snort+BASE入侵检测系统_snort规则_ICMP/TCP攻击

    网络攻防实验 一.实验环境 二.实验步骤 1.搭建 snort+BASE 入侵检测系统 1.1 安装snort 1.2 安装Barnyard2 1.3 安装 PulledPork 1.4 创建服务 1 ...

  8. 【计算机网络】网络安全 : 入侵检测系统 ( 基于特征的入侵检测系统 | 基于异常的入侵检测系统 )

    文章目录 一.入侵检测系统 引入 二.入侵检测系统 三.入侵检测系统分类 四.基于特征的入侵检测系统 五.基于异常的入侵检测系统 一.入侵检测系统 引入 入侵检测系统 引入 : ① 防火墙作用 : 防 ...

  9. 入侵检测系统基础知识

    入侵检测是指在特定的网络环境中发现和识别未经授权的.恶意的入侵和攻击,并对此作出反应的过程.入侵检测系统(IDS,Intrusion Detecting System)是一套运用入侵检测技术对计算机或 ...

最新文章

  1. java一般会写javadoc吗_怎么写javadoc
  2. python资料库-python 资源库
  3. redis实现轮询算法_基于zookeeper或redis实现分布式锁
  4. Java基本语法(13)--条件分支switch-case结构
  5. Springboot 多线程的使用
  6. Docker for windows 容器内网通过独立IP直接访问的方法
  7. 【软件测试】你的简历出现这些问题?没人要也是有原因的
  8. 清华EMBA课程系列思考之二 -- 清华探究及信息战略与管理
  9. 晶体二极管的分类大全
  10. 计算机组成原理74138译码器连接,74138(74138译码器工作原理)
  11. 定时关机win10_巧用任务计划程序定时关机
  12. 搭建个人博客【搭建Hexo+Fluid博客并部署到GitHub/云服务器(阿里云/腾讯云)】
  13. 麻省理工学院:科技宠儿的摇篮
  14. SpringBoot 整合 Elasticsearch
  15. C#代码CRUD操作MySQL数据库
  16. 多元线性回归分析(Stata)
  17. win11系统用户账户控制总是弹出来?
  18. 复用-组合、继承、代理区别和用法
  19. 1060 爱丁顿数 (25分)
  20. 10款网站后台管理系统模板_bootstrap网站后台模板_html后台模板下载(四)

热门文章

  1. [转载]vfw的AVI族函数读取AVI文件
  2. 可用作python变量名的是_Python编程4:什么是变量
  3. 【已解决】pycharm 远程服务器报错 Couldn‘t refresh skeletons for remote interpreter
  4. uvw77ay_aiffip
  5. 2022年中级会计实务考试精选复习题及答案
  6. FLANN 快速特征匹配
  7. android iphone 多核,苹果A11跑分对比Android各大处理器:神一般的处理器
  8. 差分ADC到单端ADC
  9. 华为汽车产业深度剖析
  10. c语言 文件课件,C语言课件第13章-文件操作.ppt