近年來Kubernetes快速成為Docker容器技術的編排工具後,相關的應用機制也開始受到關注,除了網路層的實作改採軟體定義,以便於容器環境彼此之間的連通與資料交換,亦須具備負載平衡、安全保護措施。
Radware的作法是整合開源的Envoy快取(Proxy)伺服器,運用Plug-in方式建立接口,把流量完整複製到外部Radware負責安全監控的實例(Instance),再運用應用程式防火牆(WAF)功能檢查用戶端與應用服務溝通資訊,包含容器彼此之間的通訊,並且予以關聯性分析,或者是遞送到Radware Cloud Workload Protection服務平台,基於威脅情資執行機器學習演算分析大數據,偵測授權存取狀態、高風險活動,以降低資安風險。
Radware亞太區雲端架構師詹凱富引述Forbes於2018年發布的研究報告指出,預估2020年時,全球企業Workload有83%運行在公有雲平台,安全性勢必將成為企業最大的難題。畢竟公有雲業者已經明文說明會保障IaaS可靠度,但是不負責Layer 4以上的安全問題,必須由企業用戶自行維運。
以吞吐量計價降低成本支出
企業現階段的私有雲可能是採用VMware、OpenStack等平台建置,外部公有雲則為AWS、Azure、Google等,不同供應商皆有自家專屬的技術,既有的應用交付控制(ADC)技術較偏重在解決異質平台的問題。
詹凱富觀察,事實上,DevOps團隊採用的技術大多是開源工具,基於軟體定義網路技術,讓私有雲的環境打通接取到公有雲,因此在Google釋出Kubernetes之後,AWS、Azure也相繼增添容器環境運行服務,讓DevOps得以把地端開發的新型態應用服務無痛地轉移到AWS、Azure、Google等公有雲平台。
內部自建私有雲的企業可能導入Radware解決方案,建立伺服器負載平衡、GSLB、WAF等已經相當成熟的技術,但是當應用系統建置在公有雲環境時,無法如同實體資料中心建置多層防禦,又希望把地端的控管措施移植到公有雲環境,因此ADC方案業者幾乎皆已在不同公有雲平台的商城中提供訂閱方法取得服務,來啟用虛擬設備(Virtual Appliance)。
欲建立一致性的組態配置,通常會透過統一控管介面來實作,並且建立自動化機制,例如DevOps團隊發布新服務時可自動在公有雲平台上線,現階段的ADC平台即可做到。為了協助企業實現彈性化調配資源,確保服務運行不中斷以外,同時顧及投資成本,因此各家供應商都有提出授權資源池的選用方式,以確保應用服務在快速部署、彈性擴充的過程中,資源可達到更效率地運用。「企業對於授權數量的概念,主要來自Windows作業系統的教育。當虛擬化普及之後,ADC解決方案就如同作業系統,建置好之後仍必須取得授權碼才可啟用。」詹凱富說。
授權池的設計模式,主要是按照吞吐量計價,不限制啟用部署的虛擬主機,相當適合現代分散式應用架構,例如資料中心部署負載平衡,初期建置就得評估未來三年的成長量,選用合適的設備機種,以免屆時不敷使用。若改以授權池模式,則可依照需求量來配置。另一方面,假設IT環境都已經虛擬化,透過授權池的方式,所有虛擬主機皆可共用,Radware稱之為全域彈性許可證(GEL),藉此降低成本支出。
基於開源Envoy工具建立安全機制
若為原生雲端所開發的應用服務,儘管可採用普及率相當高的Kubernetes叢集建置容器環境,本身也有開源工具可搭配增添東西向的負載平衡,例如Ingress、HA Proxy、NGINX、Envoy等,讓發展已相當成熟的ADC技術看似無可發揮之處。
但是詹凱富觀察,實際上現有開源工具的功能性並無法滿足企業應用所需。單純就負載平衡機制來看,畢竟叢集是架構在實體伺服器系統之上,當終端用戶發起存取需求時,叢集中的節點也必須具備東西向的負載平衡。也就是說,容器環境因應用戶端連線瞬間大量湧入時自動啟用多個單位時,不僅要有能力同步掌握,並且連動Kubernetes控管機制,在叢集中新增節點的同時,把新增的IP位址匯入負載平衡的資源池。
從技術面來看,上述提及的開源工具主要是在節點的最底層執行轉發,較偏重於Layer 4或Layer 7建立Proxy來執行,既有的ADC廠商發展方向大多是整合既有的工具提供更多加值,以Radware而言選用的正是Envoy,除了基本的負載平衡功能,亦可藉由WAF保障應用存取、程式運行效能解析,甚至是建立連動安全檢測機制。
詹凱富進一步說明,ADC本就具備WAF、緩解DDoS攻擊相關技術,但是部署位置已經相當接近應用服務,當使用者發起連線請求的流量到達南北向的負載平衡之前,必須先經過路由器、網路防火牆等節點,惡意攻擊的流量同樣也先行通過多層節點的偵測。Radware設計的安全機制是Defense Messaging,把負載平衡偵查到的問題點,例如IP位址、Http表頭欄位等資訊,拋送給最靠近使用者的資安設備檢查,透過DDoS緩解方案Radware DefensePro執行攔阻。
雲端運行機器學習演算檢查惡意行徑
由於Radware已透過Plug-in方式整合Envoy,部署位置本身可掌握所有進出流量,藉此亦可取得所有的日誌與應用存取的流量資訊。實作方式是透過流量複製方式解析封包,不至於造成傳輸瓶頸,若偵測發現問題才會觸發阻斷指令,這正是Radware較獨特之處,以非侵入性的方式解析傳輸流量來建立安全防護。
應用服務通常會啟用許多容器整合運行,每個容器可能會有各自的問題,假設問題來自於配置給容器的權限不足或過多,儘管資安的主張是以最小權限配置為主,但是DevOps團隊卻在欠缺警覺心之下,授權往往過多或是給予預設權限。例如應用服務架構於AWS、Azure等公有雲平台,預設開啟Port 22,透過SSH執行連接,有時DevOps團隊可能會為了方便測試解除連接埠限制,必須得有能力確保多達上千個,甚至更多容器運行的環境權限配置皆不致過大,以免遭利用來執行滲透。
透過Plug-in方式整合Envoy機制,亦可把訊息資料遞送到Cloud Workload Protection雲端服務,基於機器學習演算分析大數據,檢查行為模式的安全性。此機制類似IT人員所熟知的日誌分析,藉此掌握東西向的資料,進而搭配既有的應用程式防火牆執行阻斷行動降低資安風險。
【專題報導】:助攻轉型多雲 ADC變身出擊