关于零信任:EISS2021办公网零信任安全建设实践

7次阅读

共计 5669 个字符,预计需要花费 15 分钟才能阅读完成。

一、背景

大家好,非常高兴给大家分享《办公网零信赖平安建设》这个话题。

分享之前我想先简略介绍一下咱们公司,趣加是一家游戏公司,次要了是面向海内市场,所以有很多同学了可能没有听过咱们公司;但喜爱玩游戏的同学可能听过一个战队,就做 fpx 那其实就是咱们公司的一个战队。

二、分享内容

我明天要分享的内容次要是三点


首先是咱们为什么要做零信赖平安建设,后面很多老师讲过了零信赖的一些利用场景和零信赖的理念, 这里了我简略提一下咱们趣加为什么要去做零信赖建设; 第二个是咱们如何去设计零信赖架构,零信赖建设次要是联合业务去实现,这里了我想以趣加为例子,分享一下咱们的建设思路;第三点是咱们在建设实际过程当中具体如何去做的,做了哪些事件以及一些细节性的问题;

三、为何要做

首先让咱们为什么要去做零信赖建设,很多器重平安的公司了需要起源分为两类,一类是内部的驱动,另一类是外部驱动;这里咱们咱们趣加其实就是外部驱动,而后去做一些平安方面的事件事件

为什么这么说呢?因为咱们是一个游戏公司,游戏公司是非常重视平安问题的;所以咱们自身就有平安方面的一些需要,第二个的就是咱们整个团队的都对平安是比拟器重的,因为一款游戏的平安是能够决定游戏的生命周期的,在推广零信赖的时候了团队的配合水平也是十分重要的;第三点就是咱们把零信赖平安建设计划那么跟领导汇报之后,领导也是十分反对咱们去做这样一件事件。

3.1 平安需要

方才说到了咱们是有平安需要的,那咱们趣加为什么有这样的平安需要呢,这里我举一个例子。

3.1.1 网络架构

咱们公司次要将网络了分为两个网络,别离是外部的办公网络,和面向公众的网络。

基于这两个网络建设的平安体系,其中外部办公网了默认认为是可信网络,也就是说你只有连贯到这个办公网络;你拜访外部的一些服务,他都认为是可信的,你只须要通过简略的一些身份验证就能够进行操作;然而这里有一些问题,比如说在去年 2020 年哪疫情期间,很多共事都在家办公,在家办公要拜访外部办公零碎就得通过 vpn 去连贯外部网络;这样的网络架构其实是有一些弱点的;

VPN 只能保障这个身份的可信,然而并不能保障设施的安全性,另外很多时候连贯了 VPN,但拜访的流量并不需要应用 VPN;比如说微信以及拜访一些非办公网内的网页,其实是节约 vpn 的资源;咱们在想如何不应用 vpn,保障安全性的同时又能拜访到外部办公网外部的服务,这个时候零信赖的理念其实是十分适合的。

3.1.2 零信赖理念

这里了我总结了几点零信赖的一些理念,这里列了四条


第一点是默认不信赖,默认不信赖用户也不信赖设施以及不信网络,咱们之前的一个办公网的构造了其实就是默认信赖网络,以及默认信赖所有设施;这一条理念其实是能够补齐咱们的一些短板

第二点是动静的拜访权限,咱们之前的外部办公网只有你连贯到这个网络,并且身份通过简略的一次校验就能够操作前面的权限,这里也能增强咱们的身份验证,因为它在登录之后还是始终是继续在验证;比如说我认为某个用户不非法,我随时能够把这个用户删除,它之后的拜访就立刻给他前端了。

第三点是缩小资源的裸露面,放大攻打的范畴,之前咱们要拜访外部服务,只须要链接办公网就能够间接连贯服务,而后服务本人去权限管制,有一些服务其实安全性是挺弱的,比如说弱口令等等,攻打的范畴还是是比拟宽泛的

