作者:何艺

零信任架构远程办公是近期的热门话题,有很多方案的宣传,但真实的案例很少,这次我们把零信任架构真实的用到了大规模远程办公支持中,本文即是对这一次实战的总结,希望对评估零信任架构的人有所帮助。

该文有对应的公开课视频在freebuf中可免费观看

前言

受当前疫情影响,大部分互联网公司都进入了远程办公模式,同时给安全也带来了很多挑战,安全边界被打破,数据安全风险,权限管控无序,蠕虫的蔓延,黑客的攻击,核心业务被暴露等等......

相对应的是很多安全公司也提出了远程办公安全解决方案,零信任架构是其中一个热门话题,也有很多人在问,什么是零信任架构,它真的能解决上面的问题吗,是否如宣传所言可以几小时内极速上线?

我们因为零信任架构项目启动较早已闭环上线运行,这次也借这个契机,集团全面推行了零信任架构远程办公模式,本文则是对这次实战的一次总结,希望对大家评估零信任远程办公方案时有所帮助。

零信任架构简介

零信任并不是一个新概念,早在2010年的时候Forrester的 John kindervag就提出了zero trust architecture理念,希望可以解决传统边界安全带来的问题,之后又有云安全联盟的软件定义边界(SDP)模型,以及google的beyondcorp project以各自不同的思想来实践,直到ISC2018大会后该理念在国内迅速传播开来,并越来越受到行业重视,在这里对这几类架构进行简单介绍,便于后续内容理解。

(1)Zero trust architecture(ZTA)

ZTA在2010年提出的时候,是希望可以解决传统边界安全模型无法防御内部威胁,或是被突破边界后的威胁而提出,主要的思想是在网络层,将网络尽可能小的分段,并通过隔离网关来控制出入流量,并辅以其他安全能力来减少传统边界被突破后的风险,类似于网络微隔离。

在实现上ZTA提议将交换机扁平化便于弹性扩展,以中心化、集中化的模式进行统一管理。在网关中对网络数据实现可视分析能力,并整合传统内容过滤、访问控制、数据防泄密、web应用防火墙等能力在隔离网关上。

以现在的眼光来看,2010年的ZTA可以看作是对传统网络安全模型的一次架构升级,本质上区别并不大,只是网络层面上划分的更细,功能整合的更多,和现在我们所谈的零信任架构的核心思想还是有比较大的区别的。

(2)软件定义边界(SDP)

2013年云安全联盟推出了软件定义边界(SDP)模型,该模型抽象了client、controller、gateway、resources等几类角色,主要思想是引入了对身份和设备的识别校验,通过controller统一授权后,将访问请求调度给SDP网关来对后面保护的资源进行访问。

在SDP中参与安全控制的核心角色是前三类,分别承担的主要功能如下:

  • client:部署在用户终端处,负责对设备和人的认证授权;

  • controller:SDP的核心认证、评估和策略管理中心,由它来分配资源;

  • Gateway:受保护资源的防护节点,负责隧道的加密、访问控制来实现对后面的资源保护。

一次完整的访问过程是需要经过授权的client经controller认证以及评估安全性后,分配到指定的gateway上通过加密方式访问后面的资源,可以对网络到上层应用进行全面保护,云安全联盟也试图通过这种架构来解决不同的云安全模式,例如SaaS、PaaS的场景。

SDP是实际上得到了很多厂家支持的方案,很多网络安全设备公司出的零信任解决方案大多来自SDP的模型。

(3)Google beyondcorp Project

Google的beyondcorp应该是业界第一个真正落实零信任架构的公司,并在14年开始将该项目以白皮书方式陆续发表,在byondcorp里面,明确了用户、设备、应用的安全关系,通过以不信任的持续鉴权模式来建立可信链条,从而允许访问后面的业务,在这里面有几个核心要素:

  • 信任机制建立:即可信的设备、用户和应用,只有三者建立了可信关系后,才可以对后面的资源进行访问;

  • 动态安全评估:即安全是动态变化的过程,因此对于上面三个因素是否安全这个评估应该也是动态进行,一旦发现不安全后会采取降低,禁用等方式来防范或止损;

  • 安全不分内外网:即是否安全不取决于你处于内网还是公网,无论内网应相同对待和相同安全,这是基于这个原因同时结合远程办公需求,google通过beyondcorp实现了远程办公需求,也是这次我们参考的对象。

我们的零信任架构

我们的零信任架构实践是从15年开始调研,16年分阶段开发,用了较长时间来摸索和一步步落地闭环。在架构上主要是参考了google的beyondcorp project,同时结合了公司安全其他需求,以及自己的一些安全理念,整体架构如下:

