微隔离不仅是防火墙
作者: 日期:2019年03月19日 阅:4,347

前言:

作为国内微隔离市场的主要开拓者,我们经常被问一个问题,那就是我们的系统上都装了防火墙,为什么还需要微隔离呢?我们通过自动化脚本配置主机防火墙策略不是也可以做到点到点白名单控制么?

首先,我们必须承认这个看法本身还是有一定的道理的,在比较小比较静态的网络中(小于20台服务器)也基本是可以工作的。但是如果我们讨论的是一个定义为“云”或者“软件定义的数据中心”的中等规模以上的计算系统,那么我们就有一些东西要和您分享一下了。

一、 软件定义的隔离

“微隔离”这个词是一个比较商业化的市场用语,而这个技术事实上还有一个更加学术一点的名字——软件定义的隔离(Software Defined Segementation)。事实上这个名字才更加本质的说出了这个技术的内涵。就像软件定义的网络(SDN)一样,软件定义的隔离的特点就是隔离点(enforcement point)与策略控制(policy)相分离,从而让隔离更加灵活,更加智能,进而有可能对由海量工作负载构成的复杂而多变的虚拟化网络进行隔离管理。

在过去,我们主要通过防火墙来做隔离这个事情,在那个时候,策略的管理和隔离的动作都是发生在防火墙设备上的。就算是主机防火墙也是如此,它的策略也是配置在主机上的。这些策略一般是在防火墙上线部署的时候配置上去的,然后在整个防火墙的生命周期内基本不做调整。然而,进入到云计算时代之后,如此多分散的独立工作的控制点变得非常难以维护和过于的僵化。进而导致了云的使用者只能在安全与业务之间做一个二选一的选择。要安全,业务就无法快速交付,要业务就无法进行有效的安全管理。这种局面呼唤了软件定义隔离这种技术形态的出现。软件定义隔离与传统防火墙最本质的区别在于它把策略从每一个分散的控制点上给拿出来了,放在一个统一集中的地方进行设计,管理和维护,原则上,安全管理者不必要了解下面的控制点在哪里,也不必再对每一个控制点进行策略配置和维护,这些工作都将由策略管理中心来自动完成。

而这种策略管理工作,不是基于预定义脚本的简单的自动化过程,而是一个基于实时网络环境监听的,基于高层次安全策略的一种实时策略计算与策略更新过程。对每一个接入系统的控制点,根据实时发生的特殊事件,同时参考其他控制点的变化情况,做出独特的,恰当的策略计算,这个过程就是软件定义隔离的核心管理过程。

二、 主机防火墙与微隔离的关系

讲清楚了微隔离技术的定义,再来回答用户关于“主机防火墙”与微隔离的关系的问题就比较简单了。简单地说,主机防火墙相当于SDN网络中的白牌交换机,而策略计算中心相当于SDN控制器。

在微隔离的安全体系中,具体的访问控制是通过主机防火墙来做的,但是策略不在主机防火墙上,而是配置在策略计算中心。这个计算中心从全局收集信息,然后根据预先定义好的高级安全策略去做具体的策略计算,然后生成主机防火墙能够看得懂的五元组策略,并配置回去。

所以,主机防火墙自身无法完成微隔离功能,一个强大的策略计算中心才是微隔离体系的灵魂。事实上主机防火墙有着悠久的发展历史,无论是iptable还是wfp都是久经考验的好产品,他们在稳定性,兼容性,性能上都非常出色。微隔离以这些老战士为数据面的控制点事实上也是一种非常稳妥的选择,而微隔离的核心技术应该放在策略计算能力上。

三、 微隔离技术的硬核究竟在哪里

如果说主机防火墙不是微隔离技术的核心的话,那么微隔离技术的硬核究竟在哪里呢?我们说围绕着安全策略的生命周期,微隔离技术主要就是三个地方展现技术含量。

首先是业务分析

