資安界近年來最紅的議題莫過於「Zero Trust」(零信任架構),在疫情發生後因為在家辦公的因素,討論度又變得更加熱烈,幾乎每一場雲端、資安或防火牆相關研討會都可以看到 Zero Trust 被作為主要議程在討論。
到底什麼是 Zero Trust?
老實說,個人認為 Zero Trust 和 Big Data 一樣,與其說它是一項具體的技術、更像是一套 Mindset。可以參考我在 2017 年寫過的《大數據到底是什麼意思?事實上,它是一種精神!》,今天寫這篇文章時實在很想把標題也取成《Zero Trust 是什麼?事實上,它是一種精神!》作為科技行銷 Buzz Word 系列分析。
但難道 Zero Trust 不值得重視嗎?它是科技趨勢調研公司 Forrester Research 當中的一位分析師 John Kindervag 在 2010 年所提出的安全模型。不是說它淺薄,而是它更是一種技術發展或企業營運思維的轉變,畢竟大家看到這個概念是 2010 年就被提出的這一點一定會反射性想問:
為什麼是在這個概念提出超過十年後的今天,才被廣泛地討論呢?以前的技術或環境為什麼無法實現?Zero Turst 的必要性是什麼?這就是我們今天在這篇文章值得關注且探討的一大議題。
只是我們首先必須認知:它究竟是一項具體的技術還是一項思維,才能往下繼續今天的討論。跟我之前寫過 Big Data 的發展一樣,該探討的事情是:為什麼會有這一套的 Mindset 出現,以及目前的技術實現方式和實現挑戰,也是我想為眾多讀者們科普掃盲的起始點。
八千字長文,老樣子,還請讀者慢慢品味。
傳統企業的內外網架構不適用於現今複雜的網路環境
傳統企業網路會透過防火牆(可能是實體硬體設備或邏輯防火牆)將網路區分成內網與外網,並由網管人員來管理哪些服務會被設定在防火牆內,因此在外網無法直接存取該服務,僅在內網有辦法存取。
外網又被叫做網際網路,是連線不同地區區域網或者都會網路計算機的通訊的遠端網路。通常可以跨接很大的物理範圍,覆蓋的範圍可以是幾十公里到幾千公里,它能連線多個地區、城市和國家提供遠距離通訊,形成全球性的網際網路絡。傳統上的 VPN 代表使用者只要在外網驗證完、就能進入到內網暢行無阻,也就是說一台在外網的電腦什麼都存不了、在內網的電腦什麼都可以存,權限只對內外網做區分。
問題來了,只要駭客能把內網中任何一台電腦打下來就能在內網中移動,令駭客可以一次性地存取內網中全部的服務。假設一家擁有一萬名員工的企業,只要有 0.1% 或 0.01% 的員工點到 APT 郵件令其電腦立刻被入侵,接著這個駭客就能在內網中開始移動,相當於整間公司的電腦與系統都暴露在駭客的攻擊之下。想想 Apple 或台積電如果內網受到入侵…… 多恐怖的一件事情。
提出問題之後那當然要看解方。Zero Trust 的系統思維是怎麼解決這個問題的?
Zero Trust 為何受到關注:打破內外網概念
Zero Trust (零信任)與傳統資安架構最大的差異是:不會因為使用者在內網會給予完全的權限。Zero Trust 邏輯當中沒有內網與外網的概念,而是相當於把所有服務都放到網路上,接下來在任何服務存取時都會驗證一次使用者的權限。比如根據使用者有沒有登入,來決定是否要提供這項服務。
零信任顧名思義,每個用戶、每台裝置、每個應用都是不可以信任的,一定要經過身分認證和訪問管理,才能獲得最低級別的信任和相關的訪問權限。一句話來概括就是:Trust no-one. Verify everything.
回到上面那個故事:同樣一個利用 APT 郵件進行攻擊的駭客雖然成功入侵,但相當於只打下一個員工的個人帳戶、而非打下整個內網;意味著內網本身無法帶給這個帳號任何優勢。這是因為任何設備連入系統都需要經過驗證、同時在驗證完之後也會針對該設備持續做監控。
舉例來說,使用者若從 4G 網路換到外部空間的 WIFI 網路,根據來源不同的網路,Single Sign-On 伺服器就能據此評估該使用者是否需要再進行一次驗證。因此在外網的人不需要 VPN 可以直接連這些服務,透過驗證用戶「你是誰」、「你是否有 Single Sign-On 的 Token」等資訊,就算在外網也能做服務存取。
疫情關係許多企業採取遠端辦公的形式,是讓 Zero Trust 重新被討論的一個主因。另一個原因也在於當企業規模一旦變大,內網被入侵幾乎必然會發生的事情。
內網管理從MPLS進化到SD-WAN,到SASE不再區分內外網
我們這邊簡單介紹一下企業資安結構的演進,幫助讀者快速理解會在一些文章或市場研究報告中看到的名詞。
首先是 MPLS (多協定標籤交換, Multiprotocol Label Switching)。MPLS 是傳統 Site-to-Site 內網串聯的技術,透過標籤來制定資料封包的轉發決策,以此簡化核心路由器的路由選擇方式。利用 MPLS VPN 技術,可以把現有 IP 網路分解成邏輯上隔離的網路。
舉例來說,針對傳統內網的概念而言,一家企業可能會有許多辦公室設立在不同地區,也因此有許多不同內網。
當公司必須把這些不同地區的內網合併成同一個內網時,就得考慮從一個內網到另一個內網時的封包該怎麼走。畢竟封包流動在不同的內網時,中間會經過有線網路,因此連線設定上可以透過其中一個小內網的網管人員,根據現場的路由器或 VPN 設備上去做設定,來決定每一個小內網連到其他小內網或節點的連線方式。
MPLS 的下一個階段,內網又發展出了 SD-WAN 技術──現場這些設備可以直接透過遠端來做設定,整個內網可以有一個專門負責設定所有每一個小內網連到其他小內網連線方式的設定節點,稱為 SD-WAN Orchestrator,可視為一種指揮所有內網設備的軟體。
在 SD-WAN 的網絡架構下 SD-WAN 路由器可根據需求的變化來增加或刪減外網的連接,快速靈活的增加和減少頻寬。
簡單來說,在 MPLS 的時代每一個交換機都有它自己的設定去規定封包路線,然而 SD-WAN 利用專門的軟體去控制封包流去哪裡,來降低硬體設定的複雜度,同時也能彈性調整流量來降低成本,適合業務量變動大的企業。
但無論是 MPLS 還是 SD-WAN ,仍舊是內外網架構──只是針對封包怎麼流、中間設備怎麼連接等細節從各自為政到集中管理的演進。包括前幾年非常紅的資安議題 FWaaS (Firewall as a Service)也屬於上一代、包含在 SD-WAN 當中的概念。
近年來出現了關於 SASE(安全存取服務前端, Secure Access Service Edge)與 Zero Trust 的討論,逐漸取代了 SD-WAN。SASE 一樣是由 Gartner 所提出,裡面包含了 Zero Trust、FWaaS 等多個概念,核心概念一樣都是各個服務的權限區別設定(誰能存取、誰不能存取)。
Zero Trust 的核心與挑戰:Single Sign-On
講了那麼多 Zero Trust 的好處,那到底它會以什麼樣的技術方式實現呢?
Zero Trust更深層次的意義、和能成功實現的核心方式在於,整個企業系統必須有一個統一的識別使用者的模型。要防止使用者被盜用,就得就有個集中的地方能管理使用者。也因此,任何一間公司第一件實現 Zero Trust 的作法,就是要能成功建立 Single Sign-On。
Single Sign-On 不是建立 Zero Trust 架構的唯一要素,但是是第一且必備要素。注意這個地方,如果企業內部軟體彼此之間沒辦法做到 Single Sign-On (簡稱 SSO, 單一登入)的話,意味著沒辦法成功建立 Zero Trust,也是這個概念從 2010 當年提出時難以實現的原因之一。
Single Sign-On 意指有專門的一個登入服務。當使用者透過 Single Sign-On 登入之後,該 SSO 系統就會簽發一個 Token 給任何需要驗證這個使用者的服務。Token 是一串單純的電腦密碼,在 30 – 200 個字長之間,可以視為針對專門給該服務或應用使用的密碼。
假設企業 G Suite 需要驗證一個使用者, G Suite 就會請使用者透過 JavaScript 的方式向 SSO 系統來要一份 Token。若使用者已經登入且 SSO 系統認為該使用者沒有問題,它就會簽發一個 Token。
使用過程中, G Suite 或這個服務 App 會再時不時地去向 SSO 伺服器重新確認並刷新該 Token。刷新 Token 時,伺服器就可以查看使用者的來源是哪裡、裝置系統是否健康等因素,來決定是否要再發一次 Token 給使用者。服務或應用本身並不負責驗證,僅負責每次有使用者 Request 時去向 SSO 伺服器詢問針對該使用者是否能給予登入權限。
- 使用者想要存取一個應用程式或網站(即:服務提供商)
- 服務提供商寄發 Token (Token 中包含使用者資訊,比如登入 Email)給 SSO 系統(即:身分驗證服務商),作為使用者身分驗證請求的一部份
- SSO 系統首先會檢查該使用者是否已經通過驗證,若已通過:授與該應用程式或網站的訪問權限,跳到步驟 5
- 如果使用者還沒有登入 SSO 系統,會跳出一個登入提示請使用者登入驗證
- 當 SSO 系統驗證完畢後,會將 Token 寄回服務提供商,並認證這是一個有效的身分驗證
- 授權使用者訪問該服務提供商
為什麼會說 Single Sign-On 是實現 Zero Trust 架構的第一且必要元素,同時也會是企業轉型到 Zero Trust 的挑戰?
想想看,如果公司內部每個使用者都針對不同服務有不同的登入帳號(比如報銷系統一組帳號、文件系統一組帳號、CRM 系統又是另一組帳號),但這些服務又沒有 Single Sign-On 的前提下,就會導致企業無法識別出這些帳號都來自於同一位使用者來做身分驗證。
因此當企業決定採用 Zero Trust 架構時,也意味著公司內部系統需要大量的整合。舉例來說,以內網當中的一台伺服器,平常是內網使用者即能直接存取;如果要搬上 Zero Trust 架構的話,得把所有服務的程式碼得重新改寫,畢竟 Token 是該服務本身得自己去向 Single Sing-On 系統來做請求。
這就成了 Zero Trust 最大的挑戰──企業內部有許多不同的服務,包括 ERP、CRM、Coding 等系統,如果無法一同整合就等於無法實現 Zero Trust。這也是很多 Zero Trust 服務商在行銷文宣當中不會告訴你的關鍵。可能某天某位企業老闆跑去聽了一場資安研討會,回來興致勃勃地告訴底下工程師:我們要採購這套 Zero Trust 服務!結果發現所有服務都跑在內網本地端伺服器上。
另外,企業還得需要一套 IAM 系統(Identity management, 身份管理)配合完整介面來讓網管做修改或帳號管理,並有 API 去向企業內服務 App,或包括會計系統、人事系統等服務整合在一起,並讓所有 App 都去驗 Single Sign On、不再去驗使用者是否是在內網。
Zero Trust 要能完全實現是一套大工程,牽涉到了過往技術債的問題,或是看是否有廠商能提供相應的解決方案來協助解決。
Zero Trust 具體實現方式:各自表述
只要搜索 Zero Trust 此關鍵字,就可以看到一大堆廠商都跳出來說他們有相關的解決方案。問題是這些廠商所在的領域也非常不同,從資安防毒軟體、防火牆、CDN 廠商、雲端大廠、SSO/IAM 服務商,應有盡有。參考以下有提供 Zero Trust 服務的廠商名單:
- 網路通訊軟硬體:Cisco、Juniper Networks、華為
- 雲端服務:Microsoft、Amazon、Google、阿里雲、騰訊雲
- 身份訪問管理服務:OneLogin、Okta、Ping Identity
- 網路安全:Palo Alto Networks、Fortinet、Check Point Software、NortonLifeLock
- CDN 服務:Cloudflare、Akamai、Fastly
- 防毒軟體:賽門鐵克、趨勢科技、Panda Software
在過往,我們是不可能會把 VMware 和 OneLogin 彼此互相視為類似競品的。為什麼他們都會聲稱自己有提供 Zero Trust 服務?
事實上,如同我們在本文中一直在強調的:Zero Trust 只是架構設計理念而非一項具體的技術,因此各家 IT 服務提供商都有自身針對 Zero Trust 的解決方案,來實現他們心中認定的 Zero Trust,畢竟要做到「Trust no-one. Verify everything」可以有很多種作法。
從雲端服務、伺服器虛擬化、CDN、SSO、IAM、防火牆流量過濾… 可以看到各家舉辦所謂的「資安研討會」其實就是在宣傳自家針對 Zero Trust 所推出的服務型態,也算是一種 Zero Trust、各自表述。企業也可以視預算或自己目前的系統情況,選擇採購部份廠商的服務、或通通採購做到 100% 的零信任架構。(這就是 CEO 會丟給 CTO 去煩惱的事情)
舉例來說,知名的 Google BeyondCorp 的形式是透過安裝瀏覽器上方的特定 Extension,讓使用者就算不是在公司的網路裡,也可以存取公司各個內部網站。
CDN 廠商版本的 Zero Trust
另外,回到上個段落提到的問題:如果現在有一個服務是跑在原本的本地端內網,很難做內外網切割,該怎麼做比較好?
方法之一是採取 CDN 廠商的服務──設定限制讓任何使用者要存取該 App 只能透過 CDN 伺服器,也就是說限制讓內部伺服器只有 CDN 能存取。因此 CDN 本身就能直接套一層 Single Sign On 上去,同時服務 App 本身的程式碼完全不用做改變、該 CDN 會直接幫忙去驗證使用者,若這個使用者如果沒問題才會讓他存取資源,藉此用相對低成本的方式來實現 Zero Trust。
舉例來說當我們透過 AWS 架設網站時,即可直接透過 Cloudfront 來設定該服務是屬於「內網」的服務,Cloudfront 就會自動把 Zero Trust 服務串聯好。Cloudflare 的 CDN 網路 Cloudflare One 裡面就包括了完整的次世代防火牆、瀏覽器隔離產品和 Zero Trust 服務。
VMware 版本的 Zero Trust
然而為何像 VMware 這種伺服器解決方案的企業也有提供 Zero Trust 服務?以 VMware 實現 Zero Trust 的角度而言,提出的解決方案「NSX Securing」是透過 Micro-Segment 技術(微切分)來實現。
傳統企業除了針對內外網做切分,還會另外再把網段切分成 DMZ 區(Demilitarized Zone, 中文為「邊界網路」, 在內網與外網之間建立一個面向外網的子網)、管理區、備份區等等。接著在各個安全區之間的防護再設立防火牆、防毒軟體、流量檢查等安全機制。
但問題是同一個網段裡面的防護怎麼辦?比如一個 DMZ 內部有好幾台不同服務的伺服器,結果有一台伺服器被駭客入侵後、其他在同一個 DMZ 區域當中的所有機器都會一起被攻下。
當每一台電腦都放在同一個位址時、意味著資料庫伺服器可以直接存取檔案伺服器,也因此產生了較高的風險。故針對每個服務都必須獨立切開,網管人員不再需要一定得用 IP 位址 / Mac Address 等等來設定安全規則,而可以用資訊系統、指定機器或作業系統等不同方式來定義安全規則。因此就算同一網段的資料庫被駭客打下來,駭客仍沒辦法入侵檔案伺服器。
相當於以伺服器為出發點的 Zero Trust,意味著企業伺服器也沒有內外網的概念。
另外,VMware 的另一項 Zero Trust 產品 Workspace ONE 則包含了 UEM (統一終端裝置管理, Unified Endpoint Management)、Single Sign-On 和 MFA(多重要素驗證)等功能,廠商可以選擇同時採購 NSX 和 Workspace ONE 滿足軟硬體的不同場景。
Secure Access 廠商版本的 Zero Trust
而 Secure Access 廠商 Pulse Secure 所提出的做法是透過 SDP 來做實現。SDP(Software Defined Perimeter)其中 Perimeter 原意是用來區分企業的內外網。內外網的概念在於把電腦放在公司防火牆內或防火牆外、防火牆的位置就是Perimeter。SDP 則可以直接用軟體的形式很快地改變裝置的存取範圍,就好像把裝置從內網移到外網、或從外網移到內網。
舉例來說,假設原有一支手機的作業系統是 Android 10、一開始被視為合法裝置;然而某天 Android 10 被爆出漏洞時,系統就會將該裝置就視為公司外部裝置。以軟體搭配應用程式的形式可以很快地決定把這些使用者掛在企業內網範圍內或範圍外。
Cisco 版本的 Zero Trust
那通訊硬體設備大廠 Cisco 的解決方案是什麼?Cisco 提出了「Cisco Secure Workload」(原名 Tetration),裡面包含了三種產品類型選擇:SaaS、Small Form Factor、Large Form Factor。
後兩者都是可以自建在本地端設備,比如 Small Form Factor 裡面包了 6 台伺服器和兩台 Cisco Nexus 9300 系列交換機,Large Form Factor 方案中包含了 36 台伺服器外加三台交換機。只是這些 Switch 已經事先包好 VPC,可以讓使用者很快地切分 Container。
那 Single Sign-On 這個我們始終強調的關鍵呢?畢竟它並不包含在 Cisco 傳統既有的業務範圍內。可以關注到 Cisco 在 2018 年以 23.5 億美金收購了一家公司 Duo Security。
2018 當時的你如果看不懂 Cisco 這個操作所代表的意義,這邊就來為大家解答。 Duo 即是一種 Single Sign On 的服務,會搭配 iOS 與 Android App、與 MFA(多因素驗證)。比如當使用者終端裝置試圖存取公司內部服務時,它會在使用者終端裝置上運行特定軟體,來驗證該裝置的作業系統是否有問題、或是你的電腦狀態是否健康,以此決定使用者是否能存取服務。
百花齊放的 Zero Trust 方案
總結而言,Zero Trust 的實現可以透過 CDN 廠商來做串接,企業只要自行設定本地網路,不用再花費硬體成本。如果希望服務能在本地端營運、可以選擇直接採購 Cisco 的伺服器和交換機方案,或是自行購買伺服器搭配 VMware 的服務切割 Micro-Segment。使用者登入服務的部分,則是讓使用者在本地端安裝相關軟體以去驗證裝置的狀態、再搭配 Single Sign-On 做登入。我們這邊在本文只舉幾個常見的廠商案例,來為大家介紹什麼叫做一種概念各自表述。
除了使用者可以自行選擇搭配採購相應的 Zero Trust 方案,廠商也會各自合縱連橫來打造完整的 Zero Trust 服務鏈。像 Cisco 這樣老牌且資金豐富的資安大廠便採取積極收購的辦法,而 VMware 則選擇和 Okta 聯盟合作來補足用戶身分管理的問題(Okta’s user-centric access control layer combined with VMware’s device-centric access control layer)。
話說回來,如果讀者在市面上的報告內容中有提到 Zero Trust 的市場估值,這裡非常建議讀者進一步細看它內部所列舉廠商的產品定位(這問題就跟怎麼估計 Big Data 或人工智慧的市場估值一樣…)。
結語:Zero Trust 完整實現的那一天仍任重而道遠
讀者也可以注意到上述我們提到的任一 Zero Trust 實現方法當中,目前市面上沒有任何一個方案能實現無痛轉移。企業所面臨最昂貴的隱性成本還在於系統整合和遷移上雲。
作為一個 CTO,當自家老闆跑去聽完某家廠商的資安研討會回來興致勃勃地告訴你:「我們要立即把 Zero Trust 用起來!」在花大錢採購之前,可以試著了解以下情況對方廠商有沒有解決方案:老舊的網站或系統該怎麼處理、有沒有辦法適用同樣的 Zero Trust 架構,或是網路儲存裝置 NAS 和 Single Sign-On 的整合(畢竟 NAS 本身的存在就和 Zero Trust 概念是在光譜的兩端),
視目前系統情況,每家企業因此能做選擇的方案也不一。創立之時便通通都採購 SaaS 企業軟體、本身的服務也都掛在雲端的新創公司,要實現 Zero Trust 絕對會比傳統企業要更容易。
最後,在 Zero Trust 架構下,從硬體到軟體可以玩的花樣也越來越多,比如結合 Web 隔離、加密流量檢測和雲端沙盒等技術來加強整體安全性。或透過機器學習的技術隨時進行流量掃描、監測使用者,在觀察到有風險的使用者行為時,即刻採取 MFA 加強驗證,或選擇性隔離部分高風險流量。
Zero Trust 的理念讓內外網的邊界逐漸消除,網路功能和應用程式彼此間可以彈性地組合,在 5G 物聯網時代來臨讓聯網裝置快速成長、疫情期間的在家聯網辦公趨勢、駭客手段越來越高明等時局之下,Zero Trust 的應用絕對大勢所趨。然而對於資金有限的中小型廠商,或是擁有龐大老舊系統、技術債高築的大型企業,如何徹底實現 Zero Trust 也永遠會是一個大哉問。
就讓我們持續關注這一塊的發展吧!