「雲網絡安全」雲網絡安全101:Azure虛擬網絡服務端點


「雲網絡安全」雲網絡安全101:Azure虛擬網絡服務端點

Microsoft Azure提供了兩個類似但不同的服務,允許虛擬網絡(VNet)資源私下連接到其他Azure服務。Azure VNet服務端點和Azure私有端點(由Azure私有鏈接提供支持)都通過允許VNet流量不通過internet與服務資源通信來促進網絡安全,但它們之間存在一些區別。

這個由三部分組成的博客系列詳細介紹了這兩種服務。

  • 在本系列的第1部分(本部分!)中,我們將討論服務端點。
  • 在第2部分中,我們將討論私有鏈接和私有端點。
  • 在第3部分中,我們將對兩者進行比較和對比,並解釋何時使用哪一種。

準備好學習Azure服務端點了嗎?就讓我們一探究竟吧!

什麼是Azure服務端點?


「雲網絡安全」雲網絡安全101:Azure虛擬網絡服務端點

在上面,虛擬機擁有私有IP地址10.1.1.4,但是可以通過服務端點訪問存儲帳戶。內部通信量不能使用服務端點,必須通過internet訪問存儲帳戶。從https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-service-endpoints-overview secure-azure-services-to-virtual-networks形象

服務端點允許VNet資源使用私有IP地址連接到Azure服務的公共端點,這意味著流量通過Azure骨幹網絡而不是internet流向服務資源。實際上,您正在將VNet的標識擴展到服務資源。然後可以鎖定服務資源,使其只接受來自與服務端點關聯的子網的流量。

您還可以通過添加一個網絡安全組(NSG)來鎖定VNet,以拒絕除所需Azure服務之外的所有出站流量。通過正確的配置,服務端點使您能夠將服務資源保護到您的VNet,從而提供額外的安全層。

例如,假設您在一個VNet中有一個虛擬機(VM),它需要與一個Azure存儲帳戶通信。您可以組合服務端點、存儲賬戶和NSG從VM在私人交通子網到達存儲賬戶沒有觸及互聯網,存儲賬戶塊所有流量從子網,除非是和NSG出站的流量限制子網網絡。

如果沒有服務端點,就需要為虛擬機分配一個公共IP地址,將其暴露給internet和伴隨它而來的所有威脅;子網將需要一個NAT網關設備,需要一個額外的配置步驟和潛在的減慢流量;存儲帳戶需要對任何網絡上的客戶端開放,這樣如果憑證洩露,因特網上的任何人都可以訪問它。幾乎沒有理想!

現在,讓我們看看服務端點帶來的一些好處:

  • 增強的安全性:由於虛擬網絡資源使用私有IP地址連接到服務資源,因此不需要為其分配公共IP地址。如果沒有公共IP地址,惡意參與者就無法掃描VM的開放端口以尋找漏洞,並關閉您的應用程序或竊取數據。
  • 優化路由:服務端點在Azure主幹網絡上提供了從VNet到服務資源的直接路由,因此沒有額外的跳點來降低流量。
  • 更簡單的網絡架構:由於流量通過Azure主幹網絡從VNet資源流向服務資源,因此您不需要給它一個公共IP地址或配置NAT或網關設備。另外,您可以在幾次單擊中啟用服務端點,Azure將處理維護服務端點的幕後工作。

服務端點目前可用於PaaS服務,如Azure存儲、Azure SQL數據庫、Azure密鑰庫和其他服務。

Azure服務端點策略

默認情況下,每個存儲帳戶都有一個網絡訪問規則,允許來自所有網絡(包括internet)的流量。為了保護您的存儲帳戶mystorageaccount,您可以啟用一個服務端點,然後修改mystorageaccount的默認網絡訪問規則,以拒絕流量,除非流量來自服務端點。(我們將很快解釋如何做到這一點。)在這種情況下,服務端點子網中的vm1可以訪問mystorageaccount,但是不同子網中的vm2不能訪問mystorageaccount。這是因為每個服務、每個子網都啟用了服務端點。

以這種方式修改mystorageaccount的ACL可以保護mystorageaccount不受internet流量的影響,但需要注意的是,服務端點允許關聯子網中的任何計算實例訪問其他可用的存儲帳戶(同樣,這是因為每個服務、每個子網都啟用了服務端點)。如果您組織中的惡意參與者秘密配置roguestorageaccount以允許來自服務端點的流量,vm1可以向它發送流量,允許惡意參與者竊取數據——即使roguestorageaccount是在不同的訂閱或Active Directory租戶中。

幸運的是,Azure為這種情況提供了一個解決方案:服務端點策略(目前僅對Azure存儲資源啟用)。服務端點策略指定服務端點的範圍:它只允許訪問訂閱中的所有存儲帳戶、資源組中的所有存儲帳戶或單個存儲帳戶。

通過使用服務端點策略更精確地指定流量的流向,可以降低數據溢出的風險。在本例中,您可以配置服務端點,以允許vm1僅向mystorageaccount發送通信量,而不向roguestorageaccount發送通信量。

與AWS VPC端點的相似性

如果您是AWS用戶,並且所有這些對您來說都很熟悉,那麼您可能會想到VPC網關端點,它們也使用路由來保護存儲和數據庫資源到虛擬網絡的子網,而不需要通過internet傳輸流量。網關端點還授予從子網到服務的完全訪問權,除非您應用端點策略來縮小可訪問資源的範圍——與您使用Azure服務端點策略的方式非常相似。

如何創建Azure服務端點

您可以通過兩個簡單的步驟設置服務端點:

  • 在網絡端啟用服務端點
  • 在服務資源端配置acl

這裡是一個快速的演練,它是這個優秀Azure教程的一個簡短版本。假設您在虛擬網絡的私有子網中有一個VM,在同一區域中有一個存儲帳戶,您希望流量從前者流到後者,而不需要通過internet。

在網絡端啟用服務端點:

導航到子網並編輯它。

選擇“微軟。“服務端點”標題下的“服務”。

選擇“保存”。

修改存儲帳戶端上的默認網絡訪問規則:

  1. 導航到存儲帳戶並選擇側邊欄中的“防火牆和虛擬網絡”。在“允許訪問”下,選擇“選定的網絡”。
  2. 選擇“添加現有虛擬網絡”,然後選擇您剛剛編輯的虛擬網絡和子網。
  3. 選擇“添加”,然後“保存”。

就是這樣!您剛剛啟用了一個服務端點。如果您想對其進行測試,可以創建一個網絡安全組(NSG),其中包含允許SSH或RDP從您的家庭IP地址訪問的入站規則,並將其與服務端點子網相關聯。(你可以使用whatismyip.com找到你的IP地址。請注意,VM還需要一個公共IP地址,以便您從家中訪問它。)SSH或RDP到實例中,並嘗試訪問存儲帳戶,例如通過使用Azure CLI或PowerShell列出其容器。您將看到,您可以從VM訪問存儲帳戶,而不能從自己的IP地址。(如果在同一子網中創建另一個VM,它也可以訪問存儲帳戶,因為沒有服務端點策略的服務端點允許關聯子網中的任何資源訪問其他可用的存儲帳戶。)

額外的好處是:實現我們前面提到的一種策略,即鎖定NSG,從而阻塞從VM到internet的出站流量。您可以通過創建兩個出站安全規則來做到這一點:一個只允許出站流量到Azure存儲,另一個阻止出站流量到internet。

首先,使用以下配置創建一個出站安全規則,以允許流量進入Azure存儲:

  • 來源:VirtualNetwork
  • 目的地:服務標籤
  • 目的地服務標籤:存儲
  • 目的端口範圍:*(星號)
  • 行動:允許
  • 優先級:100

輸入一個新名稱,並保持其他缺省值。然後創建另一個出站安全規則,配置如下,以阻止互聯網流量:

  • 來源:VirtualNetwork
  • 目的地:服務標籤
  • 目的地服務標籤:互聯網
  • 目的端口範圍:*(星號)
  • 行動:否認
  • 優先級:110

輸入一個新名稱,並保留其他默認值。瞧!VM只能接受來自IP的流量,它只能將流量發送到Azure存儲,而目標存儲帳戶只接受來自服務端點的流量。

要了解完整的演練,請參閱Azure的文章《使用Azure門戶限制對帶有虛擬網絡服務端點的PaaS資源的網絡訪問》。

額外獎勵:設置一個服務端點策略,以便VM只能將流量發送到所需的存儲帳戶,而不是任何可用的存儲帳戶。下面是另一個很棒的Azure教程,向您展示如何使用它。

在使用服務端點之前需要了解的事情

關於服務端點,需要記住的一些提示:

  • 服務端點沒有成本。與往常一樣,您需要為使用的VNet資源和服務資源付費,但無需為服務端點額外付費。
  • 如前所述,服務端點是為整個服務實現的(根據服務的不同,它甚至不需要是相同的AD租戶)。但是,如果服務資源是存儲帳戶,則可以使用服務端點策略將範圍縮小到訂閱或資源組中的所有存儲帳戶,或縮小到單個存儲帳戶。
  • 啟用服務端點時,關聯子網中的vm將從公共IP地址切換到私有IP地址。請記住這一點,因為設置為公共IP地址的現有防火牆規則可能會失敗。此外,從子網到服務資源的通信可能在切換期間被臨時中斷,因此請確保在啟用或禁用服務端點時關鍵任務沒有運行!
  • 服務資源只能被保護到虛擬網絡,因此內部通信量不能使用服務端點連接到Azure服務。(如果你想讓交通從on prem開始,不要絕望;請參閱本教程的第2部分,其中我們討論了私有鏈接和私有端點!)

結論

正如您所看到的,服務端點是通過將您的VNet身份擴展到服務資源來保護您的VNet和服務資源的一種極好的方法。流量源是一個私有IP地址,而目的地是服務資源的公共IP地址。

但是,如果您希望目的地也是私有IP地址,又該怎麼辦呢?

這就是私有鏈接和私有端點的作用。請繼續關注本博客系列的第2部分!

本文:http://jiagoushi.pro/node/1381

(此處已添加圈子卡片,請到今日頭條客戶端查看)


分享到:


相關文章: