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