Azure安全性你了解多少?
Windows Azure是微軟基於雲計算的操作系統,後更名為「Microsoft Azure」,和Azure Services Platform一樣,是微軟「軟體和服務」技術的名稱。Windows Azure的主要目標是為開發者提供一個平台,幫助開發可運行在雲伺服器、數據中心、Web和PC上的應用程序。雲計算的開發者能使用微軟全球數據中心的儲存、計算能力和網路基礎服務。Azure服務平台包括了以下主要組件:Windows Azure;Microsoft SQL資料庫服務,Microsoft .Net服務;用於分享、儲存和同步文件的Live服務;針對商業的Microsoft SharePoint和Microsoft Dynamics CRM服務。
Azure是一種靈活和支持互操作的平台,它可以被用來創建雲中運行的應用或者通過基於雲的特性來加強現有應用。它開放式的架構給開發者提供了Web應用、互聯設備的應用、個人電腦、伺服器、或者提供最優在線複雜解決方案的選擇。Windows Azure以雲技術為核心,提供了軟體 服務的計算方法。 它是Azure服務平台的基礎。Azure能夠將處於雲端的開發者個人能力,同微軟全球數據中心網路託管的服務,比如存儲、計算和網路基礎設施服務,緊密結合起來。
不管性能如何,必定安全性才是最重要的。
現在談談Azure的安全建議,毋庸置疑,Azure的安全性非常複雜。
首先,雲基礎設施是複雜的,所以如果你不能一次性理解所有內容,也不要太擔心。
Azure的基本網路防禦和技術
Azure有很多網路防禦方法,下面是一些你必須了解的防禦技術,我建議你先了解這些:
虛擬網路;
網路安全組;
服務端點;
Azure專用鏈接;
Web應用程序防火牆;
Azure堡壘;
Azure防火牆;
Azure安全中心;
Azure Sentinel;
DDoS保護;
……
接下來,你需要了解各種應用層防禦/技術,比如:
Azure Active Directory;
設置多因素身份驗證;
Azure AD特權身份管理;
服務主體和託管身份;
應用程序網關;
應用程序安全組(它們與NSGs相關聯);
特定於應用程序的「防火牆」(如;SQL Server, CosmosDB等);
密鑰庫;
RBAC;
Azure策略和計劃;
OAuth 2和OpenID Connect;
特定於應用程序的靜態數據加密,例如用於存儲帳戶;
……
合規性
另一個與安全相關的重要主題是合規性,因為我知道安全性是建立在合規性上。
構建
既然你已經對Azure中與安全相關的核心工具和技術有了基本的了解,那麼現在就該創建一些東西了。你決定創造什麼取決於你,但我首先要說的是:
1. 在同一個虛擬機網路中創建兩個虛擬機,但是使用不同的子網,試著把一個虛擬機和另一個虛擬機連接起來。
2. 使用相同的VM,將一個NSG添加到一個子網中,該子網將阻止所有與其他VM的IP地址之間的通信。你可以從另一台虛擬機ping一個虛擬機嗎?
3. 在不同的VNet中創建兩個VM,嘗試ping它們,是否可行?
4. 加密其中一個虛擬機的硬碟驅動器,你將需要創建一個密鑰庫來完成此任務;
5. 查看與VM關聯的NSG,在Azure安全中心中啟用對VM的即時(JIT)訪問,看看會發生什麼?
6. 創建一個密鑰庫,添加一個密鑰並從Azure函數中提取密鑰。這非常複雜,需要向函數添加託管身份,或者在與密鑰庫相同的VNet中運行該函數。
7. 如果在上面的示例中使用了託管身份,請確保你為密鑰保險庫分配了最小特權訪問許可權(只對秘鑰有讀取訪問許可權,而沒有其他許可權);
8. 使用非常具體的操作創建自定義角色;
9. 在存儲帳戶中創建一個blob,嘗試各種授權策略,尤其是SAS令牌。
10. 安裝Azure SQL並配置「始終加密」;
11. 使用Azure Monitor查看誰在對你的訂閱執行操作;
12. 在某個事件類型上設置警報;
13. 開放Azure安全中心,查看你的問題(紅色),查看合規性問題(PCI等);
14. 修復ASC標記的內容;
15. 設置僅允許由硬體支持的Key Vault的策略,並創建非HSM KV(即,不允許Premium)。請記住,部署策略後可能需要30分鐘才能生效。具體過程,請點此。
順便說一下,我經常使用一個名為rg-dev-sandbox的資源組,這樣我就可以在完成任務後將資源組刪除,不會留下任何東西。
了解了以上關於Azure的基本安全性後,是時候深入學習了。選擇一個產品,比如Azure SQL資料庫,學習關於該產品的安全性、可靠性、遵從性和隱私方面的所有知識。對於Azure SQL這樣的產品,安全性包括:
1. 靜態數據的訪問策略;
2. 用於靜態數據的加密(TDE,總是加密的,列加密);
3. 對線路上的數據進行加密(即TLS !);
4. 審計;
5. 災難恢復;
6. 安全訪問連接字元串;
7. Azure AD與SQL身份驗證;
8. 數據屏蔽(不是真正的安全性,但是還是有用的);
9. 威脅保護;
10. Azure SQL防火牆(注意小寫的f,因為它不是真正的『F』irewal;
11. SQL注入問題和補救措施
使用AZ-500認證