第四点也就是继续的评估与平安响应,通过多个维度来判断某一个申请是否足够平安。

3.2.3 建设指标

联合网络现状和零信赖的一些理念相结合,咱们提出了三点建设指标


首先是让员工更平安和便捷的拜访公司外部服务,第二点是确保访问者的身份和网络环境是平安的才容许拜访,第三点是解决拜访日志扩散无奈追溯用户的行为,那么次要是要做到这三点,这是咱们建设的初衷。

3.2 器重平安

后面提到了咱们游戏公司非常重视平安,重视平安的起因次要是平安可能间接影响公司的支出,这里我举两个游戏行业的例子

3.2.1 源码泄露场景

首先说一下源码泄露案例,如果源码泄露会产生什么事件


很多同学可能听过传奇私服或者玩过这个传奇,在 2002 年的 9 月份传奇的源码通过意大利服务器源码泄露了,很快就传到国内,在短短的半年里就有 500 多家私人搭建传奇服务器,很多玩家开始从官服转到私服中去,传奇运营商支出大大受到影响,因而不再给传奇的开发商领取代理费用,导致这个开发商面临破产危险,起初甚至被收买。从这个例子里能够看到一款游戏的平安能够决定它的生命周期。

3.2.2 高危破绽场景

还有一个高危破绽场景, 在美国 Def Con 2017 的会议上,有一个黑客跟媒体走漏他在过来二十年外面,利用网络游戏破绽去赚钱的一些办法

并且现场演示在调试器中输出命令,给他游戏里的账户减少了很多很多的金币;不同的游戏应用不同的办法减少货币,雷同的是增加的金币或者道具次要通过第三方市场进行交易来获利;在这个例子中能够看到一款游戏的安全性,能够间接影响公司支出营收;所以咱们团队自身是非常重视平安的,老板的平安器重水平也给咱们强有力的撑持,让咱们可能安安心心的去建设零信赖平安。

四、架构设计

在确定好做零信赖建设的事件之后,咱们次要做了三件事件


第一点是确定现实的一个指标,确定好指标之后就是相熟现有网络架构;因为零信赖并不是一个产品,把这个产品开发实现完就完事了,它十分贴合业务线,所以要相熟以后的网络结构,而后再把指标和现状两者相结合失去一个能够施行的指标计划;

4.1 现实中的指标

这张图是咱们现实中的指标成果,在图中能够看到我心愿所有的拜访用户的都通过平安网关代理去拜访这些外部服务

在代理拜访之前,咱们会去验证访问者的身份是否非法,同时验证这个设施是否为外部设施,以及他的申请参数当中有没有非法申请,另外了还有一些他的一些异样行为,比如说他平时都是在工作工夫去拜访这个服务,忽然有一天他在凌晨一点两点去拜访这个服务,这个时候了咱们就会将他的这个安全等级变低,须要他二次验证来晋升平安评分;

实现这些指标,须要做到右边的几项,比如说资源对立治理和对立管制内部拜访,比如说咱们须要去对立治理这些用户,对立管制这些设施,对立让用户通过平安网关进行拜访外部服务;所以这些业务须要配置一些防火墙限度,只容许平安网关去拜访它;另外两点是心愿动静调整拜访控制策略以及心愿能缩小 VPN 的应用。

4.2 相熟现有架构

确定好现实指标后,得相熟一下现有的网络结构,目前的网络现状次要是网络可信和身份验证两个机制,所以我着重理解这两个。

4.2.1 网络准入

先来说一下 pc 设施,比如说 windows mac linux 这些设施要接入外部网络能够有三种形式,首先是在家办公的场景会通过 vpn 去连贯,连贯 vpn 的时候须要登录账号,第二个是在公司办公的场景个别是通过 wifi 连贯咱们的网络,连贯 wifi 之后还会须要通过拜访登录账号和明码来确认身份,最初一种是办公网的网线接入;其实手机之类的挪动设施接入形式和电脑基本一致,还有一些哑巴设施比如说打印机摄像头次要是通过网线去连贯外部网络。

