序言
一直以來,公有云安全是橫亙在廣大用戶面前的一道鴻溝,云安全(Cloud Security)是指用于控制云計算的安全性、合規性和其他使用風險的程序、機制和服務,公有云提供商們都強調安全是其最高優先級作業,動輒就發布上百頁的云上安全最佳實踐白皮書,舉辦幾百幾千人安全大會,發布幾十甚至上百個安全服務,但與此同時,用戶們對云上安全的擔心一直揮之不去,在福布斯(Forbes)2019年的一份報告中,66%的IT從業人員認為安全是他們使用公有云服務最大的擔心,Gartner預測到2020年,至少50%的企業用戶會在不知情或誤操作地將一些IAAS存盤服務、網路、應用或API直接暴露到互聯網上,而到2023年,至少99%的云上安全問題都是用戶的錯誤引起的,
正文
那到底是什么造成了這條鴻溝呢?筆者認為原因主要有三:一是用戶不知道自己該為云中安全承擔什么責任,二是用戶不知道云中安全服務的用途和用法,三是用戶不知道要為自己的應用選擇哪些安全服務,只有對癥下藥,從明確自己的責任開始,在了解云中的安全服務后,再選擇合適的安全服務,才能跨越鴻溝,開啟云中安全之旅,
第一步:明晰職責 – 搞清楚你要為云中安全承擔的責任
要實施成功的云安全,第一要務是分清云提供商和作為用戶的你的責任,公有云中的安全性和本地資料中心中的安全性有所不同,在傳統資料中心安全模型中,你要為全部的安全性負責,包括機房、物理網路、物理服務器、虛擬機、應用等等,當負載被遷移到了公有云上后,一部分安全責任由公有云提供商承擔了,但企業安全團隊依然需要承擔部分安全責任,此時,安全模型變成了安全責任共擔模型,也就是說你和公有云提供商一起來為你在他們云中的應用的安全負責,
Amazon Web Service(AWS)是全球最大公有云提供商,其安全責任共擔模型(Shared Responsibility Model)明確指出,AWS負責提供安全的基礎設施和服務,而客戶負責保護作業系統、平臺和資料,

圖1:AWS安全責任共擔模型(基礎設施服務)
在AWS安全共擔模型中,AWS負責保障云“的”安全性,這是AWS的第一責任,以可用區(Availability Zone,AZ)為例,這是AWS云基礎設施的一部分,AWS負責為數百萬活躍客戶提供安全的可用區,AWS云的每個可用區由兩個或以上的互相隔離的資料中心構成,資料中心之間有足夠的隔離距離,每個資料中心有獨立的電力供應,資料中心采用冗余高速網路互連等等,

圖2:AWS可用區設計
AWS有一整套安全制度來保障每個資料中心的安全平穩運行,比如每個資料中心內部都采用視頻監控,結合AWS的Kinesis Video Stream、S3以及人工智能等服務,來對視頻做實時傳輸、存盤和分析,實時發現可能存在的問題,

