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

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

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

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

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

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

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

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

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

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

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

與基礎(chǔ)(Basic)SKU相比,在Azure中將公共IP地址配置為標(biāo)準(zhǔn)SKU(庫存單位)具有以下優(yōu)點(diǎn):
- 真正的靜態(tài)IP地址
- 默認(rèn)安全,對(duì)入站流量不開放
- 允許區(qū)域冗余和分區(qū)(區(qū)域,地理等)
- 支持將來的擴(kuò)展
對(duì)于基礎(chǔ)SKU,主要的安全問題是總體開放性。除非由防火墻特別保護(hù),否則默認(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ò)流量。
請(qǐng)注意,一旦以任何一種方式配置了IP地址,就無法更改此設(shè)置。因此,解決此問題可能需要規(guī)劃停機(jī)和遷移時(shí)間。
12. 面向公眾的服務(wù)的動(dòng)態(tài)IP地址

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

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

Azure Active Directory(AD)中的訪客用戶通常是外部用戶(例如供應(yīng)商,承包商,合作伙伴,客戶和其他臨時(shí)角色)創(chuàng)建的賬戶。
他們只是外部人士,因此,請(qǐng)盡量減少他們的數(shù)量。
問題在于,隨著時(shí)間的流逝,一些企業(yè)的訪客用戶不斷堆積,往往導(dǎo)致一些訪客失效后忘記撤消其訪問權(quán)限,這是非常危險(xiǎn)的。
訪客賬戶往往會(huì)成為攻擊者在網(wǎng)絡(luò)環(huán)境中的立足點(diǎn),可能導(dǎo)致特權(quán)提權(quán)以及Azure云環(huán)境中的其他問題。
因此,應(yīng)始終檢查訪客賬戶的數(shù)量。實(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è)置(例如上圖所示)進(jìn)行配置。上面描述的配置將授予訪客用戶以下權(quán)限:
- 枚舉所有其他用戶和組(包括成員)
- 讀取所有已注冊(cè)的企業(yè)應(yīng)用程序的屬性
- 從外部邀請(qǐng)其他用戶加入組織
從安全的角度來看,這當(dāng)然是非常不安全的,應(yīng)該盡快更改,除非有非常強(qiáng)硬的理由。
最后,建議完全取消訪客賬戶。
16. 對(duì)Azure AD管理門戶的無限制訪問

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

Azure身份保護(hù)為Active Directory中的用戶賬戶增加了一層額外的保護(hù),以減輕登錄(登錄)風(fēng)險(xiǎn),例如:
- 用戶的異常行徑
- 惡意軟件鏈接的源IP地址
- 用戶賬戶泄漏
- 密碼噴射攻擊嘗試
- 匿名源IP地址(例如Tor)
這些都是是有助于保持Azure AD環(huán)境更安全的功能,因此強(qiáng)烈建議啟用此功能。
唯一的缺點(diǎn)是,這是一項(xiàng)高級(jí)功能,會(huì)增加額外的費(fèi)用。
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)情況下此功能被禁用,建議用戶對(duì)所有區(qū)域都啟用此功能。
我們還可以通過以下方法使用Azure CLI檢查Network Watcher的狀態(tài):
- az network watcher list
19. 未對(duì)所有Web應(yīng)用程序流量強(qiáng)制執(zhí)行HTTPS

從安全的角度來看,對(duì)于內(nèi)部和外部(公開)的所有Web應(yīng)用程序,都應(yīng)僅接受安全(加密)HTTPS連接,這也是當(dāng)今的安全標(biāo)準(zhǔn)。
HTTPS提供了非常必要的安全性,機(jī)密性和私密性。
啟用上述設(shè)置后,對(duì)給定Azure Web服務(wù)的每個(gè)傳入的不安全(純文本)HTTP請(qǐng)求都將重定向到其HTTPS端口。
應(yīng)該為所有Azure Web服務(wù)進(jìn)行HTTPS配置。
對(duì)于Azure中的數(shù)據(jù)庫,應(yīng)實(shí)施相同的策略,例如:
- MySQL服務(wù)器
- PostreSQL服務(wù)器
所有服務(wù)器都應(yīng)啟用“強(qiáng)制SSL連接”選項(xiàng)。
現(xiàn)在,您可能想知道應(yīng)該選擇哪個(gè)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)控策略:
計(jì)算和應(yīng)用程序:
- 系統(tǒng)升級(jí)
- 操作系統(tǒng)漏洞
- 端點(diǎn)保護(hù)
- 磁盤加密
- 漏洞評(píng)估
- 自適應(yīng)應(yīng)用程序控件
網(wǎng)絡(luò):
- 網(wǎng)絡(luò)安全組(NSG)
- Web應(yīng)用程序防火墻(WAF)
- 下一代防火墻(NGFW)
數(shù)據(jù):
- 儲(chǔ)存加密
- SQL審核
- SQL加密
在每個(gè)生產(chǎn)環(huán)境中都應(yīng)啟用所有這些策略(將其設(shè)置為“ AuditIfNotExists”)。這些策略提供了對(duì)Azure云組件的基本安全監(jiān)視。
啟用這些策略時(shí),還應(yīng)同時(shí)啟用“自動(dòng)設(shè)置監(jiān)視代理程序”:
這將確保在環(huán)境中部署的所有現(xiàn)有虛擬機(jī)以及將來創(chuàng)建的任何新虛擬機(jī)上預(yù)配置Azure監(jiān)視代理。
總結(jié)
評(píng)估Microsoft Azure云環(huán)境的安全狀況并非易事。與任何其他云技術(shù)一樣,微軟的Azure是一個(gè)復(fù)雜的話題。要安全地進(jìn)行設(shè)置,需要付出巨大的努力,需要了解多個(gè)技術(shù)領(lǐng)域,并且需要了
Azure生態(tài)系統(tǒng)。您需要深入了解許多領(lǐng)域,而不僅僅是Azure云本身。
云安全是一個(gè)動(dòng)態(tài)話題,因?yàn)檎麄€(gè)云計(jì)算生態(tài)系統(tǒng)不斷變化和發(fā)展,引入新功能,適應(yīng)新要求等。
希望本文至少能對(duì)Azure云安全審計(jì)領(lǐng)域提供一些有用的見解,并為您審計(jì)其他公有云安全時(shí)提供一些實(shí)用信息,提高云基礎(chǔ)架構(gòu)的安全性。
【本文是51CTO專欄作者“安全牛”的原創(chuàng)文章,轉(zhuǎn)載請(qǐng)通過安全牛(微信公眾號(hào)id:gooann-sectv)獲取授權(quán)】