云安全是公有云廠商最著力宣傳的賣點(diǎn)之一,但是對于企業(yè)用戶而言,過于信任和盲從云服務(wù)的默認(rèn)配置是一件非常危險(xiǎn)的事情,企業(yè)的安全架構(gòu)師及云安全審核人員需要對云計(jì)算初始環(huán)境的安全漏洞和配置錯(cuò)誤進(jìn)行全面評估和調(diào)優(yōu)。
以下,我們列舉微軟Azure云計(jì)算環(huán)境的TOP20常見賬戶和配置漏洞(初始默認(rèn)配置),對企業(yè)選擇其他類似公有云服務(wù)也有一定借鑒意義。
微軟 Azure TOP20漏洞快速清單
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)限制對每個(gè)存儲(chǔ)賬戶的訪問。
2.存儲(chǔ)賬戶的不安全傳輸
通過此設(shè)置,可以強(qiáng)制執(zhí)行向存儲(chǔ)的安全(加密)數(shù)據(jù)傳輸。這意味著任何通過不安全協(xié)議(例如HTTP或SMB)但未加密的請求都將被拒絕。
Azure存儲(chǔ)賬戶的默認(rèn)設(shè)置是接受任何協(xié)議,這不可避免地使云存儲(chǔ)容易受到竊聽攻擊。位置良好的攻擊者可能會(huì)竊聽通信,并獲得對敏感或私人信息的訪問權(quán)。
顯而易見,應(yīng)該為所有存儲(chǔ)賬戶啟用加密數(shù)據(jù)傳輸。
3.特權(quán)用戶缺乏多因素身份驗(yàn)證
對任何Azure資源具有管理或?qū)懭霗?quán)限的任何用戶都應(yīng)該要求多因素身份驗(yàn)證(MFA),包括以下角色:
使用MFA保護(hù)這些高特權(quán)賬戶非常重要,因?yàn)樗鼈儤O有可能成為對手的攻擊目標(biāo)。
啟用MFA后,攻擊難度大增,從而大大降低了風(fēng)險(xiǎn)。
請注意,Microsoft Azure支持各種MFA解決方案和選項(xiàng),其中一些是免費(fèi)的,其中一些是根據(jù)高級(jí)計(jì)劃按訂閱提供的,例如:
無論如何,至少應(yīng)對所有管理用戶強(qiáng)制執(zhí)行某種MFA。
4.缺少針對新加入設(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安全中心增加了以下一些重要的安全功能:
上述這些功能無疑可以幫助抵御某些網(wǎng)絡(luò)攻擊,盡管成本增加,但在每個(gè)生產(chǎn)環(huán)境中都應(yīng)啟用這些功能。
6.Azure虛擬網(wǎng)絡(luò)的基礎(chǔ)DDoS保護(hù)
與基礎(chǔ)DDoS保護(hù)相比,增強(qiáng)的標(biāo)準(zhǔn)DDoS(分布式拒絕服務(wù))保護(hù)提供了以下附加防御措施:
以上措施可以幫助防御基于網(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的磁盤加密:
根據(jù)Azure文檔,磁盤加密不應(yīng)影響性能,也不會(huì)增加任何成本,因此,沒有任何理由不為所有磁盤啟用加密,這包括:
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),以針對Azure云中部署的服務(wù)的特定需求量身定制。
如果使用相關(guān)的警報(bào)條件對其進(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)的示例列表:
10. Azure NSG入站規(guī)則配置為ANY
在NSG(網(wǎng)絡(luò)安全組)中定義防火墻規(guī)則時(shí),常見的錯(cuò)誤配置是協(xié)議、源或目標(biāo)配置為“ ANY”。
這種做法可能會(huì)導(dǎo)致流量超出預(yù)期流量的風(fēng)險(xiǎn)。對于攻擊者而言,這些看似良性的配置常常他們?nèi)肭值耐黄瓶凇?/p>
最佳做法是始終堅(jiān)持最小特權(quán)的原則。僅允許具有明確定義的源和目標(biāo)地址的特定協(xié)議的方式定義防火墻規(guī)則。
請注意,強(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):
對于基礎(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ò)流量。
請注意,一旦以任何一種方式配置了IP地址,就無法更改此設(shè)置。因此,解決此問題可能需要規(guī)劃停機(jī)和遷移時(shí)間。
12.面向公眾的服務(wù)的動(dòng)態(tài)IP地址
這本身并不是真正的安全漏洞,但是對于任何面向公眾的系統(tǒng),這都是一個(gè)嚴(yán)重的錯(cuò)誤配置。、如果IP地址是動(dòng)態(tài)的,則意味著它可以在任何時(shí)間更改,例如在重新啟動(dòng)或DHCP租約續(xù)訂之后。而且,當(dāng)它出現(xiàn)在公開可用的系統(tǒng)上時(shí),它可能會(huì)破壞很多東西,例如:
這可能會(huì)導(dǎo)致不必要的可用性問題(例如DoS)。因此,始終強(qiáng)烈建議對任何面向公眾的服務(wù)使用靜態(tài)IP地址。
13.可匿名讀取訪問的Blob存儲(chǔ)
Azure Blob存儲(chǔ)是在云上共享數(shù)據(jù)的強(qiáng)大而便捷的方式。它支持以下3個(gè)訪問控制(級(jí)別)選項(xiàng):
將訪問級(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)建的賬戶。
他們只是外部人士,因此,請盡量減少他們的數(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查找所有來賓用戶的方法:
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)限:
從安全的角度來看,這當(dāng)然是非常不安全的,應(yīng)該盡快更改,除非有非常強(qiáng)硬的理由。
最后,建議完全取消訪客賬戶。
16.對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),例如:
這些都是是有助于保持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)情況下此功能被禁用,建議用戶對所有區(qū)域都啟用此功能。
我們還可以通過以下方法使用Azure CLI檢查Network Watcher的狀態(tài):
19.未對所有Web應(yīng)用程序流量強(qiáng)制執(zhí)行HTTPS
從安全的角度來看,對于內(nèi)部和外部(公開)的所有Web應(yīng)用程序,都應(yīng)僅接受安全(加密)HTTPS連接,這也是當(dāng)今的安全標(biāo)準(zhǔn)。
HTTPS提供了非常必要的安全性,機(jī)密性和私密性。
啟用上述設(shè)置后,對給定Azure Web服務(wù)的每個(gè)傳入的不安全(純文本)HTTP請求都將重定向到其HTTPS端口。
應(yīng)該為所有Azure Web服務(wù)進(jìn)行HTTPS配置。
對于Azure中的數(shù)據(jù)庫,應(yīng)實(shí)施相同的策略,例如:
所有服務(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)用程序:
網(wǎng)絡(luò):
數(shù)據(jù):
在每個(gè)生產(chǎn)環(huán)境中都應(yīng)啟用所有這些策略(將其設(shè)置為“ AuditIfNotExists”)。這些策略提供了對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é)論
評估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)新要求等。
希望本文至少能對Azure云安全審計(jì)領(lǐng)域提供一些有用的見解,并為您審計(jì)其他公有云安全時(shí)提供一些實(shí)用信息,提高云基礎(chǔ)架構(gòu)的安全性。