圖3:AWS對其機房實時視頻監控
而你,作為AWS 云的一用戶,則需為云“中”的安全性負責,這包括以下五個部分:
-
身份和訪問控制:負責云中的身份和訪問管理,包括身份認證和授權機制、單點登錄(SSO)、多因子認證(MFA)、訪問密鑰、證書、密碼等,
-
基礎設施保護:負責對網路、虛擬機實體和容器實體等基礎設施進行安全保護,在網路方面,比如使用VPC來創建一個私有的、安全的和可擴展的網路環境,創建網路分層,在每一層上進行安全控制,自動地進行網路檢測和防護,開啟網路訪問日志等;在主機方面,比如使用主機安全工具來掃描虛擬機和應用的安全狀態,使用代碼掃描工具來發現代碼中的安全漏洞,對作業系統進行自動補丁升級和加固,使用安全通道訪問虛擬機,使用安全的配置工具對虛擬機進行配置等,
-
資料保護:負責你資料的安全,包括資料分類、加密、訪問控制等,因為資料是云用戶的資產,云供應商對其沒有訪問權限,
-
安全檢測:負責采用各種安全服務和工具,不管是云供應商提供的還是第三方的抑或是自己開發的,檢測潛在的安全風險和安全問題,
-
事件回應:負責在出現安全問題后做出回應,消除安全風險,恢復資料和業務,
第二步:了解工具 – 搞清楚云服務商提供了哪些安全服務
AWS首席資訊安全官史蒂芬·施密特曾經說過:“客戶常常跟我們說,幫他們保持安全最好的方式,就是交給他們更智能的工具,讓他們可以更容易地搞定安全,”為了幫助用戶實作上述五大安全責任,到目前為止,AWS提供超過200種身份認證、安全及合規服務,下表中列出了AWS主要安全服務,
|
類別 |
描述 |
場景 |
安全服務 |
|
身份和訪問管理 |
針對不同AWS服務、操作和資源來定義、執行和審核用戶權限 |
安全地控制對AWS服務和資源的訪問 |
AWS Identity & Access Management (IAM) |
|
云單點登錄服務 |
AWS Single Sign-On |
||
|
App身份管理 |
Amazon Cognito |
||
|
托管的Microsoft Active Directory服務 |
AWS Directory Service |
||
|
用于共享AWS資源的簡單而安全的服務 |
AWS Resource Access Manager |
||
|
基礎策略管理多個AWS賬戶 |
AWS Organizations |
||
|
輪換、管理以及檢索資料庫憑證、API密鑰和其它密鑰 |
AWS Secrets Manager |
||
|
檢測性控制 |
在問題影響業務之前識別和應用問題、改進安全狀況并降低環境中的風險 |
統一安全與合規中心 |
AWS Security Hub |
|
智能威脅檢測和持續監控 |
Amazon GuardDuty |
||
|
分析應用程式安全性 |
Amazon Inspector |
||
|
記錄和評估AWS資源的配置 |
AWS Config |
||
|
跟蹤用戶活動和API使用情況 |
AWS CloudTrail |
||
|
物聯網設備的安全管理服務 |
AWS IoT Device Defender |
||
|
利用機器學習自動發現、分類和保護敏感資料 |
Amazon Macie
|
||
|
生成進出VPC的IP流量的日志資訊 |
VPC Flow Logs |
||
|
基礎設施保護 |
管理和提高基礎設施的整體安全性 |
分布式拒絕服務攻擊防護 |
AWS Shield |
|
過濾惡意網路流量 |
AWS Web Application Firewall (WAF) |
||
|
跨賬號管理AWS WAF規則 |
AWS Firewall Manager |
||
|
安全地配置和管理EC2 |
AWS Systems Manager |
||
|
資料保護 |
通過資料的自動加密和管理服務,增強資料安全性 |
創建用于資料加密的加密密鑰 |
AWS Key Management Service (KMS) |
|
AWS云中托管的硬體安全模塊 |
AWS CloudHSM |
||
|
創建、管理和部署公共和私有的SSL/TLS證書 |
AWS Certificate Manager |
||
|
回滾、管理以及回收密鑰 |
AWS Secrets Manager |
||
|
通過多種密鑰對S3中的資料進行服務器端加密 |
AWS S3 Server-side Encryption |
||
|
事件回應 |
幫助快速回應時間并回傳到已知的良好狀態 |
調查潛在安全問題 |
Amazon Detective |
|
快速、自動、經濟高效地災難恢復 |
CloudEndure Disaster Recovery |
表1:AWS主要安全服務
AWS所有這些安全服務,構成了一個多層次的完整保護機制,為你在AWS云中的應用保駕護航,

圖4:AWS分層安全保護機制
除了安全服務外,AWS還在AWS Architecture Center(AWS架構中心)網站上提供了最佳參考架構方案、工具、培訓和實驗,涵蓋敏捷性、安全性、可靠性、高性能和成本等多個方面,而且,在AWS Marketplace中,還有幾百家安全合作伙伴,在應用安全、資料保護、合規、主機安全、身份和訪問控制、日志和威脅檢測等提供眾多工具和方案,
了解每種安全服務的用途、使用場景、作業流程乃至計費方式等非常重要,下面就深入介紹下Security Hub和GuardDuty這兩種安全服務,
(一)Amazon GuardDuty 服務
在AWS環境中,對網路活動和賬戶行為進行持續監控非常重要,啟用CloudTrail后,AWS賬戶內幾乎所有API呼叫活動都會記錄下來,但從海量日志中發現可疑活動會非常困難,VPC流日志服務負責記錄的VPC內的網路活動也是如此,為了解決這些困難,AWS發布了Amazon GuardDuty服務,它通過分析多個日志資料源(包括VPC流日志、AWS CloudTrail事件日志和DNS查詢日志),持續監測AWS賬號、VPC網路和負載的運行情況,使用威脅情報源和機器學習來標識AWS 環境中可疑的和未經授權的惡意活動,而且還可利用Amazon CloudWatch事件和AWS Lambda來執行自動化的通知和修復操作,

