Azure 虛擬機器存取的多層式保護

Microsoft Entra ID
Azure Bastion
Azure 角色型存取控制
適用於雲端的 Microsoft Defender

解決方案構想

本文是解決方案概念。 如果您想要使用詳細資訊來擴充內容,例如潛在的使用案例、替代服務、實作考慮或定價指引,請提供 GitHub 意見反應 讓我們知道。

此解決方案提供多層式方法來保護 Azure 中的虛擬機器(VM)。 使用者必須連線到 VM 以進行管理和系統管理。 請務必將連線所建立的攻擊面降到最低。

此解決方案會藉由納入數個保護機制,來達成 VM 的非持續性細微存取。 它符合 最低特權原則(PoLP) 和職責 分離的概念 。 為了減少遭受攻擊的風險,此解決方案會鎖定 VM 的輸入流量,但可在需要時存取 VM 連線。 實作這種類型的保護可將許多熱門網路攻擊的風險降到最低,例如暴力密碼破解攻擊和分散式阻斷服務 (DDoS) 攻擊。

此解決方案使用許多 Azure 服務和功能,包括:

  • Microsoft Entra Privileged Identity Management (PIM) 。
  • 適用於雲端的 Microsoft Defender的 Just-In-Time (JIT) VM 存取功能。
  • Azure Bastion。
  • Azure 角色型存取控制 (Azure RBAC) 自訂角色。
  • Microsoft Entra 條件式存取,選擇性地。

潛在的使用案例

深度 防禦是此架構背後的主要概念。 此策略會在將 VM 的存取權授與使用者之前,先向使用者提出數道防禦線的挑戰。 目標是確保:

  • 每個使用者都是合法的。
  • 每個使用者都有法律意圖。
  • 通訊是安全的。
  • 只有在需要時,才能存取 Azure 中的 VM。

本文中的深度防禦策略和解決方案適用于許多案例:

  • 在下列情況下,系統管理員必須存取 Azure VM:

    • 系統管理員必須針對問題進行疑難排解、調查行為,或套用重大更新。
    • 系統管理員會使用遠端桌面通訊協定 (RDP) 來存取 Windows VM 或安全殼層 (SSH) 來存取 Linux VM。
    • 存取權應包含工作所需的最小許可權數目。
    • 存取應該只有有限的時間才有效。
    • 存取到期之後,系統應該鎖定 VM 存取,以防止惡意存取嘗試。
  • 員工需要存取裝載在 Azure 中作為 VM 的遠端工作站。 適用下列條件:

    • 員工應該只在工作時間存取 VM。
    • 安全性系統應該考慮要求存取非必要和惡意工作時間外的 VM。
  • 使用者想要連線到 Azure VM 工作負載。 系統應該核准僅來自受管理且符合規範裝置的連線。

  • 系統經歷了大量暴力密碼破解攻擊:

    • 這些攻擊是以 RDP 和 SSH 埠 3389 和 22 上的 Azure VM 為目標。
    • 這些攻擊已嘗試猜測認證。
    • 解決方案應防止 3389 和 22 等存取埠公開至網際網路或內部部署環境。

架構

Architecture diagram showing how a user gains temporary access to an Azure V M.

下載此架構的 Visio 檔案

資料流程

  1. 驗證和存取決策 :使用者會針對 Microsoft Entra ID 進行驗證,以存取Azure 入口網站、Azure REST API、Azure PowerShell 或 Azure CLI。 如果驗證成功,Microsoft Entra 條件式存取原則就會生效。 該原則會驗證使用者是否符合特定準則。 範例包括使用受控裝置或從已知位置登入。 如果使用者符合準則,條件式存取會透過Azure 入口網站或其他介面授與使用者對 Azure 的存取權。

  2. 身分識別型 Just-In-Time 存取 :在授權期間,Microsoft Entra PIM 會將符合資格 類型的 自訂角色指派給使用者。 資格僅限於必要的資源,而且是 時間限制 角色,而不是 永久 角色。 在指定的時間範圍內,使用者會透過 Azure PIM 介面要求啟用此角色。 該要求可以觸發其他動作,例如啟動核准工作流程,或提示使用者進行多重要素驗證來驗證身分識別。 在核准工作流程中,另一個人需要核准要求。 否則,使用者未獲指派自訂角色,且無法繼續下一個步驟。

  3. 以網路為基礎的 Just-In-Time 存取 :驗證和授權之後,自訂角色會暫時連結到使用者的身分識別。 然後,使用者會要求 JIT VM 存取權。 該存取會針對 RDP 開啟埠 3389 上的 Azure Bastion 子網連線,或針對 SSH 開啟埠 22 的連線。 連線會直接執行至 VM 網路介面卡 (NIC) 或 VM NIC 子網。 Azure Bastion 會使用該連線開啟內部 RDP 會話。 會話僅限於 Azure 虛擬網路,且不會公開至公用網際網路。

  4. 連線至 Azure VM :使用者會使用暫存權杖存取 Azure Bastion。 透過此服務,使用者會建立與 Azure VM 的間接 RDP 連線。 連線僅適用于有限的時間。

