介紹理念的文章太多了,這次換換口味,介紹一個(gè)實(shí)戰(zhàn)案例??纯椿ヂ?lián)網(wǎng)巨頭的零信任落地架構(gòu)。看看零信任的界面長(zhǎng)什么樣。
1、Airbnb原來(lái)的架構(gòu)
Airbnb是全球最火的短租平臺(tái)。平臺(tái)對(duì)外提供很多特別酷的民宿,有別墅,有城堡,有樹(shù)屋……用戶(hù)還可以在airbnb.com網(wǎng)站上共享自己的房間做短租。
Airbnb.com網(wǎng)站部署在亞馬遜AWS上。Airbnb公司內(nèi)部的一些管理系統(tǒng),為了減少延遲,部署在了公司本地的機(jī)房。
下面是Airbnb的網(wǎng)絡(luò)架構(gòu)圖。
?。?)圖中間是用戶(hù),用戶(hù)可以自由地使用不同的瀏覽器訪問(wèn)業(yè)務(wù)系統(tǒng)。員工在公司的話(huà),通過(guò)802.1x認(rèn)證才能連上公司網(wǎng)絡(luò)。員工在家的話(huà),是用VPN接入。
?。?)圖左邊是用戶(hù)平時(shí)會(huì)用到的SaaS服務(wù),比如Slack(相當(dāng)于國(guó)內(nèi)的釘釘)、Google系列(郵箱、文檔等)、Github等等;
?。?)圖右邊是公司的亞馬遜AWS云,云上有一大批業(yè)務(wù)系統(tǒng),Airbnb自己的或采購(gòu)第三方的都有;
?。?)值得一提的是,Airbnb已經(jīng)做了一套很完善的終端管理工具。他們使用開(kāi)源的OSquery工具收集終端的信息,并且自己開(kāi)發(fā)了一套終端信息分析預(yù)警系統(tǒng)StreamAlert。
所以,Airbnb本身已經(jīng)有一些零信任技術(shù)的基礎(chǔ)了。
2、Airbnb面臨的挑戰(zhàn)
Airbnb公司10年前在舊金山成立。如今的Airbnb在全球40多個(gè)城市建立了分公司。
隨著公司的擴(kuò)張,公司的IT架構(gòu)也面臨越來(lái)越大的挑戰(zhàn)。
AIrbnb還是小公司的時(shí)候,安全很容易搞。
把業(yè)務(wù)系統(tǒng)放AWS云上,用設(shè)置IP白名單的方式做訪問(wèn)控制,只允許來(lái)自公司IP的訪問(wèn)。這樣,安全方面基本上就不會(huì)出什么大問(wèn)題。
但是公司擴(kuò)張了,很多問(wèn)題就跑出來(lái)了。一次技術(shù)分享上,Airbnb的安全工程師列出了下面這些問(wèn)題。
(1)802.1x的局限
802.1x是一種網(wǎng)絡(luò)準(zhǔn)入?yún)f(xié)議??偛繂T工用起來(lái)沒(méi)什么問(wèn)題。但分公司一般都用不起來(lái)。
雖然說(shuō)確實(shí)有一些技術(shù)可以實(shí)現(xiàn)分公司的802.1x認(rèn)證,但是總的來(lái)說(shuō)還是太麻煩。所以,Airbnb分公司的員工都是通過(guò)VPN遠(yuǎn)程接入的。
(2)VPN的局限
VPN太慢了。Airbnb在全球都有分公司,但大部分業(yè)務(wù)系統(tǒng)都跑在美國(guó)。結(jié)果就是訪問(wèn)這些系統(tǒng)的延遲非常的高。尤其是距離VPN網(wǎng)關(guān)很遠(yuǎn)的員工,或者在飛機(jī)上的員工。你離總部越遠(yuǎn),問(wèn)題就越嚴(yán)重。
最可笑的例子就是,用VPN的時(shí)候,要求輸入動(dòng)態(tài)碼的場(chǎng)景。員工訪問(wèn)內(nèi)部系統(tǒng)要進(jìn)行多因子驗(yàn)證。多因子驗(yàn)證要用動(dòng)態(tài)碼。動(dòng)態(tài)碼是幾秒一變的。有時(shí)候趕上VPN特別慢,員工每次輸完動(dòng)態(tài)碼,提交過(guò)去的時(shí)候,動(dòng)態(tài)碼就過(guò)期了。用戶(hù)就一直都過(guò)不了多因子認(rèn)證。體驗(yàn)非常糟糕。
VPN本來(lái)就很慢了。有時(shí)候用戶(hù)還會(huì)選錯(cuò)VPN網(wǎng)關(guān),讓事情更糟。
比如澳大利亞的用戶(hù)想連VPN的時(shí)候,首先會(huì)想連到離他最近的新加坡的接入點(diǎn)。但是如果你看看地球儀的話(huà),就會(huì)發(fā)現(xiàn)澳大利亞-新加坡-美國(guó)這條路線(xiàn),比澳大利亞直接到美國(guó)的路線(xiàn)要長(zhǎng)50%。
再比如在飛機(jī)上的情況,飛機(jī)上一般使用基于衛(wèi)星的wifi,流量要去外太空繞一圈,延遲至少要600毫秒。從東京飛洛杉磯的話(huà),流量一般會(huì)在衛(wèi)星間跳轉(zhuǎn)幾次,最后從歐洲出口出來(lái)。用戶(hù)應(yīng)該選擇歐洲的VPN網(wǎng)關(guān),但是用戶(hù)不知道啊,如果憑直覺(jué)選了美國(guó)的vpn網(wǎng)關(guān),就慢死了,用戶(hù)還不知道為啥。
當(dāng)然這都不能怪用戶(hù)。用戶(hù)不懂這些。
用戶(hù)只會(huì)對(duì)比互聯(lián)網(wǎng)的速度和VPN的速度。當(dāng)用戶(hù)可以很快的打開(kāi)Gmail的時(shí)候,他就會(huì)期望打開(kāi)內(nèi)部系統(tǒng)也是很快的。
3、Airbnb的目標(biāo)
跟很多媒體文章的觀點(diǎn)不同,現(xiàn)實(shí)中的公司,例如Airbnb,沒(méi)有對(duì)VPN的安全性做出太多抱怨。Airbnb主要對(duì)VPN的性能和體驗(yàn)感到不滿(mǎn)。
Airbnb的愿景是——如果用戶(hù)的互聯(lián)網(wǎng)很快,而且用戶(hù)設(shè)備的安全等級(jí)足夠,那么他就應(yīng)該能夠同樣快速地接入內(nèi)網(wǎng)。
當(dāng)然如果把系統(tǒng)全部放在互聯(lián)網(wǎng)上,體驗(yàn)是最好的,但安全方面肯定接受不了。
Airbnb的安全工程師希望找到一個(gè)用戶(hù)體驗(yàn)和安全的最佳平衡點(diǎn)。體驗(yàn)要比VPN好,安全性要比直接暴露在互聯(lián)網(wǎng)上高。
4、零信任似乎是個(gè)合適的解決方案
為了解決安全和體驗(yàn)的問(wèn)題,Airbnb把目光投向了谷歌的零信任方案——BeyondCorp。
最早,谷歌公司內(nèi)部也是用VPN,體驗(yàn)問(wèn)題同樣嚴(yán)重。谷歌還經(jīng)歷過(guò)一次嚴(yán)重的攻擊,攻擊者順著VPN就進(jìn)到內(nèi)網(wǎng)了,谷歌吃過(guò)大虧。所以攻擊事件之后,谷歌吸取教訓(xùn),把VPN替換成了安全又快速的BeyondCorp。
BeyondCorp跟VPN的區(qū)別主要在于——BeyondCorp的網(wǎng)關(guān)是一個(gè)分布式的云。
云的好處有很多,例如云能夠提供負(fù)載、加速、彈性擴(kuò)容、自動(dòng)容災(zāi)等等特性。這就解決了VPN的性能瓶頸。
BeyondCorp的性能更好,如果安全性上也能超越VPN的話(huà),那么它就是更佳的替代方案。
下面就通過(guò)BeyondCorp的架構(gòu)圖看看它的安全性。
5、BeyondCorp的架構(gòu)
BeyondCorp目前已經(jīng)在谷歌云上有商用版本了(可惜國(guó)內(nèi)用不了),下面就是這個(gè)商用版的架構(gòu)圖。
BeyondCorp分為Global Frontend負(fù)載、訪問(wèn)規(guī)則引擎、策略執(zhí)行節(jié)點(diǎn)等三個(gè)部分。
(1)BeyondCorp客戶(hù)端:收集用戶(hù)的身份、行為、設(shè)備信息。
身份沒(méi)什么可說(shuō)的。
舉個(gè)“行為”的例子。例如,你每周二都從家里登錄,但是突然有一個(gè)周二你在另一個(gè)地方登錄了,不管其他因素是否可信,這次的行為肯定是偏離了用戶(hù)行為規(guī)律。很有可能是發(fā)生了賬號(hào)竊取等情況。這種情況下,系統(tǒng)會(huì)記錄一條異常行為記錄,或者發(fā)出告警。
設(shè)備信息是指設(shè)備上的配置合不合理。比如,磁盤(pán)是否做了加密、是否開(kāi)啟了鎖屏密碼、操作系統(tǒng)版本是否最新等等。
BeyondCorp一共用到了120多個(gè)環(huán)境因素作為是否授權(quán)的判斷條件。起碼從數(shù)量上看,可以說(shuō)是非常完善了。
(2)Global Frontend:這是谷歌云提供的全球部署的負(fù)載,可以提供對(duì)業(yè)務(wù)系統(tǒng)的加速。
谷歌每天都在掃描全球所有網(wǎng)站,所以谷歌的威脅情報(bào)還是不錯(cuò)的。BeyondCorp會(huì)屏蔽掉來(lái)自惡意IP的流量。
(3)規(guī)則引擎:用于制定訪問(wèn)規(guī)則。
例如,設(shè)備必須安裝最新的操作系統(tǒng)版本,并且來(lái)自某個(gè)特定IP,才能可以訪問(wèn)安全級(jí)別最高的系統(tǒng)。OS版本比最新低2個(gè)版本以?xún)?nèi)的設(shè)備,可以訪問(wèn)安全級(jí)別為中級(jí)的系統(tǒng)。
所以規(guī)則還是比較靈活的。安全級(jí)別比較低的用戶(hù)也不是說(shuō)就完全不能進(jìn)入了,而是他們只能進(jìn)入級(jí)別要求比較低的系統(tǒng)。
(4)執(zhí)行節(jié)點(diǎn):負(fù)責(zé)持續(xù)阻攔不符合規(guī)則的訪問(wèn)請(qǐng)求。BeyondCorp會(huì)檢測(cè)每個(gè)訪問(wèn)請(qǐng)求的位置、時(shí)間、線(xiàn)程時(shí)間等等信息,不只是登錄的時(shí)候檢測(cè)。
6、BeyondCorp實(shí)際用起來(lái)是什么效果
員工要使用BeyondCorp,必須先安裝一個(gè)Chrome插件。好像Chrome企業(yè)版是可以后臺(tái)自動(dòng)推送插件的。而且國(guó)外Chrome的使用率也比較高,所以對(duì)Airbnb來(lái)說(shuō),還不算麻煩。
(1)限制用戶(hù)和IP
管理員可以在后臺(tái)配置員工的權(quán)限,和業(yè)務(wù)系統(tǒng)的安全級(jí)別。
例如,A系統(tǒng)允許外包公司的員工Bob訪問(wèn),但訪問(wèn)者的IP限制為只有Bob公司辦公室的IP才能訪問(wèn)。
這時(shí)候,Bob在辦公室的時(shí)候,可以訪問(wèn)系統(tǒng)A。當(dāng)Bob離開(kāi)辦公室,連上樓下咖啡館的WIFI的時(shí)候,打開(kāi)系統(tǒng)A,就會(huì)彈出報(bào)錯(cuò)。
(2)限制Mac OS版本
管理員還可以在后臺(tái)對(duì)設(shè)備進(jìn)行限制。
例如,有一天蘋(píng)果突然公布了一個(gè)系統(tǒng)漏洞,非常嚴(yán)重。管理員希望所有用戶(hù)都升級(jí)到打了安全補(bǔ)丁的最新版本。怎么辦呢?
管理員可以在后臺(tái)設(shè)置一下安全級(jí)別,限制只有Mac OS版本高于10.0.1的設(shè)備才能訪問(wèn)系統(tǒng)A。
這個(gè)時(shí)候,所有不符合安全級(jí)別的用戶(hù)就都無(wú)法訪問(wèn)了。
(3)設(shè)備管理
一般公司的資產(chǎn)登記表是不靠譜的。人的天性就是懶。自己的設(shè)備一般就直接給其他人用了,不會(huì)去更新登記表。
零信任的一個(gè)額外的好處就是資產(chǎn)統(tǒng)計(jì)更準(zhǔn)確了。從后臺(tái)可以查出每個(gè)用戶(hù)都使用了哪些設(shè)備,哪些是公司發(fā)的,哪些是自己帶的。
還可以查看設(shè)備的詳情,看到設(shè)備的安全等級(jí)等等信息
7、Airbnb的零信任架構(gòu)
BeyondCorp的零信任網(wǎng)關(guān)部署在業(yè)務(wù)系統(tǒng)之前。員工先走代理,再轉(zhuǎn)發(fā)到業(yè)務(wù)系統(tǒng)。零信任網(wǎng)關(guān)是安全策略執(zhí)行者,也是個(gè)負(fù)載。
下面是Airbnb部署零信任產(chǎn)品后的架構(gòu)圖。
從架構(gòu)圖上可以看到零信任對(duì)Airbnb的架構(gòu)影響很小,只有VPN和802.1x被替代掉了,其他基本不變。
用戶(hù)的使用流程是:
?。?)用戶(hù)裝上終端檢測(cè)插件。
(2)用戶(hù)連上零信任網(wǎng)關(guān),進(jìn)行一系列身份檢查。
(3)然后網(wǎng)關(guān)就可以直接把合法流量轉(zhuǎn)發(fā)到業(yè)務(wù)系統(tǒng)了。
實(shí)際部署的時(shí)候Airbnb發(fā)現(xiàn)了一個(gè)問(wèn)題,就是BeyondCorp不能把流量導(dǎo)到AWS(可能是有競(jìng)爭(zhēng)關(guān)系吧),所以用了一個(gè)Nginx把流量導(dǎo)到公司內(nèi)網(wǎng)。然后,云和內(nèi)網(wǎng)用AWS的連接工具做了打通。
?。?)osquery整合到零信任體系里面了。osquery收集的信息跟零信任插件的信息會(huì)匯總到一起,進(jìn)入日志分析系統(tǒng)、公司的資產(chǎn)統(tǒng)計(jì)表。Airbnb的分析系統(tǒng)還會(huì)反過(guò)來(lái)反饋分析結(jié)果給到零信任的規(guī)則引擎。
8、零信任帶來(lái)的好處
(1)無(wú)邊界
原來(lái)用戶(hù)在公司總部用802.1x,在外地用vpn。現(xiàn)在無(wú)論在哪,直接打開(kāi)chrome就能訪問(wèn)了,使用變得特別簡(jiǎn)單。
(2)加速
零信任網(wǎng)關(guān)做了全球加速。尤其是對(duì)澳大利亞、日本的員工和常常出差的員工來(lái)說(shuō),體驗(yàn)有極大的提升。
(3)安全
零信任加強(qiáng)了終端的安全檢測(cè),這是原來(lái)VPN做不到的。零信任還替代了Airbnb原來(lái)自己開(kāi)發(fā)的終端檢測(cè)工具。一個(gè)頂倆。
9、總結(jié)
這個(gè)案例里,谷歌的零信任在各方面都能吊打VPN。我感覺(jué)國(guó)內(nèi)產(chǎn)品應(yīng)該還都達(dá)不到谷歌的水平。
國(guó)內(nèi)廠商似乎都過(guò)于關(guān)注安全方面了,體驗(yàn)和加速方面還不夠吊打VPN的程度。從用戶(hù)角度看,雖然安全必不可少,但是體驗(yàn)肯定是一個(gè)更痛的點(diǎn)。