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