数据完整性检查工具是部署在服务器或者主机上的一款终端软件。数据完整性检查工具既可以理解为数据安全工具,也可以理解为网络入侵检测工具。因为通常网络入侵会造成文件或数据的破坏,有的时候工具者也会修改系统文件或者数据文件。这种修改包括对文件内容的修改,访问权限的修改。这两种行为通常都是在攻击者成功入侵攻击对象之后发生的。虽然我们在网络边界部署了安全产品,比如防火墙,入侵检测,防病毒网关等产品,但是我们还是不能保证我们的网络固若金汤。即使是我们架设了金钟罩铁布衫,攻击者还是能够找到我们网络防御中的漏洞。在我们防御手段不能够有效地防御攻击的时候,我们需要借助监测手段来及时的发现工具的时间,工具的人以及攻击造成的损害。
下面我们来看一下数据完整性工具具体能在那些方面,帮助我们提升整个网络的安全控制。下面这几项功能, 在我们做攻击发生之后的调查,恢复,评估工作是大有裨益的。
1. 文件完整性检查工具可以监控文件的大小变化
2. 文件完整性检查工具可以监控文件owner的变化
3. 文件完整性检查工具可以监控文件的运行权限
4. 文件完整性检查工具可以显示以上各种变化发生的时间


在信息安全控制方法论中,数据完整性应该属于检测性控制,但是数据完整性检测可以对它之前的控制发挥效用, 比如恢复性,和纠正性控制措施。如果使用信息安全事件管理流程来分析的话, 数据完整性工具在第二检测简短和第四恢复阶段发挥作用。

针对个人中端笔记本电脑,我们通常会安装终端杀毒软件。当中专杀毒软件不能够有效防御威胁的时候,我们可以选择重新安装系统。这是因为在终端造成的损害,通常只会影响一个人或者几个人。而服务端造成的损害,通常会直接影响到公司的业务,如果发生了攻击影响,影响了业务,但我们还不知道attack什么时候发生的攻击者来自何方?攻击的损失具体是什么?那么我们就会处于一个很尴尬的境地。
曾经经历过的一个攻击事例是这样的,运维人员只是确定内网遭受到了攻击,服务器被攻击者远程控制,但是不知道攻击者对服务器做了什么样的操作。于是运维人员登上服务器,一顿操作猛如虎。又是看文件,又是看进程,把熟悉的命令都敲了个遍,还是不能确定攻击者究竟是对服务器做了什么?只是发现在服务器的进程里,总是有一些奇怪的进程,于是就运行PS或者top的命令。哪里知道攻击者早已经将这些系统命令做了修改,系统管理员每一次运行系统的常用命令,都会同时将攻击者写好的脚本运行一遍。这个时候他们最期待的是能够有一份清单,让他们了解哪些文件被修改了,哪些文件还可以使用?在这种情况下,文件完整性工具就可以帮上大忙。
在我之前经历过的网络安全事件中, 就存在类似的情况。一个周末的早晨,一通电话把我从被窝里面叫起来。原来运维人员意识到了某台服务器被控制了, 但是他们不知道怎么处理。他们把系统进程,passwd文件都检查了一遍。把可以文件kill了一遍又一遍。但是可疑进程总是会自己又跑起来。几个自认为Linux大牛的专家, 上场来来回回的敲命令,结果开始清除不掉可疑的进程。到了最后才发现,原来攻击者已经把常用的命令都做了手脚,每当大佬们运行工具做分析的时候, 都相当于把攻击者的脚本跑了一遍。当时他们渴望的就是能有一个对照清单, 能清清楚楚的了解哪些文件被搞了。即使我们实施了最严格的网络安全控制, 应用层控制, 也不能绝对的说网络安全事件不会发生。

数据完整性检查工具的价值就在于攻击发生后,能够帮助我们理清攻击点在哪里, 攻击者都做了什么,以及什么时候发生的攻击。