元件

此解決方案會使用下列元件:

  • Azure 虛擬機器 是基礎結構即服務 (IaaS) 供應專案。 您可以使用虛擬機器來部署隨選、可調整的運算資源。 在使用此解決方案的生產環境中,將工作負載部署在 Azure VM 上。 然後,排除對 VM 和 Azure 資產不必要的暴露。

  • Microsoft Entra ID 是雲端式身分識別服務,可控制對 Azure 和其他雲端應用程式的存取。

  • PIM 是 Microsoft Entra 服務,可管理、控制及監視重要資源的存取。 在此解決方案中,此服務:

    • 限制永久系統管理員對標準和自訂特殊許可權角色的存取。
    • 提供自訂角色的 Just-In-Time 身分識別型存取。
  • JIT VM 存取 是一項適用於雲端的 Defender功能,可提供 VM 的 Just-In-Time 網路型存取。 這項功能會將拒絕規則新增至 Azure 網路安全性群組,以保護 VM 網路介面或包含 VM 網路介面的子網。 該規則會藉由封鎖對 VM 不必要的通訊,將 VM 的攻擊面降到最低。 當使用者要求存取 VM 時,服務會將暫時允許規則新增至網路安全性群組。 因為允許規則的優先順序高於拒絕規則,因此使用者可以連線到 VM。 Azure Bastion 最適合用來連線到 VM。 但使用者也可以使用直接 RDP 或 SSH 會話。

  • Azure RBAC 是一種授權系統,可提供更細緻的 Azure 資源存取管理。

  • Azure RBAC 自訂角色提供擴充 Azure RBAC 內建角色 的方式。 您可以使用它們,在符合組織需求的層級指派許可權。 這些角色支援 PoLP。 他們只會授與使用者針對使用者用途所需的許可權。 若要存取此解決方案中的 VM,使用者會取得下列許可權:

    • 使用 Azure Bastion。
    • 在 適用於雲端的 Defender 中要求 JIT VM 存取。
    • 讀取或列出 VM。
  • Microsoft Entra 條件式存取 是 Microsoft Entra ID 用來控制資源存取的工具。 條件式存取原則支援 零信任 安全性模型。 在此解決方案中,原則可確保只有已驗證的使用者能夠存取 Azure 資源。

  • Azure Bastion 可為網路中 VM 提供安全且順暢的 RDP 和 SSH 連線。 在此解決方案中,Azure Bastion 會連線使用 Microsoft Edge 或其他網際網路瀏覽器進行 HTTPS 的使用者,或保護埠 443 上的流量。 Azure Bastion 會設定與 VM 的 RDP 連線。 RDP 和 SSH 埠不會向網際網路或使用者的來源公開。

    Azure Bastion 在此解決方案中是選擇性的。 使用者可以使用 RDP 通訊協定直接連線到 Azure VM。 如果您在 Azure 虛擬網路中設定 Azure Bastion,請設定名為 AzureBastionSubnet 的個別子網。 然後將網路安全性群組與該子網建立關聯。 在該群組中,指定 HTTPS 流量的來源,例如使用者的內部部署 IP 無類別網域間路由 (CIDR) 區塊。 藉由使用此組態,您可以封鎖不是來自使用者內部部署環境的連線。

    參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

若要查看非公用LinkedIn設定檔,請登入 LinkedIn。

下一步