Airbnb的零信任架构实战案例

  • A+
所属分类:安全闲碎

介绍理念的文章太多了,这次换换口味,介绍一个实战案例。看看互联网巨头的零信任落地架构。看看零信任的界面长什么样。


Airbnb的零信任架构实战案例

1、Airbnb原来的架构



Airbnb是全球最火的短租平台。平台对外提供很多特别酷的民宿,有别墅,有城堡,有树屋……用户还可以在airbnb.com网站上共享自己的房间做短租。


Airbnb.com网站部署在亚马逊AWS上。Airbnb公司内部的一些管理系统,为了减少延迟,部署在了公司本地的机房。


下面是Airbnb的网络架构图。

Airbnb的零信任架构实战案例

(1)图中间是用户,用户可以自由地使用不同的浏览器访问业务系统。员工在公司的话,通过802.1x认证才能连上公司网络。员工在家的话,是用VPN接入。


(2)图左边是用户平时会用到的SaaS服务,比如Slack(相当于国内的钉钉)、Google系列(邮箱、文档等)、Github等等;


(3)图右边是公司的亚马逊AWS云,云上有一大批业务系统,Airbnb自己的或采购第三方的都有;


(4)值得一提的是,Airbnb已经做了一套很完善的终端管理工具。他们使用开源的OSquery工具收集终端的信息,并且自己开发了一套终端信息分析预警系统StreamAlert。


所以,Airbnb本身已经有一些零信任技术的基础了。


Airbnb的零信任架构实战案例

2、Airbnb面临的挑战



Airbnb公司10年前在旧金山成立。如今的Airbnb在全球40多个城市建立了分公司。


随着公司的扩张,公司的IT架构也面临越来越大的挑战。

Airbnb的零信任架构实战案例

AIrbnb还是小公司的时候,安全很容易搞。


把业务系统放AWS云上,用设置IP白名单的方式做访问控制,只允许来自公司IP的访问。这样,安全方面基本上就不会出什么大问题。


但是公司扩张了,很多问题就跑出来了。一次技术分享上,Airbnb的安全工程师列出了下面这些问题。


(1)802.1x的局限


802.1x是一种网络准入协议。总部员工用起来没什么问题。但分公司一般都用不起来。


虽然说确实有一些技术可以实现分公司的802.1x认证,但是总的来说还是太麻烦。所以,Airbnb分公司的员工都是通过VPN远程接入的。


Airbnb的零信任架构实战案例


(2)VPN的局限


VPN太慢了。Airbnb在全球都有分公司,但大部分业务系统都跑在美国。结果就是访问这些系统的延迟非常的高。尤其是距离VPN网关很远的员工,或者在飞机上的员工。你离总部越远,问题就越严重。


最可笑的例子就是,用VPN的时候,要求输入动态码的场景。员工访问内部系统要进行多因子验证。多因子验证要用动态码。动态码是几秒一变的。有时候赶上VPN特别慢,员工每次输完动态码,提交过去的时候,动态码就过期了。用户就一直都过不了多因子认证。体验非常糟糕。


Airbnb的零信任架构实战案例


VPN本来就很慢了。有时候用户还会选错VPN网关,让事情更糟。


比如澳大利亚的用户想连VPN的时候,首先会想连到离他最近的新加坡的接入点。但是如果你看看地球仪的话,就会发现澳大利亚-新加坡-美国这条路线,比澳大利亚直接到美国的路线要长50%。


再比如在飞机上的情况,飞机上一般使用基于卫星的wifi,流量要去外太空绕一圈,延迟至少要600毫秒。从东京飞洛杉矶的话,流量一般会在卫星间跳转几次,最后从欧洲出口出来。用户应该选择欧洲的VPN网关,但是用户不知道啊,如果凭直觉选了美国的vpn网关,就慢死了,用户还不知道为啥。


当然这都不能怪用户。用户不懂这些。


用户只会对比互联网的速度和VPN的速度。当用户可以很快的打开Gmail的时候,他就会期望打开内部系统也是很快的。


Airbnb的零信任架构实战案例

3、Airbnb的目标



跟很多媒体文章的观点不同,现实中的公司,例如Airbnb,没有对VPN的安全性做出太多抱怨。Airbnb主要对VPN的性能和体验感到不满。


Airbnb的愿景是——如果用户的互联网很快,而且用户设备的安全等级足够,那么他就应该能够同样快速地接入内网。


当然如果把系统全部放在互联网上,体验是最好的,但安全方面肯定接受不了。


Airbnb的安全工程师希望找到一个用户体验和安全的最佳平衡点。体验要比VPN好,安全性要比直接暴露在互联网上高。


Airbnb的零信任架构实战案例


Airbnb的零信任架构实战案例

4、零信任似乎是个合适的解决方案



为了解决安全和体验的问题,Airbnb把目光投向了谷歌的零信任方案——BeyondCorp。


最早,谷歌公司内部也是用VPN,体验问题同样严重。谷歌还经历过一次严重的攻击,攻击者顺着VPN就进到内网了,谷歌吃过大亏。所以攻击事件之后,谷歌吸取教训,把VPN替换成了安全又快速的BeyondCorp。


BeyondCorp跟VPN的区别主要在于——BeyondCorp的网关是一个分布式的云。


云的好处有很多,例如云能够提供负载、加速、弹性扩容、自动容灾等等特性。这就解决了VPN的性能瓶颈。


Airbnb的零信任架构实战案例


BeyondCorp的性能更好,如果安全性上也能超越VPN的话,那么它就是更佳的替代方案。


下面就通过BeyondCorp的架构图看看它的安全性。


Airbnb的零信任架构实战案例

5、BeyondCorp的架构



