完善的 Azure 容器防護包括:涵蓋容器完整生命週期的漏洞掃描、僅使用私有登錄內可信賴的映像、限制容器的權限與使用者存取,以及持續掃描與監控所有活動。
Azure 容器防護
Microsoft Azure 是成長最快速、也是當今市場第二大的雲端應用程式平台。財星 500 大 (Fortune 500) 企業有 95% 使用 Microsoft Azure,這是一個能讓開發人員在任何地點自由建構、管理與部署應用程式的雲端平台,提供非常多樣化的服務,包括:虛擬機器、物聯網與容器。
Microsoft Azure 容器 能為開發人員及企業提供他們所期待的雲端服務靈活性與擴充性,以及開發和營運所需要的高效基礎架構。然而,儘管在 Azure 上建構容器擁有諸多優點,但 Azure 卻無法提供原生整合的資安防護,客戶必須自行確保其 Azure 容器的安全。
需要考量的層面
以下是保護 Azure 容器安全所需考量的一些層面:
容器映像
如同任何容器一樣,保護 Azure 容器映像是您最重要的資安步驟之一。容器是以儲存庫 (repository) 內的映像為基礎所建立,每一個映像當中都有好幾層軟體,而這些軟體各有自己的漏洞,而且也很可能遭到駭客入侵。僅容許經過核准的容器映像進入您的開發環境,您就能大幅縮小網路犯罪集團的攻擊面。最重要的是要有一套明確的流程與工具來監控及防止不小心用到未經核准的容器映像。
另一個管制容器進入開發環境的作法就是容器映像簽章或指紋。這樣的做法可以提供一個監管機制來檢驗容器與容器映像的一致性。在將任何容器映像推送至登錄之前,很重要的工作就是要對容器執行漏洞掃描,在容器開發完成之後進行最後一道確認。
登入憑證
採用最低授權原則,是 Azure 容器最基本的資安最佳實務原則。當有漏洞遭到攻擊時,不論是經由容器映像或系統核心,都能讓駭客存取、甚至取得權限來進入多個叢集和區域。確保容器以最低權限執行,並且僅擁有完成工作所需的存取權限,有助於降低您的曝險。
將任何不必要的權限移除,萬一員工轉換職務或離開公司,您就能減低容器受到攻擊的機會。此外,您也可以移除容器執行環境任何不必要或沒用到的權限或處理程序來縮小潛在的受攻擊面。
容器登錄
Azure 容器是從儲存在公有登錄或私有登錄中的映像所建立出來。雖然從公有登錄取得映像或許比較容易,但卻無法保證安全。如前所述,容器映像中包含了好多層軟體,每一層都有可能存在著漏洞。
而公有登錄上的映像,又比私有登錄上的映像更容易含有惡意軟體。私有登錄上的映像,比較可能已通過安全掃描,因此風險較低。私有登錄通常會受到妥善管理,並且採取角色導向的存取控管,在治理和資安上都做得更好。私有容器映像登錄的一些範例包括:Azure Container Registry、Docker Trusted Registry 或是雲端原生運算基金會 (Cloud Native Computing Foundation) 的開放原始碼專案 Harbor。
系統核心
所有電腦都是層層的硬體所堆疊而成,而所謂的「系統核心」就是作業系統最內層的軟體,負責擔任硬體與作業系統其他部分之間的溝通橋樑。有別於虛擬機器,容器內的各項服務,其網路流量是開放的,同時也共享同一個系統核心。共享主機作業系統核心是容器最大的優點之一,但卻也是很大的資安問題的來源。
在執行時期,系統核心與容器之間並無妥善的隔離,這表示,作業系統核心的漏洞同樣可被用來攻擊容器,或取得容器的存取權限。駭客只需修改記憶體內的系統核心資料,無需注入任何惡意程式碼,就能篡改作業系統的執行時期行為。
保護 Azure 容器
Microsoft Azure 的優勢在於可攜性、擴充性與可靠性,難怪絕大多數企業都採用 Microsoft Azure 容器來執行應用程式。只要確保在容器的整個生命週期都徹底執行漏洞掃描,並且所有活動都受到監控並寫入記錄檔,您就能放心您的 Azure 容器安全無虞。