Azure:實現(xiàn)安全的混合網(wǎng)絡(luò)

來源: Microsoft Azure
作者:Microsoft Azure
時間:2021-01-22
17356
此參考體系結(jié)構(gòu)顯示了一個可將本地網(wǎng)絡(luò)擴(kuò)展到Azure的安全混合網(wǎng)絡(luò)。該體系結(jié)構(gòu)實現(xiàn)了本地網(wǎng)絡(luò)和Azure虛擬網(wǎng)絡(luò)之間的外圍網(wǎng)絡(luò)(也稱為外圍網(wǎng)絡(luò))。所有入站和出站流量均通過Azure防火墻。部署此解決方案。

此參考體系結(jié)構(gòu)顯示了一個可將本地網(wǎng)絡(luò)擴(kuò)展到Azure的安全混合網(wǎng)絡(luò)。該體系結(jié)構(gòu)實現(xiàn)了本地網(wǎng)絡(luò)和Azure虛擬網(wǎng)絡(luò)之間的外圍網(wǎng)絡(luò)(也稱為外圍網(wǎng)絡(luò))。所有入站和出站流量均通過Azure防火墻。部署此解決方案。

dmz-private.png

下載此體系結(jié)構(gòu)的Visio文件。

此體系結(jié)構(gòu)需要使用VPN網(wǎng)關(guān)或ExpressRoute連接來連接到本地數(shù)據(jù)中心。此體系結(jié)構(gòu)的典型用途包括:

在本地運行一部分工作負(fù)荷,在Azure中運行一部分工作負(fù)荷的混合應(yīng)用程序。

需要對從本地數(shù)據(jù)中心進(jìn)入Azure虛擬網(wǎng)絡(luò)的流量進(jìn)行精細(xì)控制的基礎(chǔ)結(jié)構(gòu)。

必須審核傳出流量的應(yīng)用程序。這通常是許多商業(yè)系統(tǒng)的監(jiān)管要求,可以幫助防止公開披露私有信息。

體系結(jié)構(gòu)

該體系結(jié)構(gòu)包括以下組件。

本地網(wǎng)絡(luò)。組織中實現(xiàn)的專用局域網(wǎng)。

Azure虛擬網(wǎng)絡(luò)。虛擬網(wǎng)絡(luò)承載在Azure中運行的應(yīng)用程序和其他資源。

網(wǎng)關(guān)。網(wǎng)關(guān)提供本地網(wǎng)絡(luò)中的路由器與虛擬網(wǎng)絡(luò)之間的連接。網(wǎng)關(guān)放在其自己的子網(wǎng)中。

Azure防火墻。Azure防火墻是作為服務(wù)托管的防火墻。防火墻實例放置在其自己的子網(wǎng)中。

虛擬網(wǎng)絡(luò)路由。虛擬網(wǎng)絡(luò)路由定義Azure虛擬網(wǎng)絡(luò)中的IP流量流。如上圖所示,有兩個用戶定義的路由表。

在網(wǎng)關(guān)子網(wǎng)中,發(fā)送到web層子網(wǎng)的流量(10.0.1.0/24)通過Azure防火墻實例進(jìn)行路由。

在web層子網(wǎng)中,由于VNet本身的地址空間沒有路由指向Azure防火墻,因此web層實例可以直接相互通信,而不能通過Azure防火墻進(jìn)行通信。

備注

根據(jù)VPN連接的要求,你可以配置邊界網(wǎng)關(guān)協(xié)議(BGP)路由,以實現(xiàn)將流量定向到本地網(wǎng)絡(luò)的轉(zhuǎn)發(fā)規(guī)則。

網(wǎng)絡(luò)安全組。使用安全組限制虛擬網(wǎng)絡(luò)中的網(wǎng)絡(luò)流量。例如,在隨此參考體系結(jié)構(gòu)一起提供的部署中,web層子網(wǎng)允許來自本地網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)中的TCP流量;業(yè)務(wù)層允許來自web層的流量;數(shù)據(jù)層允許來自業(yè)務(wù)層的流量。

堡壘。使用Azure堡壘,可以通過SSH或遠(yuǎn)程桌面協(xié)議(RDP)登錄到虛擬網(wǎng)絡(luò)中的vm,而無需直接向Internet公開vm。使用堡壘管理虛擬網(wǎng)絡(luò)中的Vm。

