CCSA0 2018-08-24
背景:2018年8月21-22日,由中央网信办、工信部和公安部指导,中国互联网协会联合阿里巴巴集团、蚂蚁金服和阿里云等主办的“2018网络安全生态峰会”在北京成功举行,海内外安全专家与从业者围绕“共建安全防线、共治安全环境、共享安全生态”主题畅谈网络安全生态体系建设。
腾讯企业IT部总经理黄李明受邀出席本次峰会,在创新安全论坛发表”从有界到无界 腾讯新一代企业安全防御之道”的精彩议题,分享腾讯作为中国互联网技术的引领者,是如何快速响应市场趋势变化,将”零信任”安全完整落地,成为中国第一家无边界企业的最佳实践。
本文根据黄李明在峰会现场演讲内容整理而成。
网络边界防护存在的挑战
在按区域保护的有界防御模型里,我们会划分很多网络区域,包括开发人员,运维人员或者销售人员,各种不一样的角色,然后分区域进行保护,每个区域的权限不一样,区域内是一致的,跨区域就不一样了。
然后就会有个大问题,当黑客非法闯到某个区域后,他在区域内是畅通无阻的。这是目前按照网络区域来保护内网安全无法改变的一个挑战。
上图是腾讯企业内网的现状。当我们发现员工不断的增加,角色也越来越复杂,比如外包、合作伙伴、还有各种Partner,会导致区域越划分越细,细到区域多的无法管理。而相伴随的设备也会越来越多,随着WiFi,移动办公的普及,笔记本电脑、iPad、手机等各种各样的移动设备,会把区域更进一步的细分。结果就是随着公司人员的增加,传统的按区域来进行划分的方式已经难以为继。
除此之外,用户侧也会经常吐槽,为什么呢?
因为一个用户他要清楚的记得,“我是开发人员,我得去接开发网”,“我是运营人员,我得接运营网“;如果说他在外地出差,可能面临的挑战又不一样;比如他在公司外,还得VPN才能接入办公网,VPN后的体验可能跟正常办公也不太一样。
所以在体验和效率上都会带来非常大的挑战。更尴尬的一点是,在对抗过程中我们发现,即使你有无数的区域,其实还是没什么用,面对一些军工级木马或者职业黑客的攻击,依然很难抵抗,因为这种技术方案就决定了用户在区域内可以先天的畅通无阻。所以当公司里有十几万台设备的时候,一旦有一台设备沦陷,APT的高级攻击就没有办法防御了。
传统的网络,按区域划分,区域内是畅通无阻的。但随着业务的发展,管理复杂度也非常高,难以为继;用户界面也很复杂;就算做了这么多事情,其实,效果还是不能彻底防御APT攻击。
总结一下,会发现网络边界防护会存在如下的挑战:
腾讯新一代企业网
下面我们来看一下腾讯企业网的实际案例,当三年前我们在设计腾讯新一代企业网的时候,着眼点就是如下两个:
第一是效率,员工不需要记住需要接入什么网络;也不需要关心在公司内还是公司外;不管在哪里,只要一台设备,接入网络就可以开始工作。
第二是安全,我们一直面临APT攻击的挑战,我们怎么去防御,同时还易于管理。
为了让安全检测的颗粒下沉到每一台设备和每一个用户,我们的打法是拆大墙建小墙,这话怎么理解呢?
原来我们是区域管理,现在区域与区域之间的墙我们不需要了,现在按主机管理。
可以这么理解,每一台主机就是一个小区域,我们的颗粒度下沉到每一台设备。这样的好处对于用户显而易见,网络体验足够扁平。在公司内或者公司外工作的体验是一样的,而且目前我们大部分应用都是免VPN的。除此之外,海外用户的体验也是如此。
如果碰到海外用户,或者是开发用户,传统的VPN方式是个长连接,一旦遇到弱网络,这个体验是非常糟糕的。
通过腾讯新一代企业网,我们把这个长连接改成了短连接,让这个体验更平衡。这就是刚才所说的检测颗粒度下沉到每一台设备、每个用户。实际上我们是把设备、用户、应用、访问目标是一一对应的。
如果对腾讯有一定的了解,腾讯的客户端已经差不多快十年的历史了。在整个方案中,我们把智能网关部署上去了。在智能网关上完成了设备、用户的身份及应用的验证。
一个用户要访问某个资源,前提是这个设备通过验证。
比如,设备是张三的,张三在这个设备上登陆,那么他登录的应用都是我们知晓的,不能登录未经验证的非法应用。他的访问目标有相应的控制,与应用防火墙类似。
总结一下,腾讯新一代企业网出发点平衡了安全和效率,然后具体做法就是拆大墙建小墙、颗粒度下沉、达成的目标就是用户的设备、用户、应用、目标是一一对应的。用户的体验也更友好,再也不用担心在内网外网、国内国外,获得的使用体验是一样的,只要是他自己的设备。
缺点就是家里的设备无法接入公司网络,必须是公司派发的设备才可以。所以只要在公司完成登记的设备,那么就可以得到优质的办公体验。
一些实践建议
我们在做的过程中,有一些实践的经验,跟大家一起分享一下。
第一,当颗粒度下沉到每一台机器,每台设备进网的时候,都需要校验设备的身份和用户的身份。为了降低用户的门槛,我们做了很多优化的手段。安全角度来说,双因子是必不可少的。为了让用户更方便的接入网络,我们提供了多种验证的手段。
通过APP进行验证,比如我们有Agent在客户端,在一天之内就可以免验证登录,和大家用QQ快速验证的方法类似,或者微信的快速登录验证体验是一致的,这样的体验后用户的接受度就会好很多。
第二,我们新一代网络是要做到设备、人、应用一一对应,所以我们掌握腾讯所有设备完整生命周期的库,把它记录起来,人和设备的关系是一一绑定的,如果他变更了,那么系统上,设备和人的关系也就变化了,我们也尽量跟上下游去打通。经常用的IP,我们也会把DHCP所有的变更同步到这个库里面。意味着一旦出现安全事件的时候,能够快速定位出:例如历史上某个IP,在那个时间点,是由哪个用户哪台设备接的,可以很快速的串起来。这样一旦有安全事件突发的时候,就可以快速响应,并且现在我们的网络设备也登记在内。如果出现安全事件就可以下发命令,关闭某个设备或某个端口,这样能够快速响应和处理。
上下游打通还是很重要的。当有这个库的时候,就可以把想到的各种因子都关联到里边去,处理起来会更灵活。
第三,还有一个建议就是因为我们有Agent。其实我们蛮纠结的,因为在十年前,我们也用的是商业产品,但商业解决方案,在腾讯会被吐槽。有两个最重要的吐槽点:一个是接入网络很慢。原来用某厂商的动态vlan,每台设备接入网络要超过一分钟以上。很多安全软件会导致这台设备的性能下降很快,或者下降很多。但对于互联网企业讲究体验的现状来看,反对的声音会非常明显。
所以当时我们就做了一个折衷。我们可以假设一个场景,当你管理的设备超过3万台,5万台。其实你希望保证这3万台,5万台设备万无一失,每台设备都是安全的,其实这就变成了一个不可完成的任务,或者难度系数非常高的事情。所以基于这样的考量,当设备的数量非常大的时候,发现异常的能力可能会比保护他不被入侵能力的优先级更高。
所以基于这种考虑,我们的安全客户端,又强又轻又快。强在这里我们就不讲了,因为这是所有的安全软件都有的,这里主要是讲怎么轻、怎么快。
传统客户端为了保护每台设备不被入侵,会做很多检查,运行的每个软件都必须去Check。我们把发现能力优先级变的更高,其实我们不需要马上去检查,只要能够快速发现其实也能弥补回来。所以基于这种考虑,我们做了取舍。Agent是以采集日志为主,不怎么分析。右下角有个TSOC,所有数据都往云端送,在云端可以跑很重的检查逻辑或模型。
这样的好处就是:
第一,我们的发现能力是可以得到保证的,现在效率达到大概15分钟左右。如果一台机器有异常,那么15分钟内,就可以把网络给断掉,因为我们把IP和端口等都关联起来了,主要的好处就在于客户端,可以变得又轻又快。
第二,比如接入网络,通过自主开发,现在进入网络只需要三秒,把动态Vlan的东西自主实现了。而CPU占用很小,就是因为刚才所讲的把一些逻辑从事中终挪到了事后。我觉得大家如果是做Agent的话,也会面临同样的问题。
还有一个考量,我觉得也可以分享给大家。我不知道大家公司会跑什么样的应用。公司假如说有一千台电脑,千台电脑上的应用总数大家可以想一想可能数以万计。
腾讯大概有4万多个应用在跑。腾讯是一个互联网公司,比较open,比较鼓励同事们去装各种软件,体验不同的产品。那这个现状对安全来说的确是一个很大的挑战。如果公司电脑上什么乱七八糟的应用都有,那这样安全上就很尴尬,意味着如果去检查这些应用的安全性,就会陷入到无穷无尽的折腾中去。
那我们怎么考虑这个问题?最初的思考是,我们不需要跟黑客或者对手去做这种正面对抗,纯粹是人力的对抗。我们在想有没有办法把它引入到我们的主战场。
那我们的解决方案是,因为有终端agent和智能网关的存在,访问核心的资源我们只允许若干个程序访问。比如如下所列出的几个浏览器、邮件客户端、还有一些开发的工具等。意味着所有的核心资源,并不是所有的工具都能访问到,我们只允许某几个应用程序可以访问到。所以我们在客户端上的安全就比较容易实施,只需要挂钩子挂着这几个应用程序,那么CPU的占用率、有效性等就可以得到很大的保证。因为可以指定软件、指定版本,这些策略都可以下去,这个大家可以参考一下。
阻断非白名单的应用对核心资源的访问,这样就变成了别人想攻击你的话,只能在你的战场上作战,而不是没完没了的去无休止对抗。
还有一个建议:智能网关,就是支持分布式和平行扩容。因为随着资源越来越分散,办公场景也不好管理。智能网关还要支持分布式和平行扩展,这样性能和灵活性都可以得到保证。当然我们这个是自研的,相信应该也会有类似的产品。
这是今天的分享,谢谢大家。