教學課程:使用 Azure 防火牆管理員來保護您的虛擬中樞

您可以使用 Azure 防火牆管理員建立安全虛擬中樞,藉此保護以私人 IP 位址、Azure PaaS 和網際網路為目標的雲端網路流量。 路由到防火牆的流量會經過自動化,因此不需要建立使用者定義路由 (UDR)。

Azure 防火牆管理員也支援中樞虛擬網路架構。 如需安全虛擬中樞和中樞虛擬網路架構類型的比較,請參閱什麼是 Azure 防火牆管理員架構選項?

在本教學課程中,您會了解如何:

  • 建立輪輻虛擬網路
  • 建立安全虛擬中樞
  • 連接中樞和支點虛擬網路。
  • 將流量路由到您的中樞
  • 部署伺服器
  • 建立防火牆原則並保護您的中樞
  • 測試防火牆

重要事項

本教學課程的程序會使用 Azure 防火牆管理員建立新的 Azure 虛擬 WAN 安全中樞。 您可以使用防火牆管理員來升級現有中樞,但無法為 Azure 防火牆設定 Azure 可用性區域。 您也可以使用 Azure 入口網站,將現有中樞轉換成安全中樞,如在虛擬 WAN 中樞設定 Azure 防火牆所述。 但與 Azure 防火牆管理員一樣,您無法設定可用性區域。 若要升級現有中樞並指定 Azure 防火牆的可用性區域 (建議),務必遵循教學課程:使用 Azure PowerShell 保護您的虛擬中樞的升級程序。

圖表所示為安全雲端網路。

先決條件

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

建立中樞和支點架構

首先,建立可放置伺服器的支點虛擬網路。

建立兩個支點虛擬網路和子網路

兩個虛擬網路各有工作負載伺服器,且受到防火牆保護。

  1. 從 Azure 入口網站首頁,選取 [建立資源]

  2. 搜尋 [虛擬網路],選取後再選取 [建立]

  3. 使用下列設定建立虛擬網路:

    設定
    訂用帳戶 選取您的訂用帳戶
    資源群組 選取 [新建],然後輸入 fw-manager-rg 以取得名稱,然後選取 [確定]
    虛擬網路名稱 Spoke-01
    區域 美國東部
  4. 選取 [下一步],然後選取 [下一步]

  5. 網路 標籤中,請依以下設定建立子網路:

    設定
    新增 IPv4 位址空間 10.0.0.0/16 (預設值)
    子網路
    工作負載子網
    名稱 Workload-01-SN
    起始位址 10.0.1.0/24
    堡壘子網
    名稱 AzureBastionSubnet
    起始位址 10.0.2.0/26
  6. 選取 [儲存][檢查 + 建立],然後選取 [建立]

重複此程序,以便在 fw-manager-rg 資源群組建立另一個相似的虛擬網路:

設定
名稱 Spoke-02
位址空間 10.1.0.0/16
子網路名稱 Workload-02-SN
起始位址 10.1.1.0/24

建立安全虛擬中樞

使用防火牆管理員建立安全虛擬中樞。

  1. 從 Azure 入口網站首頁,選取 [所有服務]

  2. 在搜尋方塊中輸入「防火牆管理員」,然後選取 [防火牆管理員]

  3. [部署] 底下的 [防火牆管理員] 頁面,選取 [虛擬中樞]

  4. [防火牆管理員] | [虛擬中樞] 頁面選取 [建立新的安全虛擬中樞]

  5. [建立新的安全虛擬中樞] 頁面輸入下列資訊:

    設定
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取 [fw-manager-rg]
    區域 美國東部
    安全虛擬中樞名稱 Hub-01
    中樞位址空間 10.2.0.0/16
  6. 選取 [新增 vWAN]

    設定
    新的虛擬 WAN 名稱 Vwan-01
    類型 標準
    加入 VPN 閘道以啟用信任的安全性合作夥伴 將核取方塊保持為未勾選。
  7. 選取 [下一步:Azure 防火牆]

  8. 接受預設的 [Azure 防火牆][已啟用] 設定。

  9. [Azure 防火牆層] 選取 [標準]

  10. 選取所需的 [可用性區域] 組合。

    重要事項

    虛擬 WAN 是中樞內可用的中樞和服務的集合。 您可以視需要部署自己所需的虛擬 WAN 數量。 虛擬 WAN 中樞有多個服務,例如 VPN、ExpressRoute 等。 這些服務都會自動部署在可用性區域 (除了 Azure 防火牆),前提是該區域支援可用性區域。 為了因應 Azure 虛擬 WAN 的復原能力,建議選取所有可用的可用性區域。

  11. [指定公用 IP 位址數目] 文字框輸入 1,或將現有公用 IP 位址 (預覽) 與該防火牆建立關聯。

  12. 確保在 [防火牆原則] 底下選取 [預設拒絕原則]。 本文稍後會再改善設定。

  13. 選取 [下一步: 安全性合作夥伴提供者]

  14. 接受預設的 [信任的安全性合作夥伴][已停用] 設定,然後選取 [下一步:檢查 + 建立]

  15. 選取 建立