核心思想同样是建立基于用户、设备、应用的三者信任链,以及动态的安全评估机制,在架构设计上按照分层思想设计,即在网络层、主机层、应用层上分别设有三套独立的系统,系统可以独立其他系统运行,也可以系统之间进行联动,通过联动来实现更强的安全防护能力。

后端服务中有统一的用户目录服务、PKI体系和OTP认证等系统,来支持设备、人、应用的多因素鉴权,结合系统对零信任架构体系闭环,里面几个核心系统主要功能是:

  • 网络安全管理系统:负责网络边界ACL管控和网络准入控制,联动主机安全和应用安全系统,实现经认证的设备的入网和不安全隔离控制;

  • 主机安全管理系统:安装在windows、mac、移动终端上的agent和主机安全网关,实现人和设备的信任关系建立,设备安全状态的检查,漏洞的修复处理等功能;

  • 应用安全管理系统:包含web安全网关、策略服务器,负责对web资源的保护与授权,对符合user->device->appliction信任链的请求放行。

此外还有一些核心辅助系统,SADB、SOC等系统,来实现更复杂的动态安全分析检测等能力,因为这次重点在远程办公实践,因此不过多讲解。

与VPN方案的对比

(1)SSL VPN方案简介

VPN是非常古老但又很有效的远程办公方案,原理是客户端通过internet与公司的VPN网关建立隧道,形成一个被加密后的安全虚拟网络,在零信任架构并不热门之前,哪怕是现在,应该也是绝大部分公司的远程办公首选。

注:VPN方案有多种,其中SSL VPN通常为多数公司用于员工远程办公方案,本文中VPN方案均指SSL VPN。

(2)SSL VPN方案安全分析

为了有助理解VPN和零信任在远程办公安全上的区别,画了两者访问流程图进行说明,下面是VPN方式对资源的请求过程,大体可以分为鉴权建立隧道和资源访问两个阶段:

  1. 鉴权阶段:登陆VPN虚拟网关,对账号进行鉴权后建立SSL VPN隧道并下发IP和路由(网关模式);

  2. 资源访问阶段:认证通过建立隧道后,以后对业务的访问不需要再次鉴权,由VPN网关转发业务请求报文来实现对内网资源的访问。

VPN方案在安全上的考虑主要有三点:

  1. 对账号的鉴权;

  2. 会话隧道的加密安全;

  3. 基于IP和端口的网络层权限控制。

(2)零信任架构方案安全分析

零信任架构对资源的访问过程,有鉴权和资源请求两个阶段,但这里会有明显不一样的安全考虑与区别,如下:

  1. 鉴权阶段:对设备、账号、应用的信任链进行鉴权,通过后建立SSL双向加密会话;

  2. 资源访问阶段:每一次对资源的请求,需要重走鉴权阶段进行重新鉴权,如果这个过程中发现了变化会禁止对资源的访问,资源访问方式由web网关进行转发。

零信任架构在安全上的控制主要有下面几点:

  1. 不再仅基于账号进行鉴权,而是账号、设备、应用三者的权限关系;

  2. 每次对资源的访问都是重新鉴权的过程,即零信任;

  3. 用户终端纳入安全评估中,终端安全风险可以被控制;

  4. 保障会话过程中的加密安全;

  5. 基于应用权限进行控制,可以实现更低颗粒度度控制;

(3)对比总结

在VPN方案很成熟的今天为什么要考虑新方案,我想最大的原因还是在于安全性上。VPN方案是来自传统边界安全思想,在安全有很多缺点,比如仅对账号进行鉴权,对客户端的安全无法控制,以及一次鉴权后之后的访问就畅通无阻了,还有管控规则过于粗放等问题。

下面的问题是,使用零信任架构是否又真的能解决这些问题?又会带来哪些问题?是否真的适合远程办公?

零信任远程办公方案实施

整个远程办公方案的实施实际留给我们的只有2、3天时间,整个过程上来说还是遵照了需求分析、方案准备和实施三个步骤。

(1)需求分析

再怎么完美的安全方案如果不能解决远程办公需求,其实是没有任何意义的。对远程办公需求根据我们的场景可以归为两大类,如下:

通用办公需求

  • 即时通讯沟通类:通过即时通讯类系统进行内部沟通、会议;

  • 内部网站访问类:访问公司内的OA、WIKI等内部系统;

  • 移动办公类:流程审批、通知公告、信息登记等。