我在之前的博文中介绍了主机入侵检测工具OS SEC,主机入侵检测工具,同时也提供了文件完整性检查。今天我主要介绍一下两款专门做文件完整性检查的开源工具。Trip wire以及aide,两款产品都是开源产品,其中Trip wire也提供商业版本。

  • 我的测试环境是在ubuntu平台上做了, 因为我可以一边操作试验,一边可以看李诞的脱口秀。tripwire的安装过程非常简单, 一个apt-get 命令就都解决了。安装完了tripwire之后, 我们可以在/etc/tripwire路径下看到tripwire的安装文件。.key的文件是我们在安装过程中配置的密码,tripwire为了防止攻击者的手之后修改配置,对配置文件和数据库都进行了加密处理。.txt文件是明文的配置文件,大家可以浏览里面的配置信息, 但是这两个txt文件并不直接为tripwire所用。tripwire运行时候使用的是加密的pol文件,后面我们会介绍如何完成两种文件之间的转化。
  • twcfg.txt:
  • 下面的内从来自twcfg.txt,里面包含一些基本的文件配置路径,大家可以在里面定义数据库的路径以及report的存储路径。其中syslog的选项是可以调整为fales或者true的, 但是这个syslog并不会显示每次扫描报告的具体内容。整个告警还是依赖email来进行(免费版本)。这个syslog主要会记录运行check的时间, 完成情况等信息。

  • 下面的内容摘录自twpol.txt文件,这个里面主要配置了监控文件变化的级别。有的文件可能一直都不会变化,而且比较关键的就需要被设置成sig-hi。如果有一些文件会非常频繁的改动, 比如说var或者tmp下面的文件,我们就不需要监控文件的大小变化。我们可以监控文件的owner以及文件的权限变化,这些都是可选的。下面没有截取的内容就是设置哪些文件夹需要被监控以及监控的级别。这里的设置会导致最终扫描的速度,以及扫描结果的可用程度。如果文件都监控了,可能会生成很多没有价值的告警。我的理解是大家开始可以选择默认的配置, 后期根据报告的内容在做调整。如果对Linux文件体系很熟悉的话, 也可以直接上去配置文件监控路径和级别。关于监控配置这块,个人感觉AIDE的配置会相对容易理解一些。

我们可以手动更新tripwire的策略, 先调整twcfg.txt的内容, 然后通过下面的命令把txt文件的策略更新到pol文件中, 这个过程需要输入密码,因为pol文件是加密格式的。还有一点需要注意的是, 更新了策略之后同时也需要更新初始数据库。

  • twadm -m P twpol.txt
    大家也可以通过下面的命令来把目前正在使用的策略导出到txt文件中,进行更正。
  • twadm -m p > /etc/tripwire/twpol.txt
    下面我们具体做几个测试来看看效果:

1)更改文件内容, 引起文件大小变化。testtripwire文件的大小从14到了30. 同时也有时间戳跟踪功能。

  • 下面的截图是扫描报告的一个汇总信息, 显示了自从初始数据库创建之后,都发生了那些变化,包括增删改的信息。
  • s下面截图的报告内容显示了文件owner的变更,有的时候攻击者会上传一些远程控制脚本,或者修改了系统文件的owner。在这种情况下,我们能够通过tripwire报告文件发现这种变化。
  • 下面的测试是进行了文件运行权限的变化,我们可以通过报告了解到文件运行权限的变更。
  • Mode -rw-r–r-- -rwxr-xr-x
  • UID root (0) sam (1000)
关于文件完整性的监控工具还有一些, 我这里并没有做过多的解释,AIDE作为tripwire的替代工具, 在配置监控内容上相对会比较容易理解一些,配置也相对灵活一些。从目前测试tripwire的功能来看, 使用邮件告警的方式还是有很大弊端的。我们可能需要再开发一些脚本来监控每次运行check的结果, 或者直接接收tripwire发出来的文件, 或者继承到SIEM上面,做威胁集中处理。官方推荐的配置是使用crontab来定制定期执行的计划, 我们也可以在安装完系统或者布完应用之后运行一次初始化扫描, 这样我们会有一个系统原始文件的快照,当存在或者怀疑存在攻击的时候, 对照一下变化的文件。免费的tripwire更确切的说是一个安全工具, 还不能称其为一个安全系统。但是商业版本的和我们免费的还是有很大的区别,至少存在一个集成好了dashboard,这个能帮助我们集中管理各个系统的文件完整性检查结果。
另外一个想法是我们可以通过脚本把所有机器上定期扫描的report集中到一个存储单元,然后我们利用已知的key读取报告内容, 并生成一个可读的文件,这样tripwire就成为网络安全sensor的一部分,这种sensor越完整,我们感知威胁的能力就越强。