BeyondCorp目前已经在谷歌云上有商用版本了(可惜国内用不了),下面就是这个商用版的架构图。


BeyondCorp分为Global Frontend负载、访问规则引擎、策略执行节点等三个部分。


Airbnb的零信任架构实战案例


(1)BeyondCorp客户端:收集用户的身份、行为、设备信息。


身份没什么可说的。


举个“行为”的例子。例如,你每周二都从家里登录,但是突然有一个周二你在另一个地方登录了,不管其他因素是否可信,这次的行为肯定是偏离了用户行为规律。很有可能是发生了账号窃取等情况。这种情况下,系统会记录一条异常行为记录,或者发出告警。


设备信息是指设备上的配置合不合理。比如,磁盘是否做了加密、是否开启了锁屏密码、操作系统版本是否最新等等。


BeyondCorp一共用到了120多个环境因素作为是否授权的判断条件。起码从数量上看,可以说是非常完善了。


(2)Global Frontend:这是谷歌云提供的全球部署的负载,可以提供对业务系统的加速。


谷歌每天都在扫描全球所有网站,所以谷歌的威胁情报还是不错的。BeyondCorp会屏蔽掉来自恶意IP的流量。


(3)规则引擎:用于制定访问规则。


例如,设备必须安装最新的操作系统版本,并且来自某个特定IP,才能可以访问安全级别最高的系统。OS版本比最新低2个版本以内的设备,可以访问安全级别为中级的系统。


所以规则还是比较灵活的。安全级别比较低的用户也不是说就完全不能进入了,而是他们只能进入级别要求比较低的系统。


(4)执行节点:负责持续阻拦不符合规则的访问请求。BeyondCorp会检测每个访问请求的位置、时间、线程时间等等信息,不只是登录的时候检测。


Airbnb的零信任架构实战案例

6、BeyondCorp实际用起来是什么效果



员工要使用BeyondCorp,必须先安装一个Chrome插件。好像Chrome企业版是可以后台自动推送插件的。而且国外Chrome的使用率也比较高,所以对Airbnb来说,还不算麻烦。


Airbnb的零信任架构实战案例


(1)限制用户和IP


管理员可以在后台配置员工的权限,和业务系统的安全级别。


例如,A系统允许外包公司的员工Bob访问,但访问者的IP限制为只有Bob公司办公室的IP才能访问。


Airbnb的零信任架构实战案例


这时候,Bob在办公室的时候,可以访问系统A。当Bob离开办公室,连上楼下咖啡馆的WIFI的时候,打开系统A,就会弹出报错。


Airbnb的零信任架构实战案例


(2)限制Mac OS版本


管理员还可以在后台对设备进行限制。


例如,有一天苹果突然公布了一个系统漏洞,非常严重。管理员希望所有用户都升级到打了安全补丁的最新版本。怎么办呢?


管理员可以在后台设置一下安全级别,限制只有Mac OS版本高于10.0.1的设备才能访问系统A。


Airbnb的零信任架构实战案例


这个时候,所有不符合安全级别的用户就都无法访问了。


Airbnb的零信任架构实战案例


(3)设备管理


一般公司的资产登记表是不靠谱的。人的天性就是懒。自己的设备一般就直接给其他人用了,不会去更新登记表。


零信任的一个额外的好处就是资产统计更准确了。从后台可以查出每个用户都使用了哪些设备,哪些是公司发的,哪些是自己带的。


Airbnb的零信任架构实战案例


还可以查看设备的详情,看到设备的安全等级等等信息


Airbnb的零信任架构实战案例


Airbnb的零信任架构实战案例

7、Airbnb的零信任架构



BeyondCorp的零信任网关部署在业务系统之前。员工先走代理,再转发到业务系统。零信任网关是安全策略执行者,也是个负载。


下面是Airbnb部署零信任产品后的架构图。


从架构图上可以看到零信任对Airbnb的架构影响很小,只有VPN和802.1x被替代掉了,其他基本不变。



Airbnb的零信任架构实战案例


用户的使用流程是:


(1)用户装上终端检测插件。


(2)用户连上零信任网关,进行一系列身份检查。


(3)然后网关就可以直接把合法流量转发到业务系统了。


实际部署的时候Airbnb发现了一个问题,就是BeyondCorp不能把流量导到AWS(可能是有竞争关系吧),所以用了一个Nginx把流量导到公司内网。然后,云和内网用AWS的连接工具做了打通。


(4)osquery整合到零信任体系里面了。osquery收集的信息跟零信任插件的信息会汇总到一起,进入日志分析系统、公司的资产统计表。Airbnb的分析系统还会反过来反馈分析结果给到零信任的规则引擎。


Airbnb的零信任架构实战案例

8、零信任带来的好处



(1)无边界

原来用户在公司总部用802.1x,在外地用vpn。现在无论在哪,直接打开chrome就能访问了,使用变得特别简单。


(2)加速

零信任网关做了全球加速。尤其是对澳大利亚、日本的员工和常常出差的员工来说,体验有极大的提升。


(3)安全

零信任加强了终端的安全检测,这是原来VPN做不到的。零信任还替代了Airbnb原来自己开发的终端检测工具。一个顶俩。


Airbnb的零信任架构实战案例

9、总结



这个案例里,谷歌的零信任在各方面都能吊打VPN。我感觉国内产品应该还都达不到谷歌的水平。


国内厂商似乎都过于关注安全方面了,体验和加速方面还不够吊打VPN的程度。从用户角度看,虽然安全必不可少,但是体验肯定是一个更痛的点。



感谢大家的阅读。欢迎关注我,了解更多零信任知识。


文章来源:  白话零信任


Airbnb的零信任架构实战案例

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: