弘协网络 | F5技术交流

双模安全 - 开放WAF

2021-03-01 20:25:07

林夏

大家都知道开放银行,或者说是API Bank(无界银行),是以API架构驱动的全新银行服务模式,就是以开放的API平台为基础,将银行的各种金融科技能力对外输出的模式。我们试想一下,对应到安全产品上来说,如果能够像开放银行的理念一样,把安全产品,安全平台的能力也开放出去的话,就契合了安全中台的理念,可以为前台业务,为不同区域的应用提供WAF能力。

   其实呢,这个方案的意义在于,我们可以让每个网络区域前端的F5复制一份流量去找WAF问一下,这个流量OK吗,然后呢,如果OK,放行,如果不OK,自动加黑封禁。安全设备不是直接的放行流量或者阻断流量,而是依靠自己的安全能力,输出这个请求的安全评估结果,比如说违规类型,严重等级。真正做阻断流量的工作的是在前端的F5或者nginx。这样的方法,就可以把F5 AWAF的安全能力对外输出,让多个区域都能利用到一个WAF资源池的能力。 数据流是这么走的,1 客户端访问到达F5, 2 F5先不转发请求,而是复制一份流量到 AWAF,3 AWAF资源池返回该请求的安全评估结果,4 F5基于安全评估结果判断是否阻断流量还是转发流量。


    这时候,大家可能又在想另外一个问题,干嘛搞得这么复杂啊,直接串联F5的AWAF到网络里不就可以了吗。是的,如果只在出口防御,那么OK的,但是存在一个问题,我们只需要对出口来严防死守吗,或许我们没有对内部区域之间的流量调度足够重视,如果每个区域如果都能部署WAF也是很好的,但是,如果数据中心的区域很多,而且又希望构建出安全中台的能力,那么可以考虑下这种方案。


    这个方案其实很大程度取决于安全产品的能力,是否能够具备这样的安全能力输出的功能。 以F5的WAF为例,其实就具备这样的,针对每个请求,返回安全评估结果的api能力。

上图,就是F5 WAF的API能力,能够详细的返回一个安全评估的结果,包括违规类型,安全评估严重等级,攻击类型等等内容,那么前端的F5或者nginx就能根据这个返回的结果去决定是否放行还是阻断流量。

这个返回的内容可以完全自己定制,可以是json,可以是正常的html的格式,自由定制。


    这个方案对于F5 LTM来说,是有要求的,就是需要一种能力,把流量hold住,复制流量到外部目标,然后决定是否放行的能力。这段代码就实现的是这个能力,从F5的11版本开始,就具备了sideband连接的能力,当一个http 请求来的时候,F5 hold住了请求,和目标AWAF建立TCP连接通道,在这个链接里面,复制一份http请求,复制到F5的AWAF,然后AWAF返回了安全评估结果,这时候,F5根据安全评估的结果进行判断,是block呢,还是转发该请求。 

同时我们的这段代码,可以设置计时器,比如安全中台在200毫秒中内没有返回安全评估结果,那么我不等了,直接转发流量吧,毕竟业务的正常是首先任务。


   如果我们希望构建WAF资源池,让各个区域都复用WAF的能力,并且对现网不要有大的改动,大家可以借鉴这种开发WAF模型,awaf是可以在任何位置,最佳方案当然是在一个集中部署的安全中台区域。



发布评论 加入社群

发布评论

相关文章

双模安全 - WAF异构 - 模型2

林夏

2021-03-01 20:32:09 459

双模安全 - WAF异构 - 模型1

林夏

2021-03-01 20:28:44 589

双模安全-纵深防御

林夏

2021-01-05 10:43:53 399

Login

手机号
验证码
© 2019 F5 Networks, Inc. 版权所有。京ICP备16013763号-1