网络设备:IPS,IDS,waf,SOC

IPS 入侵防御系统(Protect):

而入侵防御系统(IPS)却能有效地阻止攻击行为的发生,因为所有的网络流量在达到目标服务器之前,都需要流经IPS。所以在没有得到允许的情况下,恶意软件是无法触及服务器的。

IDS 入侵检测系统:

是一种通过实时监控网络流量来定位和识别恶意流量的软件。在网络系统中,IDS所处的位置是一个非常关键的设计因素,IDS一般会部署在防火墙之后,当攻击发生时,入侵检测系统只能发出警报,它并不能防止攻击的发生。基于主机的IDS只能够监控一个系统,它运行在你需要保护的主机之中。基于主机的IDS其另一个缺点就是,网络中的每一台主机都需要部署一个基于主机的IDS系统。你可以设想一下,如果你的环境中有5000台主机,这样一来你的部署成本就会非常高了

 

著名开源入侵检测系统(IDS/IPS):Snort

入侵检测系统所采用的技术可分为特征检测异常检测两种。
特征检测特征检测(Signature-based detection) 又称Misuse detection ,这一检测假设入侵者活动可以用一种模式来表示,系统的目标是检测主体活动是否符合这些模式。它可以将已有的入侵方法检查出来,但对新的入侵方法无能为力。其难点在于如何设计模式既能够表达“入侵”现象又不会将正常的活动包含进来。
异常检测异常检测(Anomaly detection) 的假设是入侵者活动异常于正常主体的活动。根据这一理念建立主体正常活动的“活动简档”,将当前主体的活动状况与“活动简档”相比较,当违反其统计规律时,认为该活动可能是“入侵”行为。异常检测的难题在于如何建立“活动简档”以及如何设计统计算法,从而不把正常的操作作为“入侵”或忽略真正的“入侵”行为。

1)基于主机 (ossec)一般主要使用操作系统的审计、跟踪日志作为数据源,某些也会主动与主机系 统进行交互以获得不存在于系统日志中的信息以检测入侵。这种类型的检测系统不需要额外的硬件.对网络流量不敏感,效率高,能准确定位入侵并及时进行反应, 但是占用主机资源,依赖于主机的可靠性,所能检测的攻击类型受限。不能检测网络攻击。
2)基于网络 (snort)通过被动地监听网络上传输的原始流量,对获取的网络数据进行处理,从中提 取有用的信息,再通过与已知攻击特征相匹配或与正常网络行为原型相比较来识别攻击事件。此类检测系统不依赖操作系统作为检测资源,可应用于不同的操作系统 平台;配置简单,不需要任何特殊的审计和登录机制;可检测协议攻击、特定环境的攻击等多种攻击。但它只能监视经过本网段的活动,无法得到主机系统的实时状 态,精确度较差。大部分入侵检测工具都是基于网络的入侵检测系统.
3)分布式这种入侵检测系统一般为分布式结构,由多个部件组成,在关键主机上采用主机入侵检测,在网络关键节点上采用网络入侵检测,同时分析来自主机系统的审计日志和来自网络的数据流,判断被保护系统是否受到攻击。

WAF (web应用防火墙):

WAF三大部件:执行前端、后端中心系统及数据库。

执行前端是WAF的执行引擎, 主要是根据规则进行过滤。根据规则匹配的结果,执行相应的动作。

后端中心系统主要是生成规则的逻辑,并与执行前端的nginx进行必要的数据交换

数据库就是存放规则和一些配置及状态的地方,可以根据实际情况,选择关系型数据库或者Nosql。

开发WAF是采用LUA编程语言,LUA还属于小众语言,没有像pycharm这种完整的IDE,LUA IDE的选择可以看自己需要,可以使用vscode+插件进行开发。

lua插件,用于语法高亮和语法说明

1602050219_5f7d58abd89d29714ff9f.png!small

Lua Debug用于调试和运行lua代码

1602050257_5f7d58d1b2c8f499ffa1b.png!small

按F5启动调试,可以看到lua运行成功的代码

1602050318_5f7d590ee5fc1ae81b3ad.png!small

WAF细节考虑

一直比较关注cloudflare的云WAF,基本上WAF规则可以考虑为三类:

 1️⃣通用的规则,比如sql、xss 规则,拦截恶意爬虫和扫描器等等的非常有效,这种基本上通用的。

2️⃣cms规则,就是根据不同的cms,根据相应的漏洞定制的规则,比如php网站,不可能存在java语言的漏洞,具有专一性。

3️⃣自定义规则,这就是根据自己的需求,自定义一些规则。根据入侵类型,再细分就会更多了,拦截shell、爬虫等等的,这里只是输了大概。

在github上面,最具参考的lua waf 就属 https://github.com/p0pr0ck5/lua-resty-waf 她了, 其它的并不是说不好,然而只有这个最接近Modsecurity的逻辑, 最突出的有点就是规则的弹性化,最接近Modsecrity的规则。 不过, https://github.com/starjun/openstar 里面的很多防御方法,也是可以借鉴的。

 

SOC 安全运营中心(SOC:Security Operations Center):

抛出问题,我们首先要收集各种日志,监听流量,让设备去发现流量中的威胁,我们来汇总报告数据,结合我们收集来的所有数据,去溯源,去发现更多的历史痕迹。

我们构建自己的SOC也是从流量和日志,还有策略方面考虑的, 用什么策略,又反过来也推动了工具的选择。这篇我们考虑不是如何存数据,而是我们采用一个什么的结构,可以从海量的日志来,取得我们想要的有用的数据,用机器和自动化的方式,代替人工甄别数据的工作量的耗时,提供一种思路。


1.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ATOM_123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值