几款开源NTA/IPS/NDR工具的简单比较

笔者目前所在的公司,办公网用户端有安装桌管软件,IDC服务器有部署某安全初创公司的EDR产品,综合来看在终端这层做得还算到位,能满足目前业务体量下的安全需求。但是在网络这层,却一直是有缺失的。除了SNMP监控,就几乎没有其他的网络监控工具了。以往出现突发事件,还需要在入口处部署一台机器临时抓包。效率低不说,问题回溯能力几乎没有。

先前部署了一套NetFlow流量分析系统后,算是对内网可视化有从0到1的改变,并发现和定位了几起流量异常和员工异常行为。但既然NetFlow都收集了,总忍不住想看一看更底层的数据包,是否能捕获更多的异常事件。于是就收集了一下这几年出现的一些开源的网络流量分析工具,看看有没有能满足基本需求的:

SIEMonster和SecurityOnion这两款,同互联网界的元老级开源SIEM项目OSSIM类似,既做Network IDS又做Host IDS,是大而全的项目,且SIEMonster企业版还支持Human Based Behaviour和Machine Learning。但以笔者经验,小众开源项目走大而全的路子,能出彩的可能性不高(要么就是免费有阉割)。另外系统大了部署和配置就会比较“重”,所以这两款就先观望。

RockNSM项目比较新,据说还拿到了2018年的美国政府创新奖。就是试用下来bug还是不少(100Mbps左右的流量就出现了性能问题、Suricata的数据出不来)。UI也是基于Kibana的简单定制,乍看酷炫,就是比较难抓到重点:

SELKS的完成度就比较高了,部署快,UI除了标准的Kibana还有自己定制的报表和性能看板。新的5.0更集成了全流量抓包工具Moloch。整合的工具不多,但是选取视角和质量都不错。

最终,我们就留用了SELKS作为现阶段临时的网络流量分析工具。剩下的工作就是对Suricata规则的熟悉和理解,争取可以编写自己的规则。

顺便记录一下两个bug:

  1. Rulesets sources里有几个源在github上,需要有梯子才能正常更新
  2. 5.0版本集成的Moloch,一些组件的路径要修改下。否则服务无法启动

当然使用免费开源的IDS工具是不得已的办法,大环境不好,今年IT的预算一定是缩减的。不过另一方面,企业在安全这项的支出上一定要意识到安全专家的人力成本才是最高的,IDS这种产品容易生成海量的告警,总得有人看,对吧?

 3,566 total views,  6 views today

Tableau创建桑基图(Sankey Diagram)的最简易方法

最近在熟悉Power BI工具的过程中,发现用Power BI创建桑基图是比较容易的,微软有提供官方的插件:https://appsource.microsoft.com/en-us/product/power-bi-visuals/WA104380777

注:桑基图是流程图的一种,其中箭头的宽度与流速(或大小、数量、尺寸)成比例。桑基图通常应用于能源、材料成分、金融等数据的可视化分析,如:

运维领域的Web流量分析也相当适用:

顺便说一句,桑基图要求起始流量和结束流量相同。如果不同的话,需要使用和弦图(Chord Diagram)。

于是就想看看使用Tableau要如何创建一样的图表呢?一阵深挖后,发现大部分中英文社区的文章,都还是沿用之前比较复杂的老办法:

  • 一种是对源数据进行二次整理和加工,将其转换为合适的数据格式,再在此基础上进行创建
  • 另一种则是直接使用源数据,通过各种计算字段的应用,来达到创建桑基图的目的

而无论哪种方法,都涉及复杂的曲线(Curve)计算公式,步骤多不说,一不小心还容易出错。

那Tableau有没有类似Power BI现成的模板呢?答案是有的。有热心网友制作了两套模板,分别对应二阶和三阶的桑基图。打开模板后只需要三步,就可以自动生成图表了:

1. 下载模板

2. 数据集自己与自己并集(Union)

3. 将2个dimension和1个measure重命名成:Source, Target & Size

4. 替换Sankey Minimal Template的数据源

5. 完成

另外附上三阶段桑基图模板效果图:

是不是方便许多了呢?:-)

 2,486 total views,  9 views today

OWASP Top 10十七年演变史