建議

以下建議適用于大多數(shù)方案。除非有優(yōu)先于這些建議的特定要求,否則請遵循這些建議。

訪問控制建議

使用azure RBAC)(azure基于角色的訪問控制來管理應(yīng)用程序中的資源??紤]創(chuàng)建以下自定義角色:

一個DevOps角色,具有管理應(yīng)用程序的基礎(chǔ)結(jié)構(gòu)、部署應(yīng)用程序組件以及監(jiān)視和重新啟動VM的權(quán)限。

一個集中式IT管理員角色,用于管理和監(jiān)視網(wǎng)絡(luò)資源。

安全I(xiàn)T管理員角色,用于管理安全網(wǎng)絡(luò)資源,例如防火墻。

DevOps和IT管理員角色不應(yīng)具有對防火墻資源的訪問權(quán)限。這應(yīng)限制為安全性IT管理員角色。

有關(guān)資源組的建議

可以通過將Vm、虛擬網(wǎng)絡(luò)和負(fù)載均衡器組合在一起來輕松管理Azure資源(例如Vm、虛擬網(wǎng)絡(luò)和負(fù)載均衡器)。將Azure角色分配給每個資源組以限制訪問。

建議創(chuàng)建以下資源組:

包含虛擬網(wǎng)絡(luò)的資源組(不包括Vm)、Nsg以及用于連接到本地網(wǎng)絡(luò)的網(wǎng)關(guān)資源。將集中式IT管理員角色分配給此資源組。

一個資源組,其中包含用于網(wǎng)關(guān)子網(wǎng)的Azure防火墻實例和用戶定義的路由。將安全性IT管理員角色分配給此資源組。

用于每個應(yīng)用層的單獨資源組,包含負(fù)載均衡器和VM。請注意,此資源組不應(yīng)包含每個層的子網(wǎng)。將DevOps角色分配給此資源組。

網(wǎng)絡(luò)建議

若要接受來自internet的入站流量,請將DNAT)規(guī)則(目標(biāo)網(wǎng)絡(luò)地址轉(zhuǎn)換添加到Azure防火墻。

目標(biāo)地址=防火墻實例的公共IP地址。

翻譯地址=虛擬網(wǎng)絡(luò)中的專用IP地址。

該示例部署將端口80的internet流量路由到web層負(fù)載均衡器。

使用站點到站點VPN隧道通過本地網(wǎng)絡(luò)強制隧道所有出站internet流量,并使用網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)路由到internet。這可以防止任何存儲在數(shù)據(jù)層中的機密信息的意外泄漏,并允許檢查和審核所有傳出流量。

請勿完全阻止來自應(yīng)用程序?qū)拥膇nternet流量,因為這會阻止這些層使用依賴公共IP地址的Azure PaaS服務(wù),例如VM診斷日志記錄、VM擴(kuò)展下載和其他功能。Azure診斷還要求組件可以讀取和寫入Azure存儲帳戶。

驗證出站Internet流量是否正確地強制隧道傳遞。如果使用的是本地服務(wù)器上的"路由和遠(yuǎn)程訪問"服務(wù)的VPN連接,請使用WireShark等工具。

請考慮使用應(yīng)用程序網(wǎng)關(guān)或Azure前門進(jìn)行SSL終止。

可伸縮性注意事項

有關(guān)VPN網(wǎng)關(guān)的帶寬限制的詳細(xì)信息,請參閱網(wǎng)關(guān)sku。對于更高帶寬,請考慮升級到ExpressRoute網(wǎng)關(guān)。ExpressRoute提供最多10 Gbps的帶寬,且延遲低于VPN連接。

有關(guān)Azure網(wǎng)關(guān)的可伸縮性的詳細(xì)信息,請參閱使用Azure和本地VPN實現(xiàn)混合網(wǎng)絡(luò)體系結(jié)構(gòu)和使用Azure ExpressRoute實現(xiàn)混合網(wǎng)絡(luò)體系結(jié)構(gòu)中的可伸縮性注意事項部分。

可用性注意事項

