共用方式為


已啟用 Azure Arc 的伺服器的安全性概觀

本文說明使用已啟用 Azure Arc 的伺服器時的安全性考量事項和可用的控制。 無論您是安全性從業人員還是 IT 操作員,本文中的資訊都可以讓您自信地以符合組織安全性需求的方式設定 Azure Arc。

責任

已啟用 Azure Arc 的伺服器部署的安全性是您與 Microsoft 之間的共同責任。 Microsoft 負責:

  • 保護儲存系統中繼資料的雲端服務並為您連線到該服務的代理程式協調作業。
  • 保全和保護您儲存在 Azure 中的系統中繼資料的隱私權。
  • 記錄選用的安全性功能,以便您了解部署選項的優點和缺點。
  • 定期發佈代理程式更新,以改善安全性、品質、效能和功能。

您負責:

  • 管理及監視對您的 Azure 訂用帳戶中已啟用 Azure Arc 資源的 RBAC 存取權。
  • 保護並定期輪換任何用來管理已啟用 Azure Arc 之伺服器的帳戶認證。 這包括用來將新伺服器上線的任何服務主體秘密或認證。
  • 決定是否應該以及如何將本文中所述的任何安全性功能 (例如,延伸模組允許清單) 套用至您所部署的 Azure Connected Machine 代理程式。
  • 讓 Azure Connected Machine 代理程式和延伸模組保持最新。
  • 確定 Azure Arc 是否符合組織的法律、法規和內部原則義務。
  • 保護伺服器本身,包括用來執行伺服器的計算、儲存體和網路基礎結構。

架構概觀

已啟用 Azure Arc 的伺服器是一項基於代理程式的服務。 您與 Azure Arc 的互動主要是透過 Azure 的 API、入口網站和管理體驗。 您在 Azure 中看到的資料和採取的動作會透過每部受控伺服器上安裝的 Azure Connected Machine 代理程式進行轉送。 Azure 是代理程式的事實來源。 告訴代理程式執行某些動作 (例如,安裝延伸模組) 的唯一方式是對伺服器的 Azure 表示採取動作。 這有助於確保您組織的 RBAC 和原則指派可以在進行任何變更之前評估要求。

Azure Connected Machine 代理程式主要是其他 Azure 和第三方服務的支援平台。 其核心功能包括:

  • 在您的機器和 Azure 訂用帳戶之間建立關聯性
  • 為代理程式和其他應用程式提供受控識別,以在向 Azure 進行驗證時使用
  • 透過延伸模組啟用其他功能 (代理程式、指令碼)
  • 評估並強制執行伺服器上的設定

安裝 Azure Connected Machine 代理程式之後,您就可以在伺服器上啟用其他 Azure 服務,以符合您的監視、修補程式管理、遠端存取或其他需求。 Azure Arc 的角色是協助讓這些服務能夠在 Azure 自己的資料中心之外運作。

您可以使用 Azure 原則來限制您的組織使用者可以使用 Azure Arc 執行的動作。Azure 原則之類的雲端式限制是大規模套用安全性控制的絕佳方式,同時保留隨時調整限制的彈性。 不過,有時您需要更強大的控制來防止合法特權帳戶被用來規避安全性措施 (例如,停用原則)。 考慮到這一點,Azure Connected Machine 代理程式也有自己的安全性控制,這些控制優先於雲端中所設定的任何限制。

描述 Azure Connected Machine 代理程式如何運作的架構圖。

代理程式服務

Azure Connected Machine 代理程式是在您的伺服器上執行並協助將其與 Azure 連線的四個服務/daemon 的組合。 它們作為單一應用程式安裝在一起,並使用 azcmagent 命令列介面進行集中管理。

混合式執行個體中繼資料服務

混合式執行個體中繼資料服務 (HIMDS) 是代理程式中的「核心」服務,負責向 Azure 註冊伺服器、持續進行中繼資料同步處理 (活動訊號)、受控識別作業,以及裝載本機 REST API (其他應用程式可以查詢該 API 以了解裝置與 Azure 的連線)。 此服務不具特殊權限,在 Windows 上以虛擬帳戶 (NT SERVICE\himds,SID 為 SID S-1-5-80-4215458991-2034252225-2287069555-1155419622-2701885083) 執行,或在 Linux 作業系統上以標準使用者帳戶 (himds) 執行。

