云計算的20大常見安全漏洞與配置錯誤
云安全是公有云廠商最著力宣傳的賣點之一,但是對于企業(yè)用戶而言,過于信任和盲從云服務(wù)的默認(rèn)配置是一件非常危險的事情,企業(yè)的安全架構(gòu)師及云安全審核人員需要對云計算初始環(huán)境的安全漏洞和配置錯誤進行全面評估和調(diào)優(yōu)。
以下,我們列舉微軟Azure云計算環(huán)境的TOP20常見賬戶和配置漏洞(初始默認(rèn)配置),對企業(yè)選擇其他類似公有云服務(wù)也有一定借鑒意義。
1. 可從互聯(lián)網(wǎng)訪問的存儲賬戶

Azure存儲賬戶的默認(rèn)設(shè)置是允許從任何地方(包括互聯(lián)網(wǎng))進行訪問。這樣的設(shè)置自然會帶來潛在的未經(jīng)授權(quán)的數(shù)據(jù)訪問,數(shù)據(jù)泄漏,泄露等風(fēng)險。
始終采用最小特權(quán)原則,并僅從選定的IP地址,網(wǎng)絡(luò)范圍或vnet(Azure虛擬網(wǎng)絡(luò))子網(wǎng)限制對每個存儲賬戶的訪問。
2. 存儲賬戶的不安全傳輸

通過此設(shè)置,可以強制執(zhí)行向存儲的安全(加密)數(shù)據(jù)傳輸。這意味著任何通過不安全協(xié)議(例如HTTP或SMB)但未加密的請求都將被拒絕。
Azure存儲賬戶的默認(rèn)設(shè)置是接受任何協(xié)議,這不可避免地使云存儲容易受到竊聽攻擊。位置良好的攻擊者可能會竊聽通信,并獲得對敏感或私人信息的訪問權(quán)。
顯而易見,應(yīng)該為所有存儲賬戶啟用加密數(shù)據(jù)傳輸。
3. 特權(quán)用戶缺乏多因素身份驗證

對任何Azure資源具有管理或?qū)懭霗?quán)限的任何用戶都應(yīng)該要求多因素身份驗證(MFA),包括以下角色:
- 管理員
- 服務(wù)共同管理員
- 訂閱所有者
- 貢獻者
使用MFA保護這些高特權(quán)賬戶非常重要,因為它們極有可能成為對手的攻擊目標(biāo)。
啟用MFA后,攻擊難度大增,從而大大降低了風(fēng)險。
請注意,Microsoft Azure支持各種MFA解決方案和選項,其中一些是免費的,其中一些是根據(jù)高級計劃按訂閱提供的,例如:
- Azure多重身份驗證
- 條件訪問策略
無論如何,至少應(yīng)對所有管理用戶強制執(zhí)行某種MFA。
4. 缺少針對新加入設(shè)備的多因素身份驗證

應(yīng)該要求所有用戶提供第二種身份驗證方法,然后才能將設(shè)備加入Active Directory。
這是為了確保防止惡意設(shè)備通過被入侵賬戶被添加到目錄中。
風(fēng)險在于,攻擊者可能將不受管控、不合規(guī)的惡意設(shè)備加入企業(yè)網(wǎng)絡(luò),然后用于訪問企業(yè)的應(yīng)用程序和其他資源。
5. 免費版Azure安全中心

與免費(基礎(chǔ))版相比,付費增強版Azure安全中心增加了以下一些重要的安全功能:
- 威脅檢測和威脅情報源
- 異常檢測,行為分析和安全警報
- 能識別新型攻擊和零時差攻擊的機器學(xué)習(xí)功能
- 整個基礎(chǔ)架構(gòu)的漏洞掃描和漏洞管理
- 高級訪問和應(yīng)用程序控制可阻止惡意軟件和其他網(wǎng)絡(luò)攻擊
上述這些功能無疑可以幫助抵御某些網(wǎng)絡(luò)攻擊,盡管成本增加,但在每個生產(chǎn)環(huán)境中都應(yīng)啟用這些功能。
6. 虛擬網(wǎng)絡(luò)的基礎(chǔ)DDoS保護