如果要使用Azure ExpressRoute在虛擬網(wǎng)絡(luò)和本地網(wǎng)絡(luò)之間提供連接,請將VPN網(wǎng)關(guān)配置為在ExpressRoute連接不可用時提供故障轉(zhuǎn)移。

有關(guān)為VPN和ExpressRoute連接保持可用性的特定信息,請參閱使用Azure和本地VPN實現(xiàn)混合網(wǎng)絡(luò)體系結(jié)構(gòu)和使用Azure ExpressRoute實現(xiàn)混合網(wǎng)絡(luò)體系結(jié)構(gòu)中的可用性注意事項。

可管理性注意事項

如果從本地網(wǎng)絡(luò)到Azure的網(wǎng)關(guān)連接已關(guān)閉,你仍可以通過Azure堡壘訪問Azure虛擬網(wǎng)絡(luò)中的Vm。

參考體系結(jié)構(gòu)中每個層的子網(wǎng)都受NSG規(guī)則保護(hù)??赡苄枰獎?chuàng)建一個規(guī)則以打開用于在Windows VM上進(jìn)行遠(yuǎn)程桌面協(xié)議(RDP)訪問的端口3389,或是用于在Linux VM上進(jìn)行安全外殼(SSH)訪問的端口22。其他管理和監(jiān)視工具可能需要規(guī)則打開其他端口。

如果要使用ExpressRoute在本地數(shù)據(jù)中心與Azure之間提供連接,請使用Azure連接工具包(AzureCT)監(jiān)視和解決連接問題.

可以在以下文章中找到有關(guān)監(jiān)視和管理VPN和ExpressRoute連接的其他信息:

使用Azure和本地VPN實現(xiàn)混合網(wǎng)絡(luò)體系結(jié)構(gòu)

使用Azure ExpressRoute實施混合網(wǎng)絡(luò)體系結(jié)構(gòu)

安全注意事項

此參考體系結(jié)構(gòu)實現(xiàn)多個安全級別。

通過Azure防火墻路由所有本地用戶請求

網(wǎng)關(guān)子網(wǎng)中的用戶定義路由阻止所有用戶請求,而不是從本地收到的請求。路由會將允許的請求傳遞給防火墻,如果防火墻規(guī)則允許這些請求,則會將這些請求傳遞給應(yīng)用程序??梢蕴砑悠渌酚?,但請確保它們不會意外繞過防火墻或阻止用于管理子網(wǎng)的管理流量。

使用NSG阻止/傳遞應(yīng)用層之間的流量

各層之間的流量使用NSG進(jìn)行限制。業(yè)務(wù)層阻止不是源自Web層的所有流量,而數(shù)據(jù)層阻止不是源自業(yè)務(wù)層的所有流量。如果要求擴(kuò)展NSG規(guī)則以允許對這些層進(jìn)行更廣泛的訪問,請針對安全風(fēng)險權(quán)衡這些要求。每個新入站通道都表示可能會發(fā)生意外或有意的數(shù)據(jù)泄露或應(yīng)用程序損壞。

DevOps訪問權(quán)限

使用AZURE RBAC來限制DevOps可以對每個層執(zhí)行的操作。授予權(quán)限時,請使用最低特權(quán)原則。記錄所有管理操作并執(zhí)行定期審核,確保所有配置更改按計劃進(jìn)行。

成本注意事項

使用Azure定價計算器估算成本。其他注意事項,請參閱Microsoft Azure Well-Architected框架的"成本"部分。

下面是在此體系結(jié)構(gòu)中使用的服務(wù)的成本注意事項。

Azure防火墻

在此體系結(jié)構(gòu)中,Azure防火墻部署在虛擬網(wǎng)絡(luò)中,以控制網(wǎng)關(guān)的子網(wǎng)與運行應(yīng)用層的子網(wǎng)之間的流量。通過這種方式,Azure防火墻具有成本效益,因為它用作多個工作負(fù)荷所使用的共享解決方案。下面是Azure防火墻定價模型:

每個部署小時的固定費率。

每GB處理的數(shù)據(jù)支持自動縮放。

與網(wǎng)絡(luò)虛擬設(shè)備進(jìn)行比較時(Nva),通過Azure防火墻,可節(jié)省多達(dá)30-50%的時間。有關(guān)詳細(xì)信息,請參閱Azure防火墻和NVA。

Azure Bastion

Azure堡壘通過RDP和SSH安全連接到虛擬機,而無需在虛擬機上配置公共IP。

堡壘計費相當(dāng)于配置為jumpbox的基本低級別虛擬機。將堡壘與跳轉(zhuǎn)盒進(jìn)行比較可以更經(jīng)濟(jì)高效地考慮堡壘的內(nèi)置安全功能,存儲和管理單獨的服務(wù)器不會產(chǎn)生額外的成本。

Azure虛擬網(wǎng)絡(luò)

Azure虛擬網(wǎng)絡(luò)是免費的。允許每個訂閱在所有區(qū)域中最多創(chuàng)建50個虛擬網(wǎng)絡(luò)。虛擬網(wǎng)絡(luò)邊界內(nèi)發(fā)生的所有流量都是免費的。因此,如果同一VNET中的兩個Vm彼此通信,則不會產(chǎn)生任何費用。

內(nèi)部負(fù)載均衡器

位于同一虛擬網(wǎng)絡(luò)中的虛擬機之間的基本負(fù)載均衡是免費的。

在此體系結(jié)構(gòu)中,內(nèi)部負(fù)載均衡器用于對虛擬網(wǎng)絡(luò)內(nèi)的流量進(jìn)行負(fù)載均衡。

部署解決方案

GitHub上提供了可實施這些建議的參考體系結(jié)構(gòu)部署。

先決條件

克隆、下載參考體系結(jié)構(gòu)GitHub存儲庫的zip文件或創(chuàng)建其分支。

安裝Azure CLI 2.0。

安裝Node和NPM

安裝Azure構(gòu)建基塊npm包。

Bash

npm install-g mspnp/azure-building-blocks

在命令提示符、bash提示符或PowerShell提示符下,按如下所示登錄到你的Azure帳戶:

Bash

az login

部署資源

導(dǎo)航到參考體系結(jié)構(gòu)GitHub存儲庫的/dmz/secure-vnet-hybrid文件夾。

運行以下命令:

Bash

azbb-s<subscription_id>-g<resource_group_name>-l<region>-p onprem.json--deploy

運行以下命令:

Bash

azbb-s<subscription_id>-g<resource_group_name>-l<region>-p secure-vnet-hybrid.json--deploy

連接本地網(wǎng)關(guān)和Azure網(wǎng)關(guān)

此步驟連接兩個本地網(wǎng)絡(luò)網(wǎng)關(guān)。

在Azure門戶中,導(dǎo)航到創(chuàng)建的資源組。

找到名為ra-vpn-vgw-pip的資源,并復(fù)制“概述”邊欄選項卡中顯示的IP地址。

找到名為onprem-vpn-lgw的資源。

單擊“配置”邊欄選項卡。在“IP地址”下,粘貼步驟2中獲取的IP地址。

local-net-gw.png

單擊“保存”并等待操作完成??赡苄枰蠹s5分鐘。

找到名為onprem-vpn-gateway1-pip的資源。復(fù)制“概述”邊欄選項卡中顯示的IP地址。

找到名為ra-vpn-lgw的資源。

單擊“配置”邊欄選項卡。在“IP地址”下,粘貼步驟6中獲取的IP地址。

單擊“保存”并等待操作完成。

若要驗證連接,請轉(zhuǎn)到每個網(wǎng)關(guān)的“連接”邊欄選項卡。狀態(tài)應(yīng)為“已連接”。

驗證網(wǎng)絡(luò)流量是否抵達(dá)Web層

在Azure門戶中,導(dǎo)航到創(chuàng)建的資源組。

找到名為的資源fe-config1-web,它是web層前面的負(fù)載均衡器。復(fù)制“概述”邊欄選項卡中的專用IP地址。

找到名為jb-vm1的VM。此VM表示本地網(wǎng)絡(luò)。單擊“連接”,使用遠(yuǎn)程桌面連接到VM。用戶名和密碼已在onprem.json文件中指定。

在遠(yuǎn)程桌面會話中打開Web瀏覽器,并導(dǎo)航到步驟2中獲取的IP地址。應(yīng)會看到默認(rèn)的Apache2服務(wù)器主頁。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Microsoft Azure,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家