信息安全体系建设☞数据完整性检查--信息安全开源工具分享相关推荐

  1. 信息安全体系建设☞流量可视化(2)sflow

    在我的上一篇博文中介绍了为啥要走流量可视化,如何做流量可视化.那么本篇博文就着重来看看如何实现流量可是话.我的这个系列都是基于开源软件来实现信息安全体系建设的,本篇博文也不例外.我准备介绍一下sflo ...

  2. 信息安全体系建设☞流量可视化(三)

    眼见为真是我们在处理大多数判断的时候采取的一个有效措施,这条基本的判断方法也许存在出入, 但是通过视觉的确能增加我们处理信息的速度,提升我们决策的准确性.这一篇博文我们还是继续来探讨如何进行数据可视化 ...

  3. 信息安全体系建设☞流量可视化(一)

    背景介绍 我们通常会说想要防住威胁,首先就要看到威胁.这里面的看不只是用眼睛看,更重要的是要感知到威胁的存在.无论是以图形化展示,还是根据规则生成告警,这都是感知威胁的一种有效手段.在进行流量可视化或 ...

  4. 观测云高分通过等保三级认证,信息安全体系建设领先行业

    近日,观测云高分通过网络安全等级测评,获得"国家信息安全等级保护三级认证".此次等保认证是观测云继"可信云企业级 SaaS 服务认证"后获得的又一重要国家级认证 ...

  5. 信息安全体系建设☞开源入侵检测系统HIDS

    在之前的博文中介绍了NIDS, IDS就像是我们在网络的关键节点上假设的一双双水汪汪的大眼睛.IDS能帮我们深度检测流过的数据包,针对数据包中的特征来触发告警,并记录日志.同时我们也可以根据资产的重要 ...

  6. 信息安全体系建设☞开源入侵检测系统NIDS

    我们之前提到在边界处搭建信息安全体系,需要依赖防火墙,但是防火墙就像我们生活当中的一扇门,只是负责开和关我们不能够感知到是谁进来或者谁出去.比如说我们在制定防火墙策略的时候,我们制定的规则是人可以出去 ...

  7. 信息安全体系建设☞网络间的安全通信

    WPN(virutal private network)是一种最普遍,同时也是最廉价的安全手段.我们通常把WPN的安全管控归纳到访问控制领域.一方面控制接入的人或者终端另一方面,控制公司的资产.从Wp ...

  8. 信息安全体系建设☞安全通信防护

    virutal private network是一种最普遍,同时也是最廉价的安全手段.我们通常把virutal private network的安全管控归纳到访问控制领域.一方面控制接入的人或者终端另 ...

  9. Whale News | 帷幄获公安部信息安全「等保三级」认证,信息安全体系建设行业领先

    近日,Whale 帷幄通过又一项权威的信息安全认证,获得了公安部核准颁发的「国家信息安全等级保护三级认证」(以下称:等保三级),成为 MarTech 行业中同时获得 ISO27001.ISO27701 ...

最新文章

  1. python tk text scrollbar_tk.Scrollbar控件的使用
  2. p20华为云电脑白屏_永别了电脑,华为大举动:华为云电脑,重新定义个人电脑...
  3. 直播预告丨拆解 LTV:增长焦虑,企业如何诊断黄金流量?
  4. 基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题...
  5. html5移动web开发黑马掌上商城_这套web前端与移动开发教程,帮助了众多小白转行就业...
  6. python os renames_Python3 os.renames() 方法
  7. 计算机组成原理个人笔记(三)
  8. nginx之虚拟主机与请求的分发
  9. threadlocal内存泄露_ThreadLocal用法详解和原理
  10. JNI 概述 (翻译)
  11. 几种常用 JSON 库性能比较,看完你可以和老板装逼!
  12. php函数-list函数
  13. python requests 登录接口场景使用案例
  14. 【搞笑】新闻联播熏陶下的小学生作文
  15. 如何平衡老师任务和自学之间的关系
  16. 【GAOPS050】自同步加扰和帧同步加扰
  17. Linux杂项(001) - ext4magic文件恢复
  18. 火星存在大型地下水系统,火星或曾是一片海洋
  19. ubuntu backup
  20. 建议收藏:用Axure做一个竞品分析文档(教程+下载)

热门文章

  1. 学编程都会遇到哪些困难?
  2. 越狱Season 1-Episode 1: the pilot
  3. 2021年电工(中级)报名考试及电工(中级)考试资料
  4. 即将迎来M2的 MacBook Pro升级款 M2 Pro版本MacBook Pro或将于2023年3月发布
  5. 面试题汇总 (HTML与浏览器篇)
  6. 自建服务器打印机,打印机服务器搭建 -cups
  7. java color类红黄蓝_一种具有红黄蓝母体结构多发色体系的活性染料及其制备方法和应用与流程...
  8. 【转】大河报重要版面刊登署名永春文章:观猴有感
  9. 中国压电材料取得突破性进展,未来B超机可折叠弯曲
  10. sourcetree教程(去掉注册账号)