附註

建立安全虛擬中樞最多可能需要 30 分鐘。

部署完成後,您就會看到防火牆公用 IP 位址。

  1. 開啟 [防火牆管理員]
  2. 選取 [虛擬中樞]
  3. 選取 [hub-01]
  4. 選取 [AzureFirewall_Hub-01]
  5. 記下公用 IP 位址以便稍後使用。

連接中樞和支點虛擬網路。

接下來,您可以將中樞和支點虛擬網路進行對等互連。

  1. 選取 [fw-manager-rg] 資源群組,然後選取 [Vwan-01] 虛擬 WAN。

  2. [連線] 下方選取 [虛擬網路連線]

    設定
    連線名稱 hub-spoke-01
    集線器 Hub-01
    資源群組 fw-manager-rg
    虛擬網路 Spoke-01
  3. 選取 建立

  4. 重複上述步驟,使用下列設定來連線 Spoke-02 虛擬網路:

    設定
    連線名稱 hub-spoke-02
    集線器 Hub-01
    資源群組 fw-manager-rg
    虛擬網路 Spoke-02

部署伺服器

  1. 在 Azure 入口網站選取 [建立資源]

  2. 搜尋 Ubuntu Server 22.04 LTS 並選擇它。

  3. 選擇 建立>虛擬機

  4. 依虛擬機器輸入這些值:

    設定
    資源群組 fw-manager-rg
    虛擬機器名稱 Srv-workload-01
    區域 (US) 美國東部
    影像 Ubuntu Server 22.04 LTS - x64 Gen2
    驗證類型 SSH 公開金鑰
    用戶名稱 azureuser
    SSH 公開金鑰來源 產生新的金鑰對
    金鑰組名稱 SRV-工作負載-01_key
  5. [傳入連接埠規則] [公用傳入連接埠] 選取 [無]

  6. 接受其他預設值,然後選取下一步:磁碟

  7. 接受磁碟預設值,然後選取下一步:網路

  8. [Spoke-01] 選為虛擬網路,[SN-Workload] 則選為子網路。

  9. 公用 IP,選取

  10. 接受其他預設值,然後選取下一步管理

  11. 選取 [下一步:監視]

  12. 選取 [停用],停用開機診斷。

  13. 接受所有其他預設值,然後選取檢閱 + 建立

  14. 在摘要頁面檢閱設定,然後選取建立

  15. 當提示時,下載並儲存私鑰檔案(例如 srv-workload-01_key.pem)。

使用下表的資訊來設定另一個名為 Srv-Workload-02 的虛擬機器。 其餘配置與 Srv-workload-01 虛擬機相同,但使用不同的金鑰對名稱,例如 srv-workload-02_key

設定
虛擬網路 Spoke-02
子網路 Workload-02-SN

部署伺服器後,選取伺服器資源,並記下 [網路] 中每部伺服器的私人 IP 位址。

在伺服器上安裝 Nginx

虛擬機部署完成後,請在兩台伺服器上安裝 Nginx,以便日後驗證網頁連線。

  1. 在 Azure 入口網站中,導覽至 Srv-workload-01 虛擬機。

  2. 選擇 執行指令>RunShellScript

  3. 執行以下命令:

    sudo apt-get update && sudo apt-get install -y nginx && echo '<h1>Srv-workload-01</h1>' | sudo tee /var/www/html/index.html
    
  4. Srv-workload-02 重複相同步驟,將 echo 指令中的主機名稱替換:

    sudo apt-get update && sudo apt-get install -y nginx && echo '<h1>Srv-workload-02</h1>' | sudo tee /var/www/html/index.html
    

部署 Azure Bastion

在 Spoke-01 虛擬網路中部署 Azure Bastion,以安全連接虛擬機。

  1. 在 Azure 入口網站中搜尋堡壘並選擇它。

  2. 選取 建立

  3. 請用以下設定配置堡壘:

    設定
    訂用帳戶 選取您的訂用帳戶
    資源群組 fw-manager-rg
    名稱 堡壘-01
    區域 美國東部
    開發人員
    虛擬網路 Spoke-01
    子網路 AzureBastionSubnet (10.0.2.0/26)
  4. 選取 [檢閱 + 建立],然後選取 [建立]。

附註

Azure Bastion 部署大約需要 10 分鐘完成。

建立防火牆原則並保護您的中樞

