入侵检测系统  IDS Intrusion Detection Systems
入侵防护系统 IPS   Intrusion Prevention System
入侵前
(入侵后检测,事后入侵检测)   tripwire
(入侵中检测,实时入侵检测)  snort
因特网
      |
 路由
 |
|
防火墙
 |
 |
入侵检测系统
 |
 |
内部服务器
tripwire
你下载一个软件,会有md5值或数据签名等方法来让你验证这个软件是否被人恶意修改过.这也是一种完整性检测。
你的操作系统里有很多重要的文件(如/etc/passwd,/etc/shadow,各种命令等),也不能被人恶意修改,如果你怀疑有人入侵了你的操作系统,如何检测出哪些文件被修改过内容或属性等?
tripwire软件就可以帮你解决。
完整性检测
md5或者rpm等都可以对单个文件做完整性检测
rpm -Vf
缺点1:只针对安装的rpm包里的文件做完整性检测,无法对自建的文件做检测
缺点2:只能检测单个文件,你需要写脚本循环去检测多个文件
# rpm -Vf /etc/php.ini --这个文件是rpm版的php的配置文件,第一次使用这个命令,没有任何显示,表示此文件没有做过任何的改变
# rpm -Vf /etc/php.ini --对这个文件做微小的改变后,再执行此命令就会有信息了
S.5....T. c /etc/php.ini
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ
1,安装
# yum install tripwire --需要epel源
# ls /etc/tripwire/
twcfg.txt --定义tripwire各个相关文件的路径
twpol.txt --定义检测的对象文件,及违规时采取的行为
# cat /etc/tripwire/twcfg.txt --查看此文件,有以下相关的文件定义
/var/lib/tripwire/$(hostname).twd --用于存放生成的快照
/var/lib/tripwire/report/ --存放检测的报告
tripwire为了自身的安全,设定了两个密码文件
/etc/tripwire/site.key --用于保护策略文件和配置文件
/etc/tripwire/$(HOSTNAME)-local.key --用于保护数据库和分析报告
# ls /etc/tripwire/ --做完后,就会多产生几个配置文件了
li.cluter.com-local.key site.key tw.cfg twcfg.txt tw.pol twpol.txt
2,建立两个密码文件
# tripwire-setup-keyfiles
Enter the site keyfile passphrase:
Verify the site keyfile passphrase: --输入你设定的site密码两次
Generating key (this may take several minutes)...Key generation complete.
Enter the local keyfile passphrase:
Verify the local keyfile passphrase: --输入你设定的local密码两次
Generating key (this may take several minutes)...Key generation complete.
Signing configuration file... --签名配置文件
Please enter your site passphrase: --输入刚设定好的site密码
Wrote configuration file: /etc/tripwire/tw.cfg
Signing policy file... --签名策略文件
Please enter your site passphrase: --输入刚设定好的site密码
Wrote policy file: /etc/tripwire/tw.pol
3,修改默认配置文件
rpm版
# man twpolicy --可以查看策略帮助
# - ignore the following properties
# + check the following properties
#
# a access timestamp (mutually exclusive with +CMSH)
# b number of blocks allocated
# c inode creation/modification timestamp
# d ID of device on which inode resides
# g group id of owner
# i inode number
# l growing files (logfiles for example)
# m modification timestamp
# n number of links
# p permission and file mode bits
# r ID of device pointed to by inode (valid only for device objects)
# s file size
# t file type
# u user id of owner
#
# C CRC-32 hash
# H HAVAL hash
# M MD5 hash
# S SHA hash
Device = +pugsdr-intlbamcCMSH ;
Dynamic = +pinugtd-srlbamcCMSH ;
Growing = +pinugtdl-srbamcCMSH ;
IgnoreAll = -pinugtsdrlbamcCMSH ;
IgnoreNone = +pinugtsdrbamcCMSH-l ;
ReadOnly = +pinugtsdbmCM-rlacSH ;
Temporary = +pugt ;
===============================================================
--以twpol.txt下面这一段为例来说明它这个默认策略文件定义的意思
(
rulename = "Tripwire Binaries",
severity = $(SIG_HI)
)
{
$(TWBIN)/siggen -> $(SEC_BIN) ;
$(TWBIN)/tripwire -> $(SEC_BIN) ;
$(TWBIN)/twadmin -> $(SEC_BIN) ;
$(TWBIN)/twprint -> $(SEC_BIN) ; --这四个文件都要被以SEC_BIN的检测等级来检测
}
--然后又找到有这句变量定义
SEC_BIN = $(ReadOnly) ;
--又有下面这句的定义(rpm版里要man twpolicy去找,source版里有)
ReadOnly = +pinugtsdbmCM-rlacSH ;
-----------------------------------------------------------------------------------------------------------
现在/etc/tripwire/twpol.txt已经默认定义了非常多的文件,但现在这里有一个问题:它默认定义的文件或命令,你的系统上不一定有,所以你要注释掉它。它默认注释的文件或命令,你的系统上却有,所以你要去掉注释.
比如:
下面这一句,它默认是定义的,但我系统上没有,所以需要前面加#号来注释
/sbin/busybox    -> $(SEC_CRIT) ;
下面这一句,默认是注释的,但我系统上有,所以我想去掉前面的注释
#/sbin/lvchange -> $(SEC_CRIT) ;
为了实现这两个需求,我们需要使用脚本来处理默认的policy文件
# cp 笔记目录下/arch/TRANtwpol.sh /etc/tripwire/
# cd /etc/tripwire/
# cp twpol.txt twpol.txt.bak --因为这个脚本是用sed直接操作修改这个文件,所以可以先备份一下
# sh TRANtwpol.sh twpol.txt --处理完后的twpol.txt文件就是实现了上面两个需求的文件
这样处理并不能增加配置,也就是说你如果有需要添加的自定义需求,就只能手动再添加;下面我就添加一段做个示例,在配置文件最后加下如下一段
(
rulename = "notes",
severity = $(SIG_HI)
)
{
/share/ -> $(SEC_INVARIANT) (recurse = 0) ;
/share/20170522/ -> $(SEC_CRIT);
!/share/20170522/program/ ;
}
--这个策略的意思是/share/目录本身(不递归到下级子目录),只检查$(SEC_INVARIANT);/share/20170522/及其递归下级所有文件和子目录都检查$(SEC_CRIT);/share/20170522/program/及其递归下级所有都不检查任何属性
4,把修改好的文件,定入policy文件
# twadmin -m P twpol.txt --将修改完毕的文件,编码写入policy file
Please enter your site passphrase:
Wrote policy file: /etc/tripwire/tw.pol
# file /etc/tripwire/tw.pol --把你修改好的策略都写入了这个数据文件里
/etc/tripwire/tw.pol: data
5,初始化
# tripwire --init --通过上一步的数据文件来初始化数据库文件(就相当于是对你所有的配置做了数字签名)
Please enter your local passphrase:
Parsing policy file: /etc/tripwire/tw.pol
Generating the database...
*** Processing Unix File System *** --在这里时间较长,几分钟左右
Wrote database file: /var/lib/tripwire/li.cluter.com.twd --数据库文件路径
The database was successfully generated.
6,怀疑被入侵后进行手动检测,或者用crontab周期性检测
# tripwire --check --对所有定义的文件进行一次检测,速度较慢
Wrote report file: /var/lib/tripwire/report/li.cluster.com-20160930-101619.twr --检测完的报告,时间格式为系统的年月日-时分秒
# tripwire --check --rule-name notes --指定只检测的定义的规则名
查看历史报告,可以看到更详细的信息
# twprint --print-report --twrfile /var/lib/tripwire/report/li.cluster.com-20160930-101619.twr
一般为了安全性,在写入数据库之后,把明文的twpol.txt文件给删除或者备份到其它介质
# rm /etc/tripwire/twpol.txt -rf
7,策略如何更新?
a),导出正在使用的策略
# twadmin -m p >/etc/tripwire/twpol.txt
b),按照需求对其进行修改
c),再导进去
# twadmin -m P /etc/tripwire/twpol.txt
d),重新生成数据文件
#tripwire --init