圖5:Amazon GuardDuty產品架構
Amazon GuardDuty會使用由AWS安全團隊負責維護和不斷改進的演算法來進行日志檢測,主要檢測類別包括非法探測、實體盜用和賬號盜用等,而且還在持續增加中,

圖6:不斷增加中的GuardDuty能發現的安全風險型別數
然后,它將分析結果按照三個級別 (低、中和高) 之一呈現出來,并附有詳細的證據和修復建議,

圖7:Amazon GuardDuty截圖
這些結果可作為事件輸入到 Amazon CloudWatch之中,再使用AWS Lambda 函式來自動通知甚至修復特定型別的問題,在下圖所示的例子中,GuardDuty收集日志里的資料進行分析并將結果存放在S3中,同時通過CloudWatch Events采集特定的安全事件或風險等級事件,對于中等風險,通過AWS SNS服務郵件通知管理員,對于高風險則通過AWS Connect結合AWS Lambda電話通知管理員,

圖8:基于 Amazon GuardDuty 威脅級別的自動化通知
(二)AWS Security Hub
實作云上安全的一大挑戰是可視性(Visibility),你可能會用到多種安全工具,每種工具都會提供安全保護并產生大量資料,這使得你得每天在這些工具之間來回切換,處理數百甚至數千個安全警報,
為了解決此問題,AWS發布了Security Hub服務,它可讓你在一個可視化平臺上就能查看AWS賬戶中的所有安全警報與合規性狀態,它對來自多個AWS服務(如Amazon GuardDuty、Amazon Inspector 和 Amazon Macie),以及AWS合作伙伴(比如Splunk, Qualys, Crowdstrike, Alert Logic等)的解決方案的安全警報或檢測結果進行聚合、組織和設定優先級,然后在具有可操作圖形和表格的集成控制面板上對所有檢測結果進行直觀匯總,

圖9:AWS Security Hub產品架構
GuardDuty從VPC流日志、AWS CloudTrail事件日志和DNS日志中發現AWS賬戶、VPC網路和負載中的安全問題,Macie則利用人工智能演算法從被監控的S3存盤桶中發現安全問題,Inspector從EC2實體中發現作業系統和應用的安全問題,所有安全問題都匯總到Security Hub后,它處理資料并進行關聯性分析,以確定最終檢測結果的優先級,然后在集成的控制面板上將所有安全檢測結果匯總起來,展示出當前的安全性與合規性狀態,

圖10:AWS Security Hub產品界面截圖
類似GuardDuty,Security Hub也支持通過CloudWatch Events與Lambda以及Step Functions集成,首先你在Security Hub配置資料來源以及回應方式,然后安全檢測結果條目會被以事件(Event)形式發送到CloudWatch中,CloudWatch中的規則(Rule)被觸發,然后事件資訊會被推送到各種通知和事件管理或處理系統中,

圖11:AWS Security Hub自動回應示例
第三步:合理選擇 – 搞清楚要選擇哪些安全服務為你所用
要搞清楚需為你在AWS上的應用選擇哪些安全服務,還是得從你所選擇的云功能服務入手,下圖顯示了針對一個典型三層Web應用部署架構所選擇的主要安全服務,