與基礎(chǔ)DDoS保護相比,增強的標(biāo)準(zhǔn)DDoS(分布式拒絕服務(wù))保護提供了以下附加防御措施:
- 近實時遙測和交通監(jiān)控
- 持續(xù)的攻擊警報和通知
- 自適應(yīng)調(diào)整和流量分析
- 詳細(xì)的攻擊分析
以上措施可以幫助防御基于網(wǎng)絡(luò)的DDoS攻擊。在每個生產(chǎn)環(huán)境中的所有重要vnet上都應(yīng)啟用標(biāo)準(zhǔn) DDoS防御服務(wù)。
唯一的缺點是,這是一項高級功能,因此需要額外付費。
7. 未加密的操作系統(tǒng)和數(shù)據(jù)磁盤

不用說,磁盤加密應(yīng)該成為每個生產(chǎn)環(huán)境、工作站、服務(wù)器以及云環(huán)境的標(biāo)準(zhǔn)配置。
在云環(huán)境中,有時將其稱為“靜態(tài)加密”,Azure支持Windows和Linux VM的磁盤加密:
- 在Windows環(huán)境,使用BitLocker
- 在Linux環(huán)境,使用DM-Crypt
根據(jù)Azure文檔,磁盤加密不應(yīng)影響性能,也不會增加任何成本,因此,沒有任何理由不為所有磁盤啟用加密,這包括:
- 操作系統(tǒng)磁盤
- 數(shù)據(jù)盤
- 未連接的磁盤
8. 安全中心中缺少電子郵件通知

在Azure云上運行生產(chǎn)環(huán)境而不在Azure安全中心中配置電子郵件通知可算得上是一個重大安全事故。
Azure安全中心應(yīng)始終配置有電子郵件地址和/或電話號碼,以便接收有關(guān)事件的通知,尤其是,當(dāng)特定資源受到威脅時。
郵件通知應(yīng)當(dāng)在每個環(huán)境中都配置,并始終以很高的優(yōu)先級進行監(jiān)視。
9. Azure Monitor中缺少日志警報

Azure的監(jiān)控和警報服務(wù)允許創(chuàng)建自定義警報,以針對Azure云中部署的服務(wù)的特定需求量身定制。
如果使用相關(guān)的警報條件對其進行了適當(dāng)?shù)呐渲茫瑒t它可以提供環(huán)境中問題的早期指示,而不是依賴于內(nèi)置的Azure安全功能。
因此,在Azure體系結(jié)構(gòu)審閱中,總是希望看到與環(huán)境相關(guān)的定義明確的自定義警報列表。
以下是我們可以使用Azure監(jiān)控警報發(fā)出警報的示例列表:
- 指標(biāo)值
- 記錄搜索查詢
- 活動日志事件
- 基礎(chǔ)Azure平臺的運行狀況
- 測試網(wǎng)站可用性
10. Azure NSG入站規(guī)則配置為ANY

在NSG(網(wǎng)絡(luò)安全組)中定義防火墻規(guī)則時,常見的錯誤配置是協(xié)議、源或目標(biāo)配置為“ ANY”。
這種做法可能會導(dǎo)致流量超出預(yù)期流量的風(fēng)險。對于攻擊者而言,這些看似良性的配置常常他們?nèi)肭值耐黄瓶凇?/p>
最佳做法是始終堅持最小特權(quán)的原則。僅允許具有明確定義的源和目標(biāo)地址的特定協(xié)議的方式定義防火墻規(guī)則。
請注意,強烈建議在具有應(yīng)用程序感知能力的Azure中啟用第7層防火墻。第7層防火墻在整個Azure網(wǎng)絡(luò)(包括應(yīng)用程序)中提供增強的安全功能。
11. 公共IP地址配置為Basic SKU

與基礎(chǔ)(Basic)SKU相比,在Azure中將公共IP地址配置為標(biāo)準(zhǔn)SKU(庫存單位)具有以下優(yōu)點:
- 真正的靜態(tài)IP地址
- 默認(rèn)安全,對入站流量不開放
- 允許區(qū)域冗余和分區(qū)(區(qū)域,地理等)
- 支持將來的擴展
對于基礎(chǔ)SKU,主要的安全問題是總體開放性。除非由防火墻特別保護,否則默認(rèn)情況下,分配有基礎(chǔ)SKU的公共IP地址的系統(tǒng)將完全暴露給外界。
不用說,這在任何生產(chǎn)環(huán)境中都是大忌。在生產(chǎn)環(huán)境中,所有公共IP地址都應(yīng)配置為Standard SKU,并應(yīng)充分理解其網(wǎng)絡(luò)流量。
請注意,一旦以任何一種方式配置了IP地址,就無法更改此設(shè)置。因此,解決此問題可能需要規(guī)劃停機和遷移時間。
12. 面向公眾的服務(wù)的動態(tài)IP地址