转载于:https://www.cnblogs.com/skyzy/p/9201426.html

tripwire--入侵检测系统相关推荐

  1. 检查数据报:防火墙和入侵检测系统

    当攻击者知道我们的IP地址范围后,可以很方便地在此范围种发送IP数据报进行寻址.这些数据报能够做各种不正当地事情.例如用ping搜索和端口扫描形成我们的网络图:用恶意分装使易受攻击的主机崩溃:用纷至沓 ...

  2. 网络安全-防火墙与入侵检测系统

    防火墙效率 吞吐量:指防火墙在不丢失数据包的情况下能达到的最大的转发数据报的速率. 时延:能够衡量出防火墙处理数据的快慢. 丢包率:在特定负载下,指应由网络设备传输,但由资源耗尽而丢弃帧的百分比. 背 ...

  3. snort入侵检测系统下载Linux,入侵检测系统Snort 2.9.0.2 发布

    Snort 是一个免费的.跨平台的软件包,用作监视小型 TCP/IP 网的嗅探器.日志记录.侵入探测器.Snort 是全世界上使用最广泛的入侵预防与侦测软件. Snort 有三种工作模式:嗅探器.数据 ...

  4. libnet、libnids、libpcap轻松搭建Linux网络入侵检测系统

    利用三个源码包libnet.libnids.libpcap轻松搭建Linux网络入侵检测系统 如果要搭建基于Linux的网络入侵检测系统,必须要安装libnet.libnids.libpcap这三个源 ...

  5. Linux审计以及主机的入侵检测系统HIDS编写

    背景 想编写一个入侵检测系统,也就是IDS,其中有一个功能是要收集用户的History命令然后收集放到ElasticSearch里面去.对于这个需求我们要设置多用户的使用记录并记录到文件,然后通过 G ...

  6. 基于Snort的入侵检测系统

    基于Snort的入侵检测系统 用Snort,Apache,MySQL,PHP及ACID构建高级IDS 第一章 入侵检测系统及Snort介绍 在当今的企业应用环境中,安全是所有网络面临的大问题.黑客和入 ...

  7. 什么是入侵检测系统?有哪些分类?

    在现在网络中,攻击无处不在,可以不夸张的说,每一秒都有企业或者个人被网络攻击.有人说了,不是有防火墙嘛? 确实,防火墙是防止有害和可疑流量流入系统的首选解决方案,但是防火墙并不能保证 100% 万无一 ...

  8. 防火墙与入侵检测系统

    防火墙与入侵检测系统的区别(为什么说有了防火墙就不需要入侵检测系统这个说法是错误的?) 1.def: 防火墙:设置在被保护网络与外部网络之间,用来防止发生不可预测的,潜在的破坏行为.它通过检测通过防火 ...

  9. 网络安全实验-入侵检测-基于网络入侵检测系统

     实验目的: 1.掌握snort IDS工作机理 2.应用snort三种方式工作 3.熟练编写snort规则 实验原理: 一.snort IDS概述 snort IDS(入侵检测系统)是一个强大的网络 ...

  10. 网络安全之入侵检测系统

    一 入侵检测定义 入侵:指一系列试图破坏信息资源机密性.完整性和可用性的行为.对信息系统的非授权访问及(或)未经许可在信息系统中进行操作. 入侵检测:是通过从计算机网络系统中的若干关键节点收集信息,并 ...