要做隔离就需要具体的安全策略,所谓“安全策略”就是允许或者拒绝哪些流量的具体规则。微隔离要解决的是内网的点到点的访问控制问题,一般来说都是采用的白名单策略。那么问题就来了,这个策略应该怎样设计呢?在内网充斥着大量复杂且私有的应用协议,除了业务开发者没有人了解他们使用了什么端口和协议,于是无论是运维团队还是安全团队都缺少设计安全策略所必须的业务知识。

所以要做策略管理,首先要分析业务,要把东西向的具体的通信关系给找出来,最好是以可视化的方式呈现出来,这样安全团队才能够在此基础上设计出正确的东西向安全策略。如果没有这个能力,你有再多的防火墙也注定只能是摆设。

然后是策略建设

了解了业务的构成,下一步就是设计策略了。不过那又该怎么做呢,是不是点开每一条线,看看源和目的的地址和端口,然后到主机上去写防火墙规则呢?如果这么搞,那就又掉进了一个深不见底的大坑了。你能想象在一个几千台虚拟机,虚拟机之间有十几种通信关系的私有云内用这种方法设计策略么?

在这个阶段,一个合格的微隔离管理平台,应该做到两件事情,一个是自学习交互式创建,一个是去ip化的策略表达。

一般来说,微隔离平台通过业务学习,已经了解到全部必要的信息,这个时候可以通过交互式的方式来创建策略,比如你选定一组虚拟机,告诉平台说,现在看到的所有虚拟机间的通信都是可信的,请为我创建策略,那么微隔离平台应该可以自动的来创建策略。

而创建出来的策略最好是去ip化的,因为ip在云系统中是一个非常不稳定的参数,经常发生变化,最好可以由更高级更稳定的参数来描述,比如我们的comb平台用的是虚拟机的角色标签来描述安全策略。

另外,我们的策略还能做到策略与策略作用对象脱耦,通过调整策略作用范围,来动态的改变虚机上的安全策略部署。当然,这个不是必须的,不过这可以进一步下降策略总数,提策略运维的效率,我们觉得这样很酷。

最后是策略自适应运维

云是个快速变化的系统,安全策略也必须能跟上云变化的脚步,我们看到现在各种云安全规范中,都会有一条自适应要求(比如等级保护2.0的云安全扩展部分)——“访问控制策略能够随着虚拟机的迁移而迁移”。其实我们一直很想跟有关部门提个建议,这个要求中缺少“自动”二字。导致很多产品通过手工迁移的方式,也能满足要求。但是我们知道,这个要求的本意就是自动迁移。因为虚拟机迁移是云的常规操作,如果这个过程中需要安全部门的手工参与,势必大大下降云的弹性,增加业务迁移时间,并且带来手工操作所不可避免的错误从而出现不必要的风险。

事实上,除了迁移以外,克隆,扩展,资源升级等操作也都会导致网络地址的变化从而需要安全策略做相应的调整,这些时候最好也都能实现安全策略的自适应调整。一个好的微隔离管理平台,应该能够做到这一点,否则就是一种管杀不管埋的产品设计,你帮助安全部门设计了几万条策略,然后你做不到自适应运维(注意是自适应,不是自动化),那么以后安全部门的伙计们就可以不用下班了。我们的微隔离管理平台叫做QCC——英文单词Queen Computing Center的缩写,它最核心的工作就是持续不断的做策略计算和策略更新。

终上所述,大家可以看到,微隔离的核心在于一个高度智能化的全生命周期黑科技的策略管理中心,主机防火墙不过是执行策略的控制点而已。如果大家要评估一款微隔离产品,请围绕策略管理中心来下功夫,而不是防火墙,你要看他是否能真的把你带上安全的新高峰而不是推入安全的新火坑。毕竟这才是你能否拥有一个愉快的微隔离使用体验的决定性要素。

作者:蔷薇灵动

 

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!


相关文章