自2003年发布首个版本以来,OWASP Top 10在17年间发布了6个版本 (2003 – 2004 – 2007 – 2010 – 2013 – 2017)。而当前最新版本仍然是2017版:https://owasp.org/www-project-top-ten/ 。这就2020年了,可以期待一下今年会不会发布新版 🙂

根据官网的描述:

OWASP Top 10是针对开发人员和Web应用程序安全性的标准安全意识文档。 它代表了对Web应用程序最严重的安全风险的广泛共识。
公司应采用此文档,并开始确保其Web应用程序将这些风险降至最低的过程。 使用OWASP Top 10可能是将组织内的软件开发文化转变为产生更安全代码的文化的最有效的第一步。

让我们来看看过去的6个版本都有哪些变化:

可以看到,伴随着互联网浪潮,注入漏洞 (Injection) 一路水涨船高,近三个版本更是牢牢占据榜首。2017年版新增了三种漏洞类型:XML外部实体 (XXE)、不安全的反序列化 (Insecure deserialization)、不足的日志记录和监控 (Insufficient logging and monitoring)。

对这些漏洞的具体解读,推荐大家阅读OWASP Top 10中文翻译项目组的作品:http://www.owasp.org.cn/owasp-project/2017-owasp-top-10

对于企业信息安全建设,从来没有终点,希望所有安全相关从业者都关注对照OWASP Top 10,利用好最佳实践,结合自身环境,多方位持续性地自查风险、改善,采取有重点的保护防范措施,在人、技术(工具)、流程三个维度提高业务系统安全性。

 1,014 total views,  2 views today

Excel、Tableau、Kibana添加“辅助列”的方法

经常使用Excel的朋友肯定会遇到需要“辅助列”的情形。什么是辅助列?简单来说,比如你想达到A这个目标,但是在达到A目标前,如果能先达到B目标,就能更容易地实现A,那B目标就是辅助列。比如这篇post中演示的:

Excel

Excel添加辅助列很简单,只需要Insert一个新列,再配合各种公式实现自己的需求:

Tableau

Tableau通常可以借助Create里的Calculated Field、Group、Set、Parameter来实现辅助列的功能:

我们以与Excel“公式型”辅助列最接近的Calculated Field功能为例,新建一个单位为MB的Bytes字段。完整的可用公式可以参考:https://help.tableau.com/current/pro/desktop/en-us/functions.htm

Group、Set、Parameter也都非常强大,有机会的话我们下回细说。

Kibana

Kibana的辅助列,从功能上最匹配的是Scripted Field。要生成它,需要用脚本,官方推荐的是Expression和Painless。Expression的运行速度快,但不支持对字符串的操作。如果做的转换只是针对number或date,可以使用Expression;如果涉及到string,就需要用Painless。

但是,笔者在今天的测试时,触发了一个bug。创建Scripted Field后,索引就挂了,报Courier Fetch: N of M shards failed,且查找无法返回任何结果 (No results found)。

集群都是好的,初步判断这个问题可能和这套ES版本较旧有关(历史原因,目前仍在用v5.4)。Google一番无果后,决定创建一个新的索引了事。老的索引也放着,看看能否挽救。

 680 total views,  2 views today

Zabbix、Grafana添加95th Percentile Lines

95计费 (95th Percentile Charging),指在一个计费周期内,将全部计费点的带宽值由高到低倒序后,移除5%的那些高点,剩下数据点中的最高的带宽值就是计费的带宽。

以1个月30天为例,默认均为有效取值点:每5分钟1个带宽取值点,每小时12个带宽取值点,每月取值点数为:12 × 24 × 30 = 8640个,去掉前5%的点 8640 × 5% = 432 个,即第433个点为计费点。

而432个不计费的点,等效于36个小时(432 × 5分钟 / 60分钟 / 小时 = 36小时),即每月不超过36小时的异常大带宽(流量),不影响本月的计费。

Zabbix添加95th Percentile趋势线的讨论帖较少,那是因为官方直接就做成了可勾选开启的选项,方便了管理员:

进入Host > Graph:

效果如图:

Cacti配置方法可参考:Cacti95计费配置 (P.S. 博主是位Zabbix专家,有很多好的帖子和插件)

Grafana的配置方法还在研究ing…

 1,796 total views