這本身并不是真正的安全漏洞,但是對于任何面向公眾的系統(tǒng),這都是一個嚴(yán)重的錯誤配置。、如果IP地址是動態(tài)的,則意味著它可以在任何時間更改,例如在重新啟動或DHCP租約續(xù)訂之后。而且,當(dāng)它出現(xiàn)在公開可用的系統(tǒng)上時,它可能會破壞很多東西,例如:
- DNS記錄
- 監(jiān)控和日志警報
- 系統(tǒng)集成和互操作性
這可能會導(dǎo)致不必要的可用性問題(例如DoS)。因此,始終強烈建議對任何面向公眾的服務(wù)使用靜態(tài)IP地址。
13. 可匿名讀取訪問的Blob存儲

Azure Blob存儲是在云上共享數(shù)據(jù)的強大而便捷的方式。它支持以下3個訪問控制(級別)選項:
- 私人(無匿名訪問)
- Blob(僅針對Blob的匿名讀取訪問權(quán)限)
- 容器(容器和Blob的匿名讀取訪問權(quán)限)
將訪問級別配置為后兩個選項(匿名讀取訪問)會帶來未經(jīng)授權(quán)訪問數(shù)據(jù),數(shù)據(jù)泄漏,滲漏等安全風(fēng)險。
在生產(chǎn)環(huán)境中,應(yīng)將所有Blob存儲都設(shè)置為私有,禁止任何匿名訪問。
14. Azure AD中的訪客用戶數(shù)量很高

Azure Active Directory(AD)中的訪客用戶通常是外部用戶(例如供應(yīng)商,承包商,合作伙伴,客戶和其他臨時角色)創(chuàng)建的賬戶。
他們只是外部人士,因此,請盡量減少他們的數(shù)量。
問題在于,隨著時間的流逝,一些企業(yè)的訪客用戶不斷堆積,往往導(dǎo)致一些訪客失效后忘記撤消其訪問權(quán)限,這是非常危險的。
訪客賬戶往往會成為攻擊者在網(wǎng)絡(luò)環(huán)境中的立足點,可能導(dǎo)致特權(quán)提權(quán)以及Azure云環(huán)境中的其他問題。
因此,應(yīng)始終檢查訪客賬戶的數(shù)量。實際上,CIS Benchmark甚至建議完全不使用訪客用戶。
這是我們使用Azure CLI查找所有來賓用戶的方法:
- az ad user list --query "[?additionalProperties.userType=='Guest']"
15. Azure AD中不安全的訪客用戶設(shè)置

在Azure Active Directory中擁有訪客賬戶是一回事,為他們提供高特權(quán)是另一回事。
默認(rèn)情況下,與完整功能的內(nèi)部成員用戶相比,訪客的特權(quán)非常有限,但是在Azure AD中,也可以將訪客配置為具有與成員用戶相同的特權(quán)!
通過外部協(xié)作設(shè)置(例如上圖所示)進行配置。上面描述的配置將授予訪客用戶以下權(quán)限:
- 枚舉所有其他用戶和組(包括成員)
- 讀取所有已注冊的企業(yè)應(yīng)用程序的屬性
- 從外部邀請其他用戶加入組織
從安全的角度來看,這當(dāng)然是非常不安全的,應(yīng)該盡快更改,除非有非常強硬的理由。
最后,建議完全取消訪客賬戶。
16. 對Azure AD管理門戶的無限制訪問

Azure AD管理門戶包含大量敏感信息,默認(rèn)情況下,Azure AD下的任何用戶都可以訪問它。
這意味著可以作為標(biāo)準(zhǔn)(成員)用戶登錄到https://portal.azure.com/并瀏覽,查看幾乎所有設(shè)置,其他用戶的詳細(xì)信息,組成員身份,應(yīng)用程序等。
這是一個重大安全風(fēng)險,因此應(yīng)加以限制。
17. Azure身份保護功能被禁用