圖12:一典型Web應用部署架構中用到的安全服務
-
默認啟用AWS IAM、CloudTrail、Config、VPC Flow Logs、VPC DNS Logs 等服務或功能,IAM負責創建子賬戶以及分配對賬戶和資源的訪問權限;CloudTrail會記錄你AWS賬號內幾乎所有API呼叫;Config會記錄你賬戶內所有的配置變化;VPC Flow Logs則會記錄VPC內的所有網路流日志;VPC DNS Logs會記錄VPC內所有DNS查詢日志,所有這些日志都是進行后續安全檢測的主要資料來源,
-
Amazon EC2是一基礎設施類服務,提供虛擬機服務,你需將EC2實體創建在VPC中以實作網路隔離,利用安全組控制網路訪問,使用IAM控制用戶、應用或服務對它的訪問權限,使用SSH或AWS Systems Manager Session Manager安全地遠程訪問它,使用AWS Systems Manager Run Command對EC2實體進行配置,使用AWS Inspector對EC2實體和應用進行安全檢查,手工或使用AWS Systems Manager Patch Manager自動地進行補丁升級和更新,使用EBS云盤加密功能來保護其靜態資料安全等,使用Amazon EC2 Auto Scaling 來提升其高可用性等,
-
Amazon S3是一托管類服務,提供物件存盤服務,AWS負責保證其11個9的資料可靠性和4個9的服務可用性,以及作業系統及軟體補丁升級、防火墻配置及災難恢復等,你可使用SSL/TLS訪問它,采用客戶端資料加密,啟用服務器端資料加密,按需配置訪問權限,啟用MFA Delete功能以防止存盤桶誤刪,開啟訪問日志和監控,啟用物件版本,對特定物件加鎖以防止物件誤刪,使用CCR(跨區域訪問)來滿足某些合規要求;還可啟用AWS Macie服務,它會使用人工智能演算法對S3存盤桶中的資料進行分析,發現潛在的安全風險,保護敏感資料,
-
Amazon RDS是一托管類服務,提供關系資料庫服務,它向用戶提供多個安全功能,包括支持在VPC中創建實體、DB安全組、權限控制、SSL連接、實體和快照加密、自動備份和快照、多可用區部署、作業系統和資料庫軟體自動補丁升級、日志、監控及事件通知等,可根據需要使用這些功能,
-
Amazon ElastiCache是一托管服務,提供記憶體型快取服務,它也提供了一系列安全功能,包括支持在VPC中創建實體、支持通過Cache安全組控制網路訪問權限、IAM策略、SSL連接、資料加密、多可用區部署、作業系統和軟體自動補丁升級、故障探測和恢復、支持多實體、備份和恢復、自動快照、日志、監控及事件通知等,
-
AWS Elastic Load Balancing是一基礎設施型別服務,負責接收客戶端請求并將其分發給后端EC2實體,它需被創建在VPC中,建議將其分布在多個可用區中以保障可靠性,使用安全(HTTPS/TLS)監聽器以保障客戶端和其之間的通信安全,配置安全組以只接收特定客戶端的請求,使用AWS Certificate Manager來管理其服務器證書,選擇合適的負載均衡器安全策略和監聽器安全策略等,
-
在網路邊界,AWS Shield基礎版或高級版可以為ELB、CloudFront發布、Route 53托管區域等提供基礎性和高級DDoS防護;啟用AWS WAF,用于監控和控制對Web應用的非法訪問;需要的話還可以啟用AWS Firewall Manager服務,用于跨賬戶統一管理AWS WAF訪問規則、AWS Shield Advanced防護規則和VPC安全組等安全規則,
-
啟用GuardDuty,將資料源配置為Macie、VPC Flow Logs和DNS Logs,它會負責對VPC內的網路活動和賬戶行為進行持續監控;再啟用Security Hub來作為你的AWS云上統一安全與合規中心,將其資料源配置為GuardDuty、Macie和Inspector,它會讓你在一個控制面板上就能查看你AWS賬戶中的所有安全警報與合規性狀態,
-
還可以啟用Trusted Advisor服務,它可根據AWS部署架構最佳實踐,分析你的應用部署架構,從成本、性能、安全、容錯、容量等方面給出評估結果和改進建議,指導你進一步完善這個部署架構,
小結
需要指出的是,完整的云上安全管理流程包括識別(Identity)、保護(Protect)、檢測(Detect)、回應(Respond)、恢復(Recover)等五大環節,因此,文中介紹的這三步 - 明晰責任、了解工具、合理選擇,只是云上安全旅程的前幾步而已,但走好這幾步,你就能順利開啟你的云上安全之旅了,

圖13:AWS完整安全管理流程
現在就出發,開啟你的云上安全之旅吧!
感謝您的閱讀,歡迎關注我的微信公眾號:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/213220.html
標籤:其他
上一篇:容器(四)限制容器對記憶體的使用