这里了讲一下目前网络的几点问题


第一点是一个用户连贯到咱们外部往来之后,如果他也想拜访某一个服务,齐全是靠这个服务自身进行权限管制,没有对立的身份去管制它是否可能拜访;有一些零碎是有一些弱口令或者单薄账号的,这是从安全性角度思考;

第二点是 vpn 的稳定性无奈保障,比方有些员工在高铁上,须要拜访办公网外部的服务,这个时候得先通过 VPN 连贯到外部往来,VPN 是个长链接不肯定稳固始终稳固;同时还有一些流量并不是须要通过 vpn 能力拜访的,但都通过 VPN 显然减少了网络间接消耗;

第三点是用户和设施和应用程序都在同一个网络中,这是不合理的,应该是咱们不同的部门在不同的一个网络隔离区域中,比方开发部门有一个开发网络,行政部门有一个行政的网络,网络之间须要有一个隔离。

4.2.2 身份认证

身份认证次要是账号验证这方面,账号咱们次要由两局部组成

一部分是公司的对立账号,另一部分就自建账号,目前正式员工都有这样一个对立账号,然而一些外包人员他就想拜访某一个业务,会在业务零碎上给他开了一个自建的账号,还有一部分零碎因为应用开源零碎,革新起来比拟麻烦,还停留在自建账号上。

4.3 调整后的计划

在相熟现有构造后,联合之前现实中的指标,咱们须要设计一套可落地的架构,次要是这个图,在图中能够看到,所有的申请都通过通过终端去拜访办公网利用,都要通过一个平安网关

这个平安网关他次要是一个代理的作用,在代理之前的他会调取安全策略核心的评估数据,通过这个数据判断申请是否非法,如果不非法会摈弃掉这个人申请;判断申请是否非法次要依赖于安全策略核心,安全策略核心的决策次要是根据设施管理中心和身份证的重心的数据

设施管理中心次要存储终端的平安基线数据,同时对设施签发证书,终端则会上报平安数据,比方过程是否平安、网络是否平安以及是否有锁屏,证书治理来次要是验证这个设施是否公司的非法设施。

比方有人应用私人设施去拜访公司的办公网络,咱们是不容许的,设施管理中心就会给此设施评分比拟低;另外一个根据是身份证在核心,次要是验证一下用户的一个身份信息是否非法,综合这些信息就失去了一个平安评分,平安评分比拟低的时候咱们可能会通过人脸识别或者其它的多因子认证来晋升他的一个平安评分,最终决策此申请是否能够拜访咱们办公网的利用

4.4 建设模块

方才咱们通过架构图简略降到了 5 个模块的作用,当初咱们认真来看一下这五大模块

4.4.1 身份认证核心

身份认证核心次要的作用是提供身份认证,除了平时的惯例认证外,外面应该有一些增强的二次认证办法,多维度来确保身份的可信;这里咱们次要是应用第三方的身份认证服务,阿里云的 Idaas 服务和谷歌的 google 身份认证器。

4.4.2 安全策略核心


安全策略核心方才曾经讲到,他次要是判断下这个申请是否能够拜访,次要是根据这个身份认证和设施危险动静生成的安全策略,并且须要实时更新策略;

另外有些利用安全等级须要比拟高,比方财务零碎可能要求二次多因子认证来减少平安评分。

4.4.3 平安网关


平安网关的次要作用是代理外网的流量到外部,平安网关在进行转发前会先判断一下曾经登录,如果没有登录会让申请跳转到 idaas 零碎,让用户先进行登录;

再次申请时候会调用安全策略核心的平安评分,如果它的评分比拟低会阻止此申请的拜访;如果是非法的能够对这个申请进行一些流量钩子,比方拜访一个 wiki 零碎,能够在这加一些水印。

当流量都通过平安网关的时候,能够将日志存储起来,放到日志剖析平台中进行统计分析,未来能够追溯和审计。