特殊需求

  • 开发环境访问类:数据库访问、测试环境访问、测试系统访问等;

  • 远程系统管理类:服务器维护、远程办公PC访问等。

同时这些需求带给安全的风险与挑战有下面几大类

  • 需要较高的质量来保证远程办公体验;

  • 短时间大量用户集中远程办公,VPN设备需要有较强的处理能力;

  • 员工远程办公环境的风险不可控,不能确定是否会有病毒、蠕虫或攻击进来;

  • 企业数据可能会落地到个人设备中,这个设备可能是借的三大姑七大姨,数据安全难以控制。

(2)方案准备

上述需求中,零信任架构大部分是容易解决的,但也有解决成本比较高的,主要难点在即时通讯类的商业产品整合上,以及一些复杂的开发需求上,如下:

  • 即时通讯沟通类:增强多因素认证,可用但不完美的支持;

  • 内部网站访问类:http类业务通过安全网关,完美支持;

  • 移动办公类:整合到了架构中的安全app上,完美支持;

  • 开发环境访问类:特殊需求较多,对无法代理的业务难以支持;

  • 远程系统管理类:以http协议over方式整合到架构中,相对较好支持。

从上述可以看到,当前我们的零信任架构可以解决大部分办公需求,但是并不能完全解决所有远程办公需求,所以实际工作中我们零信任和VPN两套方案都有上线,用于满足不同的业务需求。

(3)方案实施

在实施阶段需要做的工作,主要是把架构对互联网开放,大部分人力上的工作是在对用户的引导和支持上。针对这些问题,我们做了很多指南还有一些流程自动化的工作来应对同时支撑大量用户的办公接入。

从员工角度来看,需要做的就是按照指引安装agent,认证激活后和在公司内一样,正常去使用业务系统。

实践效果与问题

自方案上线后已经有1个多月了,整体上经受住了考验,因为同时上线了两套方案,对两类方案的优劣势也有了更多体会。

(1)VPN方案的优缺点

VPN优点:

  • 可以满足所有远程办公需求

  • 使用简单

VPN缺点:

  • 处理性能局限:VPN商业设备处理有局限,例如可支持的加密带宽不能超过xxxM,形成瓶颈;

  • 难以快速扩容:因为涉及设备采购,上下线网络设备兼容性,紧急情况下扩容难度较大;

  • 网络质量要求较高:VPN模式如果网络质量不佳,很容易引起VPN中断,导致所有的会话全部中断,很影响用户体验;

  • 安全风险不易控制:VPN模式决定了安全边界在VPN网关上,对于客户端发生的安全事件是无感也无法控制。

(2)零信任架构的优缺点

零信任架构优点:

  • 处理能力强:网关主要处理的是HTTP协议,用普通服务器即可,可以有很好的处理能力;

  • 可快速扩容:使用LVS等负载均衡方案,可以快速横向或纵向扩容;

  • 网络质量要求低:因为不是建立隧道,而是基于HTTPS的请求,网络质量不高的时候不会引起所有会话全部中断;

  • 安全控制力强:零信任架构中安全的边界在用户终端上,有更强的控制和感知能力;

  • 使用“简单”:用户认证授权完后,对用户的打扰较少,但这个依赖agent设计能力,设计不好会带来更大的用户使用成本。

零信任架构缺点:

  • 一些特殊的远程办公需求难以满足,或是要花费很大成本来实现,例如不支持代理的C/S应用,一些特定的协议访问等

(3)其他的问题

这是第一次安全部门来主导大规模远程办公的支持,有很多意想不到的事情,例如:

  • 20%不看帮助的用户,占用了80%的人力支出;

  • 直面用户,安全工程师要承担很多低价值的热线工作;

  • 墨菲定律一定会发生;

  • 解决一个问题的同时,也会带来新的问题。

结束语

综上,从实际运行的情况来看,零信任架构无疑在安全上能带来很多优势,甚至用户使用上也是可以很简单,并且是可以真正落地,让用户去使用的方案。

但同时零信任架构的远程办公部署,应该是要提前准备好的事情,绝非短时间可以上线的方案,所以我很难相信能像一些厂家广告宣传一样,快速上线。

另外一方面,如果想用零信任架构取代VPN,要看公司的办公需求还有公司自身的技术能力,因为5% - 10%的特殊需求可能要花费很大的成本才可以转化上去。

以前做过多次安全会议的分享,但写公众号是第一次,感觉更有挑战,写的不对的地方还请大家指正,如果觉得有所价值,请素质三连,关注、点赞、转发,后续会提供更多原创内容来感谢大家的支持。

声明:本文来自小议安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。