通常情况下,不同的网络安全设备之间,有着不同的分工。
比如防火墙按照最小化白名单原则,通过安全策略,仅对外开放有限服务,减小攻击面;
比如Web应用防火墙(WAF)可以阻止针对Web应用程序的恶意命令执行;
再比如入侵防护系统(IPS)可以阻止部分网络流量中的恶意攻击代码;
……
所有这些设备或多或少组合在一起,成为了企业网络边界的防守大闸。
鉴于网络攻击变得越来越复杂,安全设备也随之越来越多。
安全设备与“糖葫芦串”
不过,新的问题很快出现了。
网络安全目的本来是要保证组织不会因为网络攻击而导致数据丢失或者业务中断,但过多的安全设备有时候会适得其反。
至于原因嘛,还要从大家小时候都吃过的甜品糖葫芦串说起。
众所周知,糖葫芦是用签子将一个个山楂球串起来制作而成的。吃的时候,一般都是从上到下按顺序一个个“消灭掉”。
为了吸引消费者,商家有时候还会将山楂球换成不同种类的水果,比如葡萄、桔子等等,但如果不喜欢某种口味想要跳过它吃下一个,并不是一件非常容易的事情,上面的冰糖会粘得满嘴都是,一个不小心还会将相邻的山楂球弄掉在地上。
安全防护架构也大抵如此,就像这样。
安全设备就像糖葫芦一样串成一串,等着检查访问服务器的网络流量是不是有问题。
想要跳过谁都不成。
尽管不同的安全设备在部分功能方面有所重合,但没有任何一款产品能够包打天下,各自专注在最擅长的领域,是最高效的做法。
但在这样一个糖葫芦串式的架构中,各个设备相互耦合,就像一个山楂球粘着另外一个山楂球,彼此影响。
“所有设备穿糖葫芦式的接进来,所有流量就会流经所有安全设备。”奇安信集团副总裁、首席架构师吴亚东在9月13日的奇安信流量解密编排器发布会上说,这样一来就会出现三个问题。
第一,访问服务器的流量都要被一条链路上的所有安全设备检查。
个人电脑会因为装了各类安全软件导致运行缓慢,其主要原因在于这些软件在保护电脑的同时,消耗了过多的内存、CPU等硬件资源。
网络安全设备也是一样。事实上不同类型的专业设备检测的流量并不相同,并不需要检查所有流量,即使检测也检测不出个子丑寅卯。而且,过度检测只会导致非必要的性能损耗,从而影响业务系统的运行效率。
第二,一旦单一设备出现故障,会导致整个链路不通。
学过物理的都知道,在一个串联电路中,任何一个元器件出现断路,整条电路就都断了,这就相当于开关没有闭合。
网络也是一样,任意一个网络节点发生拥塞或故障,都可能导致业务访问延迟大或业务中断。而且,一旦故障发生,想要迅速找出故障点。逐个设备排查,费时费力,想要第一时间恢复纯靠运气。
另外,对安全设备进行升级维护,都要提前通知预留割接窗口,且通常都在晚上或周末,非常耽误时间。
第三,扩展性差,难以对安全设备进行横向弹性扩容。
随着企业业务量的扩张,旧有的安全设备一定会遇到性能瓶颈的难题。
比如一台防火墙吞吐量为1Gbps,但业务访问流量如果增长到2Gbps,就会面临着扩容的问题。
常见的扩容方式包括横向扩容和纵向扩容两种。
举个例子。一所高校想要扩招,现有的宿舍楼肯定是不够住了,必须得扩建。
所谓纵向扩容就是指在原有宿舍楼基础上,纵向往上加盖几层,得到一栋能容纳更多学生的宿舍楼;
横向扩容是指重新选址,多盖几栋宿舍楼,大有“横向发展”的意思。
但网络设备不是宿舍楼,不可能往上加盖几层,想要纵向扩容,只能换一个更好的。
在糖葫芦串的网络安全部署架构下,向糖葫芦串中不断串接设备这种横向扩容方式并不适用,和木桶效应类似,流量处理能力取决于最小的那个设备,接再多的设备也无济于事。
最窄的地方“堵上了”,整条路也就“堵上了”。
因此最理想的横向扩容形式为HA双主(即两台机器同时独立运行,互不影响,流量处理能力约等于两台机器之和),但流量一旦超过其处理能力,还是得纵向扩容,将原有设备换成性能更高的型号。
这样一来,旧的设备就失去了用武之地,原有投资无法得保护。
而且,更换设备会导致断网,断网也意味着业务中断,这是所有组织都难以接受的,也不是网络安全防护所想看到的结果。
流量调度室
其实不难看出,所有问题的症结都在于这个“糖葫芦串”上——这是流量到达访问目标的唯一路径,不管流量要在哪个设备上接受检查,都得一个个过。
想要解决这个问题,就得从根上解决“穿糖葫芦”式的安全设备部署方法,让特定流量只经过特定设备。
这和处理城市内涝的思路是一样的,积水需要通过遍布全城的下水道网,引流到该去的地方,而不是仅仅依靠一个大的河渠。
不过,网络流量不像积水一样,会在重力的引导下自动由高处流向低处。
所以,奇安信在9月13日发布的流量解密编排器上,引入了智能化服务链编排技术。
听起来有点晦涩,但实际上就是给网络流量造了一个“调度室”:让从哪条路走,就从哪条路走,而不是都挤在主干道上。
服务链编排做的第一件事情,就是基于细粒度智能引流策略。包括对主干路经过的流量进行分类,然后将流量引流到由安全网元组构成的服务链上,比如需要进行漏洞检测的转发至IPS;需要进行Web防护的分流至WAF进行检测;需要旁路检测的,通过串联链发送给相关设备,比如探针、IDS等。
这样一来,过去“穿糖葫芦”式的架构就不复存在了,取而代之的是一种“旁挂式”的架构,简单理解就是下图这样子。
这样做最大的好处就在于不同的安全设备再也不用检测所有流量,而是根据业务安全需要,通过个性化的引流策略让安全设备分工合作各司其职,从而大大降低了安全设备无效的工作负载,提升了整个网络的运行效率。
第二件事情就是实时探测各个安全设备的运行状态。
这么做的好处有两个:第一个在探测到发生故障的安全设备时,可以启动Bypass机制跳过故障设备,将原本需要经过该设备的流量,自动转发至相同网元组内的其它同类型设备,保障业务持续运行;
第二个是对安全设备的运行状态进行实时可视化展现,一旦设备运行出现问题,工程师可第一时间定位到故障点并修复,避免排障“全靠运气”的尴尬局面。
第三件事情是安全设备的资源池化。
与传统架构最大的不同是,资源池能够实现安全工具和网络架构的解耦,按需个性化智能引流,以及横向弹性伸缩,安全资源利用率最大化。
如前文所述,穿糖葫芦式的架构是很难新增设备的,想要扩容只能将原有的设备换成一个更高端的,导致客户TCO(总体拥有成本)持续增加。
但服务链编排技术可以将旧的和新增的安全设备放入相同资源池,按照流量负载算法将流量牵引至不同设备处理,不但让原有的安全设备仍然可以持续发挥作用,更重要的是带来了动态横向扩容的便利。
想要扩容,新增设备就完事了,流量解密编排器会把该过去的流量调度过去。
当然,这三件事情对第三方的安全设备同样有效,并不会因为采购了不同厂商的不同型号设备,出现服务链编排效果大打折扣的现象。
一次解密,多次检测
有一点需要注意的是,服务链编排技术在如今加密流量时代显得尤为重要。
众所周知,流量加密的本意是为了防止数据在传输过程中被监听或者被劫持,但这同样给了攻击者隐藏自己的机会。
互联网超过90%的流量是加密流量,企业内部超过80%的流量是加密流量,95%的企业声称遭受过加密流量攻击……
这几个数据非常直观地展示了针对加密流量检测的紧迫性。
通常情况下,加密流量检测最直接也最有效的方法,就是将密文流量解密成明文。不过,解密过程所消耗的CPU资源是非常惊人的,可以达到明文流量检测的100倍之多。
用一句话来形容,解密是CPU密集型操作。
如此巨大的消耗,如果再让所有安全设备都来一遍,导致CPU资源无故浪费不说,还势必给系统网络带来极大的延迟。
如果用简单的算式计算,“糖葫芦串”上串了多少个设备,就还会在100倍算力消耗的基础上,再增加多少倍的算力消耗。这对任何组织来说,都是一件非常不划算的事情。
而且,如此多的加密流量,经常大大超出安全设备的解密能力上限。
为了保障业务连续性,网络安全只能有所妥协,使得加密威胁成为企业当前面临的重大问题之一。
如果使用奇安信流量解密编排器则大有不同。流量解密编排器搭载的高性能解密能力,能够在完成流量解密之后,依托服务链编排技术将明文流量按需分发至既定的安全设备中,实现一次解密多次检测,从而避免了CPU资源的浪费。
从这个角度上看,服务链编排技术称得上是一位顶尖的网络流量“指挥大师”。