最新文章

  1. fslayui和layui_fsLayui介绍(layui插件)
  2. Bootstrap css3
  3. fixedBox固定div漂浮代码 支持ie6以上大部分浏览器
  4. js删除两个集合中共同元素_多个集合中的共同和独特元素
  5. Let's Encrypt(开源SSL证书管理工具)
  6. vscode open in browser 默认浏览器
  7. My SQL-4 函数
  8. 腾讯校园招聘笔试 2019-8-17 第五题
  9. 暴雨公式 matlab,对雨水暴雨强度公式中降雨历时分解.pdf
  10. 一些生物信息学常用的分析法的介绍
  11. 要读的书---培根说:历史使人明智,诗词使人巧慧,算学使人精密,哲理使人深刻,伦理学人庄重,逻辑修辞使人善辩。...
  12. Excel 18个快捷键
  13. 考研高危人群!你是否还在危险的边缘试探?
  14. 刺激战场灵敏度怎么调压枪最稳:花了4个小时调的灵敏度,适合所有段位
  15. 玩的第一个黑客小游戏,isa test
  16. eclipse新建C/C++项目
  17. Unity应用自带UGUI与EPPlus库制作自制Excel(.xlsx)操作程序
  18. 基于golang的Json选择器
  19. [Codeforces 590E] Birthday
  20. Android VLC RTSP播放器

热门文章

  1. 架构的演进,阿里资深Java工程师表述架构的腐化之谜
  2. 成都市等18个市州2015年《工程量清单计价定额》人工费调整〔2017〕49
  3. [论文学习]:Mean Curvature Skeletons
  4. 松下伺服电机uvw接线图_伺服电机uvw对应相线颜色分析
  5. 仍在设置此设备的类配置(代码56)
  6. 湘潭市政府召开常务会议 部署加快建设新型智慧城市
  7. 【Matlab PolySpace 代码静态分析使用教程】
  8. 最新易语言入门到精通全套教程
  9. DTOJ#5043. 路哥
  10. matlab极值法绘制分叉图