Azure身份保護為Active Directory中的用戶賬戶增加了一層額外的保護,以減輕登錄(登錄)風(fēng)險,例如:
- 用戶的異常行徑
- 惡意軟件鏈接的源IP地址
- 用戶賬戶泄漏
- 密碼噴射攻擊嘗試
- 匿名源IP地址(例如Tor)
這些都是是有助于保持Azure AD環(huán)境更安全的功能,因此強烈建議啟用此功能。
唯一的缺點是,這是一項高級功能,會增加額外的費用。
18. Azure Network Watcher被禁用

Azure Network Watcher提供了至關(guān)重要的診斷和可視化工具,用于了解和解決Azure網(wǎng)絡(luò)中的網(wǎng)絡(luò)問題。
它還為NSG(網(wǎng)絡(luò)安全組)Azure防火墻提供網(wǎng)絡(luò)流分析,包括與特定VM之間的數(shù)據(jù)包捕獲以及許多其他診斷功能。
默認(rèn)情況下此功能被禁用,建議用戶對所有區(qū)域都啟用此功能。
我們還可以通過以下方法使用Azure CLI檢查Network Watcher的狀態(tài):
- az network watcher list
19. 未對所有Web應(yīng)用程序流量強制執(zhí)行HTTPS

從安全的角度來看,對于內(nèi)部和外部(公開)的所有Web應(yīng)用程序,都應(yīng)僅接受安全(加密)HTTPS連接,這也是當(dāng)今的安全標(biāo)準(zhǔn)。
HTTPS提供了非常必要的安全性,機密性和私密性。
啟用上述設(shè)置后,對給定Azure Web服務(wù)的每個傳入的不安全(純文本)HTTP請求都將重定向到其HTTPS端口。
應(yīng)該為所有Azure Web服務(wù)進行HTTPS配置。
對于Azure中的數(shù)據(jù)庫,應(yīng)實施相同的策略,例如:
- MySQL服務(wù)器
- PostreSQL服務(wù)器
所有服務(wù)器都應(yīng)啟用“強制SSL連接”選項。
現(xiàn)在,您可能想知道應(yīng)該選擇哪個TLS?
NIST(美國國家標(biāo)準(zhǔn)技術(shù)研究所)和PCI(支付卡行業(yè))都不再建議TLS版本1.0和1.1版本。因此,應(yīng)始終至少選擇TLS 1.2版。
20.Azure安全中心中的監(jiān)視策略

CIS基準(zhǔn)建議啟用Azure安全中心的以下監(jiān)控策略:
計算和應(yīng)用程序:
- 系統(tǒng)升級
- 操作系統(tǒng)漏洞
- 端點保護
- 磁盤加密
- 漏洞評估
- 自適應(yīng)應(yīng)用程序控件
網(wǎng)絡(luò):
- 網(wǎng)絡(luò)安全組(NSG)
- Web應(yīng)用程序防火墻(WAF)
- 下一代防火墻(NGFW)
數(shù)據(jù):
- 儲存加密
- SQL審核
- SQL加密
在每個生產(chǎn)環(huán)境中都應(yīng)啟用所有這些策略(將其設(shè)置為“ AuditIfNotExists”)。這些策略提供了對Azure云組件的基本安全監(jiān)視。
啟用這些策略時,還應(yīng)同時啟用“自動設(shè)置監(jiān)視代理程序”:
這將確保在環(huán)境中部署的所有現(xiàn)有虛擬機以及將來創(chuàng)建的任何新虛擬機上預(yù)配置Azure監(jiān)視代理。
總結(jié)
評估Microsoft Azure云環(huán)境的安全狀況并非易事。與任何其他云技術(shù)一樣,微軟的Azure是一個復(fù)雜的話題。要安全地進行設(shè)置,需要付出巨大的努力,需要了解多個技術(shù)領(lǐng)域,并且需要了
Azure生態(tài)系統(tǒng)。您需要深入了解許多領(lǐng)域,而不僅僅是Azure云本身。
云安全是一個動態(tài)話題,因為整個云計算生態(tài)系統(tǒng)不斷變化和發(fā)展,引入新功能,適應(yīng)新要求等。
希望本文至少能對Azure云安全審計領(lǐng)域提供一些有用的見解,并為您審計其他公有云安全時提供一些實用信息,提高云基礎(chǔ)架構(gòu)的安全性。
【本文是51CTO專欄作者“安全牛”的原創(chuàng)文章,轉(zhuǎn)載請通過安全牛(微信公眾號id:gooann-sectv)獲取授權(quán)】