防火牆原則會定義規則集合,以便在一或多個安全虛擬中樞引導流量。 您會建立防火牆原則,藉此保護中樞。

  1. 從 [防火牆管理員] 選取 [Azure 防火牆原則]

  2. 選取 [建立 Azure 防火牆原則]

  3. 針對 [資源群組],選取 [fw-manager-rg]

  4. [原則詳細資訊] 中,在 [名稱] 輸入「Policy-01」,並為 [區域] 選取 [美國東部]

  5. [原則層] 選取 [標準]

  6. 選取下一步:DNS 設定

  7. 選取 [下一步:TLS 檢查]

  8. 選取 [下一步: 規則]

  9. [規則] 索引標籤,選取 [新增規則集合]

  10. [新增規則集合] 頁面輸入下列資訊。

    設定
    名稱 App-RC-01
    規則集合類型 應用程式
    優先順序 100
    規則集合動作 允許
    規則名稱 Allow-msft
    來源類型 IP 位址
    來源 *
    通訊協定 http,https
    目的地類型 FQDN
    Destination *.microsoft.com
  11. 選取 [新增]

  12. 新增網路規則,以允許支點虛擬網路間存在 SSH 與 HTTP 流量。

  13. 選取 [新增規則集合],然後輸入下列資訊。

    設定
    名稱 vnet-access
    規則集合類型 網路
    優先順序 100
    規則集合動作 允許
    規則名稱 允許-SSH-HTTP
    來源類型 IP 位址
    來源 10.0.0.0/16,10.1.0.0/16
    通訊協定 TCP
    目的地連接埠 22,80
    目的地類型 IP 位址
    Destination 10.0.0.0/16,10.1.0.0/16
  14. 選取 [新增],然後選取 [下一步:IDPS]

  15. [IDPS] 頁面,選取 [下一步:威脅情報]

  16. [威脅情報] 頁面,接受預設值並選取 [檢查並建立]

  17. 檢查以確認您的選取項目,然後選取 [建立]

與原則建立關聯

建立防火牆原則與中樞的關聯。

  1. 從 [防火牆管理員] 選取 [Azure 防火牆原則]
  2. 選取 Policy-01 的核取方塊。
  3. 選取 [管理關聯性][與中樞建立關聯]
  4. 選取 [hub-01]
  5. 選取 [新增]

將流量路由到您的中樞

接著您必須確保網路流量會路由到防火牆。

  1. 在 [防火牆管理員] 選取 [虛擬中樞]

  2. 選取 [Hub-01]

  3. 在 [設定] 下方,選取 [安全性設定]

  4. [網際網路流量] 中選取 [Azure 防火牆]

  5. [私人流量] 中,選取 [透過 Azure 防火牆傳送]

    附註

    如果您在虛擬網路或內部部署分支將公用 IP 位址範圍使用在私人網路,則必須明確指定這些 IP 位址首碼。 選取 [私人流量首碼] 區段,然後隨 RFC1918 地址首碼一起新增。

  6. [中樞間] 選取 [已啟用],藉此啟用虛擬 WAN 路由意圖功能。 路由意圖這種機制,可讓您透過部署在虛擬 WAN 中樞的 Azure 防火牆設定虛擬 WAN,藉此路由分支對分支 (內部部署對內部部署) 流量。 如需詳細了解路由意圖功能的相關必要條件和考量,請參閱路由意圖文件

  7. 選取儲存

  8. [警告] 對話方塊選取 [確定]

  9. [移轉為使用中樞間] 對話方塊選取 [確定]

    附註

    更新路由表需要幾分鐘的時間。

  10. 確認兩個連線都顯示 Azure 防火牆會保護網際網路和私人流量。

測試防火牆

要測試防火牆規則,請使用 Azure Bastion 連接到 Srv-Workload-01 ,確認應用程式和網路規則都正常運作。

測試應用程式規則

接著請測試防火牆規則,確認運作符合預期。

  1. 在 Azure 入口網站中,導覽至 Srv-workload-01 虛擬機。

  2. 選擇連接>透過堡壘連接

  3. 提供用戶名稱 azureuser ,並上傳你建立虛擬機時下載的私鑰 .pem 檔案。

  4. 選擇 連接 以開啟 SSH 會話。

  5. 在 SSH 會話中,執行以下指令以測試對 Microsoft 的存取權限:

    curl https://www.microsoft.com
    

    你應該會看到 HTML 內容被回傳,確認存取權限被允許。

  6. 對 Google 的存取進行測試(應封鎖):

    curl https://www.google.com
    

    請求應該會超時或失敗,顯示該網站被防火牆封鎖。

現在您已確認防火牆應用程式規則開始運作了:

  • 您可以瀏覽到允許的 FQDN,但無法瀏覽到其他任何 FQDN。

測試網路規則

現在透過 HTTP 從 Srv-Workload-01 連接到 Srv-Workload-02 ,測試網路規則。

  1. 測試 Srv-Workload-02 上 Nginx 網頁伺服器的 HTTP 連線:

    curl http://<Srv-Workload-02-private-IP>
    

    你應該會看到網頁伺服器回傳的狀態。

清除資源

完成防火牆資源的測試後,請刪除 fw-manager-rg 資源群組,藉此刪除所有防火牆相關資源。

後續步驟