4.4.4 设施 agent


设施 agent 次要就是收集终端的一些平安信息,比方零碎信息,网络连接信息、是否装置杀毒软件,将这些信息上报到咱们的设施管理中心的服务器。

4.4.5 设施管理中心


设施管理中心次要是存储设备上报一些的平安信息,以及这些设施进行认证,判断设施了是不是咱们公司的外部设施等等,给平安决策核心提供数据反对。

五、建设教训

零信赖建设不是一个短期可能实现的事件,谷歌建设的零信赖建设花了近十年工夫,后面何艺老师在完满世界建设零信赖也花了四年的工夫,因而零信赖不是短时间内能实现的,不过当初零信赖相对来说曾经有一个根本的架构了,所以咱们建设起来会快很多,然而呢也是一个周期的。

5.1 分阶段施行

零信赖建设拆解下来大抵须要去做 6 个事件

咱们趣加在建设零信赖的时候是分阶段去施行的,次要分成了四个阶段,其中 Q1 为第一阶段,首先是要有一个平安网关,并且反对身份验证,这是最根底的性能点,而后就是去接入一些业务去验证这个模式的可行性,在这个过程中会收集到很多需要,将其改良之后持续推动业务的接入,咱们第一阶段的事件曾经落地了;目前正在建设第二阶段,第二阶段次要是业务的全量接入,和终端软件的第三方购买评估,业务曾经接入实现,终端还在评估中。

5.1.1 第一阶段

第一阶段的次要是搭建一个平安网关,实现最根本的需要,比方流量转发和登陆,以及身份认证,接入局部办公利用验证这个模式是否可行。

5.1.2 第二阶段


第二阶段了次要是接入全量利用进来,同时咱们须要去调研这个终端的的产品,他须要反对这个基线检测、证书签发、TLS 双向认证。

5.1.3 第三阶段


第三和第四阶段目前来说了咱们只是一个布局阶段,还没有去落地施行,这部分我不去过多解说了

5.1.4 长期施行

有些事件能够在各阶段都去做,并没有依赖关系

比如说整合业务的需要,反对更加粗疏一些权限管制拜访,还能够去丰盛代理网关的能力,包含流量拦挡和行为剖析统计,内容注入,比如说水印等; 第三个是丰盛用户行为审计能力, 联合业务拜访行为和终端平安日志,全面监控平安危险。

5.2 细节性建设

这里我讲一些咱们建设细节,次要举荐几个开源工具

5.2.1 openresty

后面咱们讲到平安网关,平安网关次要是转发的一个作用,这里很多同学会想到 Nginx 服务器,我这里也是用的 Nginx 服务器,不过对 Nginx 进行了一个封装的服务,叫做 openresty,它更不便咱们去执行一些 lua 脚本

5.2.2 NginxWebUi

如果应用 Nginx 模式进行转发,必定会波及到 Nginx 配置文件,配置文件如果应用 vim 编辑器去转发编辑,很难免会出错;所以最好是有一个界面,能够在界面上操作并生成配置文件。

这里我举荐一个开源工具叫 NginxWebUi 的开源我的项目,能够在图形界面当中就实现了一个反向代理的配置

5.2.3 配置散发

咱们趣加在寰球有二十多个节点,每个节点都有服务器,如果咱们将代理网关放在一个节点,代理速度会十分慢,所以咱们不可能把节点都部署一个节点;当多个节点的时候,配置文件同步就须要一个计划了


咱们的计划是首先由 NginxWebUi 生成配置,有一个程序会监听文件夹的批改,如果有批改会将这些配置提交到 gitlab 仓库;同时会告诉到各个节点并把版本号传递过来,节点会从 gitlab 服务器拉去最新配置,检测配置文件是否会报错,如果不报错则会重启 Nginx,并将节点所应用的版本传递到核心去。


作者:汤青松

日期:2021-5-14

正文完
 0