长亭百川云 - 文章详情

玄学?亿级别请求的系统能在30分钟内上安全策略吗?

全闲话

44

2024-07-13

晚上跟朋友聊天,聊到一个话题,觉得挺有意思,整理一下,出个小短文。

对于一个请求量过kw、亿级别的系统,快速安全响应一直是个大难题,这里有没有啥玄学骚操作?能不能做到30分钟就做出一套响应?

这个问题很好玩。不妨先简化一下,以一个IM系统为例试试看。

大家都知道,对于一个负载比较大的系统,快速响应机制一向是圈内爱讨论的话题,无数人踩坑爬起再掉坑,周而复始。

这里说难是肯定难,而且巨难,必须先承认不可能所有事件的策略响应都能做到30分钟。但是要说简单,比如针对常规常见的“掉坑”套路,做到30分钟其实还真不难。做到2个步骤,基本有戏。

首先说系统架构上要满足的条件。一个大的IM系统,本身架构必定是多层,逻辑上复杂的嵌套也基本避免不了。因此,安全系统的位置就很关键。

假设这个IM系统有如下几层:

s1-s2-s3-s4-s5

一共5层逻辑节点,是串接的。

那么问题来了,安全策略的配套接口放哪里?

按照基本常规玄学方法论操作,一般会选头部层或者中间层随便布置一个泊接点就行了。但是你这样做,基本也就跟30分钟快相应无缘了。为啥?无非是逻辑部署位置死板,容易出单点绕过等问题。至于能不能承载你的策略逻辑更受原本设计功能限制。

不妨考虑这样一种做法:增加一个数据接口层,与上面提到的5层平行,看成这样就行了:

s1-s2-s3-s4-s5

d1-d2-d3-d4-d5

这个增加的数据干什么用?只做一件事:转发!只做非常初步的统计运算数据,必须能实时转发关键数据字段,禁止做复杂逻辑操作,尤其是不能有占CPU和磁盘I/O的操作。然后再并行数据层后面怼一套接受数据的服务,做进一步数据整理,整理出来的数据进准实时大数据平台(最好是内存系统)。这里就不展开具体怎么做了,办法很多不难做到。

然后在s1到s5里面,至少要选2个位置布置逻辑操作落地的接口(也可以5个都部署处理逻辑代码)。要求代码务必简单,比如只有对流过的数据字段做简单条件判断,只做过和不过这种操作。关键就在于一定要有至少2个地方可以插手。目的是避免被各种玄学因素影响,直接造成单点绕过。多一个能下手的地方,多一重保险。

至于在系统架构的设计上直接舍弃嵌入或者嵌合,采用并行(也叫旁路)的做法,就是基于一个基本共识:安全系统的处理逻辑和运算不能对原始系统带来性能上的干扰。此处省略也不继续展开,反正首先要保证系统崩溃跟你无关,不背锅哈。

这样,系统架构上的有这些基本就行了。

然后,就是数据分析和处理的问题。想要做到30分钟内上线安全策略。目标必然是人工快速响应,能动用这玩意的,必然是自动系统已经失效的东西,此处说的肯定是需要人工参与的事件。因此,最大的瓶颈肯定不是处理人员经验问题,白白浪费宝贵时间。真正的瓶颈,只会发生在数据分析和运算阶段。10年前,这里还没有啥通用平台可用,得自己开发。但是这几年,各种准实时并行数据平台多的是,选一个适合你的数据类型的就行了,这里也就不展开了哈。

前面说过,目标是至少kw级别请求负载的系统,那么数据量一定非常恐怖。怎么处理才能做到分钟级?简单来说,银子投入够了,内存、磁盘够用,这里并不会成为问题,但是一般安全部门预算有限,所以必须对数据做合并、剪裁、变换等一系列骚操作。目标只有一个:尽可能多的保留核心数据字段和有用字段,而且经过旁路接收到的数据条目,在经过至少1轮处理后,最好能降低1-2个数量级再写入内存或者落地。自然,降低处理规模的好处也不必多说。

然后就是常规的数据分析步骤了。套路多的是,对应急操作来说,只要关键数据能快速获得,定位问题发生点,那么对应的应急处理办法并不难找,因此这里也不展开讨论,熟手肯定知道怎么搞。

必要的系统化改造其实就这么点,2个步骤:旁路转发加数据缩并落地。

下面用一个实战例子来看看怎么玩转。比如我们就用常见的IOS特殊字符崩溃的例子。想彻底解决,这里肯定是需要依靠水果的系统更新或者终端APP上面的特殊处理,应急处理自然不是干这个活儿的。

应急处理的目标假设被定位到消除APP收到这些字符就崩溃这一点上,那么经过分析旁路系统对上面5层流转数据字段的快速分析,完全可以分钟级拿到影响面评估(主要是给老板看的)。再经过码农的基本测试,比如碰巧就发现在发送到IOS APP里赶在显示之前,把字符串做个转码或者每个字之间加个不可见字符之类的骚操作,就不崩溃了(当然直接隐藏/删除掉这个字符串也可行),于是应急办法就有了。然后选2个合适的节点,把对应逻辑加上去看看。一套步骤走下来,行云流水哈。

从整体来看,接到问题、完成数据分析、找到应急办法、配置上线,整个过程在30分钟内完成,貌似并不是很难做到,对不对?更多的细节这里就不深入展开了,感兴趣的朋友也可以发私信讨论或者不吝赐稿(如允许,本号一定用作者身份发布)。

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2