序言
一直以來,公有云安全是橫亙在廣大使用者面前的一道鴻溝。雲安全(Cloud Security)是指用於控制雲端計算的安全性、合規性和其他使用風險的過程、機制和服務。公有云提供商們都強調安全是其最高優先順序工作,動輒就釋出上百頁的雲上安全最佳實踐白皮書,舉辦幾百幾千人安全大會,釋出幾十甚至上百個安全服務。但與此同時,使用者們對雲上安全的擔心一直揮之不去。在福布斯(Forbes)2019年的一份報告中,66%的 IT 從業人員認為安全是他們使用公有云服務最大的擔心。Gartner 預測到2020年,至少50%的企業使用者會在不知情或誤操作地將一 些IAAS 儲存服務、網路、應用或API直接暴露到網際網路上,而到2023年,至少99%的雲上安全問題都是使用者的錯誤引起的。
正文
那到底是什麼造成了這條鴻溝呢?筆者認為原因主要有三:一是使用者不知道自己該為雲中安全承擔什麼責任,二是使用者不知道雲中安全服務的用途和用法,三是使用者不知道要為自己的應用選擇哪些安全服務。只有對症下藥,從明確自己的責任開始,在瞭解雲中的安全服務後,再選擇合適的安全服務,才能跨越鴻溝,開啟雲中安全之旅。
第一步:明晰職責 – 搞清楚你要為雲中安全承擔的責任
要實施成功的雲安全,第一要務是分清雲提供商和作為使用者的你的責任。公有云中的安全性和本地資料中心中的安全性有所不同。在傳統資料中心安全模型中,你要為全部的安全性負責,包括機房、物理網路、物理伺服器、虛擬機器、應用等等。當負載被遷移到了公有云上後,一部分安全責任由公有云提供商承擔了,但企業安全團隊依然需要承擔部分安全責任。此時,安全模型變成了安全責任共擔模型,也就是說你和公有云提供商一起來為你在他們雲中的應用的安全負責。
Amazon Web Service 是全球最大公有云提供商。其安全責任共擔模型(Shared Responsibility Model)明確指出,亞馬遜雲科技負責提供安全的基礎設施和服務,而客戶負責保護作業系統、平臺和資料。
圖1:亞馬遜雲科技安全責任共擔模型(基礎設施服務)
在亞馬遜雲科技安全共擔模型中,亞馬遜雲科技負責保障雲“的”安全性,這是亞馬遜雲科技的第一責任。以可用區(Availability Zone,AZ)為例,這是亞馬遜雲基礎設施的一部分,亞馬遜雲科技負責為數百萬活躍客戶提供安全的可用區。亞馬遜雲的每個可用區由兩個或以上的互相隔離的資料中心構成,資料中心之間有足夠的隔離距離,每個資料中心有獨立的電力供應,資料中心採用冗餘高速網路互連等等。
圖2:亞馬遜雲科技可用區設計
亞馬遜雲科技有一整套安全制度來保障每個資料中心的安全平穩執行。比如每個資料中心內部都採用影片監控,結合亞馬遜雲科技的 Kinesis Video Stream、S3 以及人工智慧等服務,來對影片做實時傳輸、儲存和分析,實時發現可能存在的問題。
圖3:亞馬遜雲科技對其機房實時影片監控
而你,作為亞馬遜雲的一使用者,則需為雲“中”的安全性負責,這包括以下五個部分:
身份和訪問控制:負責雲中的身份和訪問管理,包括身份認證和授權機制、單點登入(SSO)、多因子認證(MFA)、訪問金鑰、證照、密碼等。
基礎設施保護:負責對網路、虛擬機器例項和容器例項等基礎設施進行安全保護。在網路方面,比如使用 VPC 來建立一個私有的、安全的和可擴充套件的網路環境,建立網路分層,在每一層上進行安全控制,自動地進行網路檢測和防護,開啟網路訪問日誌等;在主機方面,比如使用主機安全工具來掃描虛擬機器和應用的安全狀態,使用程式碼掃描工具來發現程式碼中的安全漏洞,對作業系統進行自動補丁升級和加固,使用安全通道訪問虛擬機器,使用安全的配置工具對虛擬機器進行配置等。
資料保護:負責你資料的安全,包括資料分類、加密、訪問控制等,因為資料是雲使用者的資產,雲供應商對其沒有訪問許可權。
安全檢測:負責採用各種安全服務和工具,不管是雲供應商提供的還是第三方的抑或是自己開發的,檢測潛在的安全風險和安全問題。
事件響應:負責在出現安全問題後做出響應,消除安全風險,恢復資料和業務。
第二步:瞭解工具 – 搞清楚雲服務商提供了哪些安全服務
亞馬遜雲科技首席資訊保安官史蒂芬·施密特曾經說過:“客戶常常跟我們說,幫他們保持安全最好的方式,就是交給他們更智慧的工具,讓他們可以更容易地搞定安全。”為了幫助使用者實現上述五大安全責任,到目前為止,亞馬遜雲科技提供超過200種身份認證、安全及合規服務。下表中列出了亞馬遜雲科技主要安全服務。
表1:亞馬遜雲科技主要安全服務
亞馬遜雲科技所有這些安全服務,構成了一個多層次的完整保護機制,為你在亞馬遜雲中的應用保駕護航。
圖4:亞馬遜雲科技分層安全保護機制
除了安全服務外,亞馬遜雲科技還在 Amazon Architecture Center(亞馬遜雲科技架構中心)網站上提供了最佳參考架構方案、工具、培訓和實驗,涵蓋敏捷性、安全性、可靠性、高效能和成本等多個方面。而且,在 Amazon Marketplace 中,還有幾百家安全合作伙伴,在應用安全、資料保護、合規、主機安全、身份和訪問控制、日誌和威脅檢測等提供眾多工具和方案。
瞭解每種安全服務的用途、使用場景、工作流程乃至計費方式等非常重要。下面就深入介紹下 Security Hub和GuardDuty 這兩種安全服務。
(一)Amazon GuardDuty 服務
在亞馬遜雲科技環境中,對網路活動和賬戶行為進行持續監控非常重要。啟用 CloudTrail後,亞馬遜雲科技賬戶內幾乎所有 API 呼叫活動都會記錄下來,但從海量日誌中發現可疑活動會非常困難。VPC 流日誌服務負責記錄的 VPC 內的網路活動也是如此。為了解決這些困難,亞馬遜雲科技釋出了 Amazon GuardDuty 服務,它透過分析多個日誌資料來源(包括VPC流日誌、Amazon CloudTrail 事件日誌和 DNS 查詢日誌),持續監測亞馬遜雲科技賬號、VPC 網路和負載的執行情況,使用威脅情報源和機器學習來標識亞馬遜雲科技環境中可疑的和未經授權的惡意活動,而且還可利用 Amazon CloudWatch 事件和 Amazon Lambda 來執行自動化的通知和修復操作。
圖5:Amazon GuardDuty 產品架構
Amazon GuardDuty 會使用由亞馬遜雲科技安全團隊負責維護和不斷改進的演算法來進行日誌檢測。主要檢測類別包括非法探測、例項盜用和賬號盜用等,而且還在持續增加中。
圖6:不斷增加中的 GuardDuty 能發現的安全風險型別數
然後,它將分析結果按照三個級別 (低、中和高) 之一呈現出來,並附有詳細的證據和修復建議。
圖7:Amazon GuardDuty 截圖
這些結果可作為事件輸入到 Amazon CloudWatch 之中,再使用 Amazon Lambda 函式來自動通知甚至修復特定型別的問題。在下圖所示的例子中,GuardDuty收集日誌裡的資料進行分析並將結果存放在 S3 中,同時透過 CloudWatch Events 採集特定的安全事件或風險等級事件。對於中等風險,透過 Amazon SNS 服務郵件通知管理員,對於高風險則透過 Amazon Connect 結合 Amazon Lambda 電話通知管理員。
圖8:基於 Amazon GuardDuty 威脅級別的自動化通知
(二)Amazon Security Hub
實現雲上安全的一大挑戰是可視性(Visibility)。你可能會用到多種安全工具,每種工具都會提供安全保護併產生大量資料,這使得你得每天在這些工具之間來回切換,處理數百甚至數千個安全警報。
為了解決此問題,亞馬遜雲科技釋出了 Security Hub 服務,它可讓你在一個視覺化平臺上就能檢視亞馬遜雲科技賬戶中的所有安全警報與合規性狀態。它對來自多個亞馬遜雲科技服務(如 Amazon GuardDuty、Amazon Inspector 和 Amazon Macie),以及亞馬遜雲科技合作伙伴(比如 Splunk, Qualys, Crowdstrike, Alert Logic 等)的解決方案的安全警報或檢測結果進行聚合、組織和設定優先順序,然後在具有可操作圖形和表格的整合控制皮膚上對所有檢測結果進行直觀彙總。
圖9:Amazon Security Hub 產品架構
GuardDuty 從 VPC 流日誌、Amazon CloudTrail 事件日誌和 DNS 日誌中發現亞馬遜雲科技賬戶、VPC 網路和負載中的安全問題,Macie 則利用人工智慧演算法從被監控的S3儲存桶中發現安全問題,Inspector 從 EC2 例項中發現作業系統和應用的安全問題。所有安全問題都彙總到 Security Hub 後,它處理資料並進行關聯性分析,以確定最終檢測結果的優先順序,然後在整合的控制皮膚上將所有安全檢測結果彙總起來,展示出當前的安全性與合規性狀態。
圖10:Amazon Security Hub 產品介面截圖
類似 GuardDuty,Security Hub 也支援透過 CloudWatch Events 與 Lambda 以及 Step Functions 整合。首先你在 Security Hub 配置資料來源以及響應方式,然後安全檢測結果條目會被以事件(Event)形式傳送到 CloudWatch 中,CloudWatch 中的規則(Rule)被觸發,然後事件資訊會被推送到各種通知和事件管理或處理系統中。
圖11:Amazon Security Hub 自動響應示例
第三步:合理選擇 – 搞清楚要選擇哪些安全服務為你所用
要搞清楚需為你在亞馬遜雲科技上的應用選擇哪些安全服務,還是得從你所選擇的雲功能服務入手。下圖顯示了針對一個典型三層 Web 應用部署架構所選擇的主要安全服務。
圖12:一典型 Web 應用部署架構中用到的安全服務
- 預設啟用 Amazon IAM、CloudTrail、Config、VPC Flow Logs、VPC DNS Logs 等服務或功能。IAM 負責建立子賬戶以及分配對賬戶和資源的訪問許可權;CloudTrail 會記錄你亞馬遜雲科技賬號內幾乎所有 API 呼叫;Config 會記錄你賬戶內所有的配置變化;VPC Flow Logs 則會記錄 VPC 內的所有網路流日誌;VPC DNS Logs 會記錄 VPC 內所有 DNS 查詢日誌。所有這些日誌都是進行後續安全檢測的主要資料來源。
- Amazon EC2 是一基礎設施類服務,提供虛擬機器服務。你需將 EC2 例項建立在 VPC 中以實現網路隔離,利用安全組控制網路訪問,使用 IAM 控制使用者、應用或服務對它的訪問許可權,使用 SSH 或 Amazon Systems Manager Session Manager 安全地遠端訪問它,使用 Amazon Systems Manager Run Command 對 EC2 例項進行配置,使用 Amazon Inspector 對EC2例項和應用進行安全檢查,手工或使用 Amazon Systems Manager Patch Manager 自動地進行補丁升級和更新,使用EBS雲盤加密功能來保護其靜態資料安全等,使用 Amazon EC2 Auto Scaling 來提升其高可用性等。
- Amazon S3是一託管類服務,提供物件儲存服務。亞馬遜雲科技負責保證其11個9的資料可靠性和4個9的服務可用性,以及作業系統及軟體補丁升級、防火牆配置及災難恢復等。你可使用 SSL/TLS 訪問它,採用客戶端資料加密,啟用伺服器端資料加密,按需配置訪問許可權,啟用 MFA Delete 功能以防止儲存桶誤刪,開啟訪問日誌和監控,啟用物件版本,對特定物件加鎖以防止物件誤刪,使用 CCR(跨區域訪問)來滿足某些合規要求;還可啟用 Amazon Macie 服務,它會使用人工智慧演算法對 S3 儲存桶中的資料進行分析,發現潛在的安全風險,保護敏感資料。
- Amazon RDS 是一託管類服務,提供關聯式資料庫服務。它向使用者提供多個安全功能,包括支援在 VPC 中建立例項、DB 安全組、許可權控制、SSL 連線、例項和快照加密、自動備份和快照、多可用區部署、作業系統和資料庫軟體自動補丁升級、日誌、監控及事件通知等,可根據需要使用這些功能。
- Amazon ElastiCache 是一託管服務,提供記憶體型快取服務。它也提供了一系列安全功能,包括支援在VPC中建立例項、支援透過 Cache 安全組控制網路訪問許可權、IAM 策略、SSL 連線、資料加密、多可用區部署、作業系統和軟體自動補丁升級、故障探測和恢復、支援多例項、備份和恢復、自動快照、日誌、監控及事件通知等。
- Amazon Elastic Load Balancing是一基礎設施型別服務,負責接收客戶端請求並將其分發給後端 EC2 例項。它需被建立在VPC中,建議將其分佈在多個可用區中以保障可靠性,使用安全(HTTPS/TLS)監聽器以保障客戶端和其之間的通訊安全,配置安全組以只接收特定客戶端的請求,使用 Amazon Certificate Manager 來管理其伺服器證照,選擇合適的負載均衡器安全策略和監聽器安全策略等。
- 在網路邊界,Amazon Shield 基礎版或高階版可以為 ELB、CloudFront 釋出、Route 53 託管區域等提供基礎性和高階 DDoS 防護;啟用 Amazon WAF,用於監控和控制對 Web 應用的非法訪問;需要的話還可以啟用 Amazon Firewall Manager 服務,用於跨賬戶統一管理Amazon WAF 訪問規則、Amazon Shield Advanced 防護規則和 VPC 安全組等安全規則。
- 啟用 GuardDuty,將資料來源配置為 Macie、VPC Flow Logs 和 DNS Logs,它會負責對 VPC 內的網路活動和賬戶行為進行持續監控;再啟用 Security Hub 來作為你的亞馬遜雲上統一安全與合規中心,將其資料來源配置為 GuardDuty、Macie 和 Inspector,它會讓你在一個控制皮膚上就能檢視你亞馬遜雲科技賬戶中的所有安全警報與合規性狀態。
- 還可以啟用 Trusted Advisor 服務,它可根據亞馬遜雲科技部署架構最佳實踐,分析你的應用部署架構,從成本、效能、安全、容錯、容量等方面給出評估結果和改進建議,指導你進一步完善這個部署架構。
小結
需要指出的是,完整的雲上安全管理流程包括識別(Identity)、保護(Protect)、檢測(Detect)、響應(Respond)、恢復(Recover)等五大環節。因此,文中介紹的這三步 - 明晰責任、瞭解工具、合理選擇,只是雲上安全旅程的前幾步而已,但走好這幾步,你就能順利開啟你的雲上安全之旅了。
圖13:亞馬遜雲科技完整安全管理流程
現在就出發,開啟你的雲上安全之旅吧!
本篇作者
劉世民
雲端計算技術專家,曾就職於華為、IBM、海航等公司,專注於雲端計算。曾在海航集團易航科技擔任雲服務事業群總經理一職,負責 IDC、雲平臺、系統運維、資訊保安以及使用者服務等業務。維護有“世民談雲端計算”技術部落格和微信公眾號。《OpenShift雲原生架構原理與實踐》作者之一、《Ceph Cookbook中文版》《精通OpenStack》、《機器學習即服務:將Python機器學習創意快速轉變為雲端Web應用程式》譯者之一。