延伸模組管理員

延伸模組管理員負責在您的機器上安裝、設定、升級和移除其他軟體。 Azure Arc 開箱即用並不具備監視或修補您的機器之類的功能。 相反地,當您選擇使用這些功能時,延伸模組管理員會下載並啟用這些功能。 延伸模組管理員在 Windows 上會以本機系統的形式執行,而在 Linux 上會以 root 的身分執行,因為它所安裝的軟體可能需要完整的系統存取權。 您可以限制允許延伸模組管理員安裝哪些延伸模組,如果您不打算使用延伸模組,則可以完全停用它。

客體設定

來賓設定服務會在您的伺服器上評估並強制執行 Azure 機器 (來賓) 設定原則。 這些是用 PowerShell Desired State Configuration 撰寫的特殊 Azure 原則,用於檢查伺服器上的軟體設定。 來賓設定服務會定期評估並報告這些原則的合規性,如果原則是在強制模式下設定的,則將變更系統上的設定以使機器在必要時恢復合規性。 來賓設定服務在 Windows 上會以本機系統的形式執行,而在 Linux 上會以 root 的身分執行,以確保它可以存取您系統上的所有設定。 如果您不打算使用來賓設定原則,則可以停用來賓設定功能。

Azure Arc Proxy

Azure Arc Proxy 服務負責彙總來自 Azure Connected Machine 代理程式服務和您已安裝的任何延伸模組的網路流量,並決定將該資料路由傳送到何處。 如果您使用 Azure Arc 閘道來簡化網路端點,則 Azure Arc Proxy 服務是透過 Azure Arc 閘道 (而不是預設路由) 來轉送網路要求的本機元件。 Azure Arc Proxy 在 Windows 上會以網路服務的形式執行,而在 Linux 上會以標準使用者帳戶 (arcproxy) 執行。 在您將代理程式設定為使用 Azure Arc 閘道之前,它預設為停用狀態。

第 0 層資產的安全性考量事項

第 0 層資產 (例如 Active Directory 網域控制站、憑證授權單位伺服器或高度敏感的商務應用程式伺服器) 可以特別小心地連線到 Azure Arc,以確保只有所需的管理功能和授權使用者才能管理伺服器。 這些建議不是必需的,但強烈建議您維護第 0 層資產的安全性態勢。

專用 Azure 訂用帳戶

對已啟用 Azure Arc 的伺服器的存取通常由其在 Azure 中所屬的組織階層所決定。 您應將任何訂用帳戶或管理群組管理員視為相當於第 0 層資產的本機系統管理員,因為他們可以使用其權限為 Azure Arc 資源新增新的角色指派。 此外,在訂用帳戶或管理群組層級所套用的原則也可能有權對伺服器進行變更。

為了最大限度地減少有權存取第 0 層資產的帳戶和原則的數目,請考慮使用專用的 Azure 訂用帳戶,該訂用帳戶可以由盡可能少的長期系統管理員進行密切監視和設定。 檢閱任何父管理群組中的 Azure 原則,以確保它們符合您對這些伺服器的意圖。

停用不必要的管理功能

對於第 0 層資產,您應該使用本機代理程式安全性控制來停用代理程式中任何未使用的功能,以防止有意 (或無意) 地使用這些功能來對伺服器進行變更。 這包括:

  • 停用遠端存取功能
  • 為您打算使用的延伸模組設定延伸模組允許清單,或者如果您不打算使用延伸模組,則可停用延伸模組管理員
  • 如果您不打算使用機器設定原則,則可停用機器設定代理程式

以下範例示範如何鎖定需要使用 Azure 監視器代理程式收集 Microsoft Sentinel 和「適用於伺服器的 Microsoft Defender」的安全性記錄以防範惡意程式碼威脅的網域控制站的 Azure Connected Machine 代理程式:

azcmagent config set incomingconnections.enabled false

azcmagent config set guestconfiguration.enabled false

azcmagent config set extensions.allowlist “Microsoft.Azure.Monitor/AzureMonitorWindowsAgent,Microsoft.Azure.AzureDefenderForServers/MDE.Windows”