使用 Microsoft Entra 應用程式 Proxy 從遠端存取應用程式的安全性考慮

本文說明當您使用 Microsoft Entra 應用程式 Proxy 時,用來保護使用者和應用程式安全的元件。

下圖顯示 Microsoft Entra ID 如何啟用對內部部署應用程式的安全遠端存取。

透過 Microsoft Entra 應用程式 Proxy 進行安全遠端訪問的圖表

安全性優點

Microsoft Entra 應用程式 Proxy 提供許多安全性優點。 優點清單如下:

  • 已驗證的存取權
  • 條件式存取
  • 流量終止
  • 所有輸出存取
  • 雲端規模分析和機器學習
  • 遠端訪問即服務
  • Microsoft 分散式阻斷服務 (DDoS) 保護服務

已驗證的存取權

當您使用 Microsoft Entra 預先驗證時,只有已驗證的連線才能存取您的網路。

Microsoft Entra 應用程式 Proxy 依賴 Microsoft Entra 安全性令牌服務 (STS) 來進行所有驗證。 預先驗證是其本質,會封鎖大量匿名攻擊,因為只有已驗證的身分識別可以存取後端應用程式。

如果您選擇 [傳遞] 作為預先驗證方法,則不會取得此權益。

條件式存取

在建立網路連線之前,請先套用更豐富的原則控制。

透過 條件式存取,您可以定義使用者如何存取應用程式的限制。 您可以建立原則,根據位置、驗證強度和用戶風險配置檔來限制登入。

您也可以使用條件式存取來設定多重要素驗證原則,將另一層安全性新增至您的用戶驗證。 此外,您的應用程式也可以透過 Microsoft Entra 條件式存取路由傳送至 適用於雲端的 Microsoft Defender Apps,透過存取和會話原則提供即時監視和控制

流量終止

所有流量都會在雲端中終止。

因為 Microsoft Entra 應用程式 Proxy 是反向 Proxy,因此所有後端應用程式的流量都會在服務終止。 會話只能與後端伺服器重新建立,這表示您的後端伺服器不會公開至直接 HTTP 流量。 組態表示您受到更好的保護,免於遭受目標攻擊。

所有存取權都是輸出

您不需要開啟公司網路的輸入連線。

專用網連接器只會使用連出連線至 Microsoft Entra 應用程式 Proxy 服務。 不需要開啟連入連線的防火牆埠。 傳統 Proxy 需要周邊網路(也稱為 DMZ非軍事區域已篩選子網),並允許存取網路邊緣未經驗證的連線。 使用應用程式 Proxy 時,您不需要周邊網路,因為所有連線都是輸出且透過安全通道進行。

如需連接器的詳細資訊,請參閱 瞭解 Microsoft Entra 專用網連接器

雲端規模分析和機器學習

取得最先進的安全性保護。

因為它是 Microsoft Entra ID 的一部分,應用程式 Proxy 會使用 Microsoft Entra ID Protection,以及來自 Microsoft 安全性回應中心和數位犯罪單位的數據。 我們一起主動識別遭入侵的帳戶,並提供防範高風險登入的保護。我們會考慮許多因素,以判斷哪些登入嘗試有高風險。 這些因素包括標幟受感染的裝置、匿名網路,以及非典型或不太可能的位置。

這些報告和事件中有許多已可透過 API 取得,以便與您的安全性資訊和事件管理 (SIEM) 系統整合。

遠端訪問即服務

您不必擔心維護及修補內部部署伺服器。

未修補的軟體仍會造成大量攻擊。 Microsoft Entra 應用程式 Proxy 是 Microsoft 擁有的因特網規模服務,因此您一律會取得最新的安全性修補程式和升級。

為了改善 Microsoft Entra 應用程式 Proxy 所發行應用程式的安全性,我們會封鎖 Web 編目程式機器人編製索引和封存您的應用程式。 每次 Web 編目程式機器人嘗試擷取已發行應用程式的機器人設定時,應用程式 Proxy 會以包含 User-agent: * Disallow: /的robots.txt檔案回復。

Microsoft 分散式阻斷服務 (DDoS) 保護服務

透過應用程式 Proxy 發行的應用程式會受到保護,以防止分散式阻斷服務 (DDoS) 攻擊。 Microsoft 會自動在所有資料中心啟用此保護。 Microsoft DDoS 保護服務提供一律開啟的流量監視和即時降低常見的網路層級攻擊。

背後原理

Microsoft Entra 應用程式 Proxy 包含兩個部分:

  • 雲端式服務:此服務會在 Microsoft 雲端中執行,而且是建立外部用戶端/用戶連線的位置。
  • 內部部署連接器:內部部署元件,連接器會接聽來自 Microsoft Entra 應用程式 Proxy 服務的要求,並處理內部應用程式的連線。

在下列情況下,會建立連接器與應用程式 Proxy 服務之間的流程:

  • 連接器會先設定。
  • 連接器會從應用程式 Proxy 服務提取組態資訊。
  • 使用者存取已發佈的應用程式。

注意

所有通訊都會透過TLS發生,且一律源自應用程式 Proxy 服務的連接器。 服務僅供輸出。

連接器會使用用戶端憑證,對應用程式 Proxy 服務進行幾乎所有呼叫的驗證。 此程式的唯一例外是建立用戶端憑證的初始設定步驟。

安裝連接器

第一次設定連接器時,就會發生下列流程事件:

  1. 連接器註冊服務會在連接器安裝時發生。 系統會提示使用者輸入其 Microsoft Entra 管理員認證。 然後,從此驗證取得的令牌會呈現給 Microsoft Entra 應用程式 Proxy 服務。
  2. 應用程式 Proxy 服務會評估令牌。 它會檢查使用者是否為租使用者中的全域 管理員 istrator。 如果使用者不是系統管理員,進程就會終止。
  3. 連接器會產生客戶端憑證要求,並將它連同令牌一起傳遞至應用程式 Proxy 服務。 服務接著會驗證令牌,並簽署客戶端憑證要求。
  4. 連接器會使用用戶端憑證來與應用程式 Proxy 服務的未來通訊。
  5. 連接器會使用其用戶端憑證,從服務執行系統組態數據的初始提取,現在已準備好接受要求。

更新組態設定

每當應用程式 Proxy 服務更新組態設定時,就會發生下列流程事件:

  1. 連接器會使用其用戶端憑證,連線到應用程式 Proxy 服務內的組態端點。
  2. 用戶端憑證已驗證。
  3. 應用程式 Proxy 服務會將組態數據傳回連接器(例如,連接器應加入的連接器群組)。
  4. 如果目前的憑證超過 180 天,連接器會產生新的憑證要求。

存取已發佈的應用程式

當使用者存取已發佈的應用程式時,應用程式 Proxy 服務和專用網連接器之間會發生下列事件:

  1. 服務會驗證應用程式的使用者
  2. 服務會將要求放在連接器佇列中
  3. 連接器會處理來自佇列的要求
  4. 連接器會等候回應
  5. 服務會將數據串流至使用者

若要深入瞭解這些步驟中發生的內容,請繼續閱讀。

1.服務會驗證應用程式的使用者

如果應用程式使用傳遞作為其預先驗證方法,則會略過本節中的步驟。

如果用戶設定為使用 Microsoft Entra ID 預先驗證,則會重新導向至 Microsoft Entra STS 進行驗證。 下列步驟會進行:

  1. 應用程式 Proxy 會檢查條件式存取原則需求。 此步驟可確保使用者已指派給應用程式。 如果需要雙步驟驗證,驗證順序會提示使用者輸入第二個驗證方法。
  2. Microsoft Entra STS 會為應用程式發出已簽署的令牌,並將使用者重新導向回應用程式 Proxy 服務。
  3. 應用程式 Proxy 會驗證令牌是否已發行至正確的應用程式、已簽署且有效。
  4. 應用程式 Proxy 會設定加密的驗證 Cookie,以指出對應用程式的成功驗證。 Cookie 包含以 Microsoft Entra ID 令牌為基礎的到期時間戳。 Cookie 也包含驗證所依據的用戶名稱。 Cookie 會使用只有應用程式 Proxy 服務已知的私鑰來加密。
  5. 應用程式 Proxy 會將使用者重新導向回原始要求的URL。

如果預先驗證步驟的任何部分失敗,則會拒絕使用者的要求,並顯示指出問題來源的訊息。

2.服務會將要求放在連接器佇列中

連線 ors 會保持對應用程式 Proxy 服務的輸出連線開啟。 當要求傳入時,服務會在其中一個開啟的連線上將要求排入佇列,以供連接器挑選。

要求包含要求標頭、來自加密 Cookie 的數據、提出要求的使用者,以及要求標識碼。 雖然來自加密 Cookie 的數據會隨要求一起傳送,但驗證 Cookie 本身不是。

3.連接器會處理來自佇列的要求。

根據要求,應用程式 Proxy 會執行下列其中一個動作:

  • 如果要求是簡單的作業(例如,主體內沒有與 RESTful API GET 要求一樣的數據),連接器會連線到目標內部資源,然後等候回應。

  • 如果要求在本文中具有與其相關聯的數據(例如 RESTful API POST 作業),連接器會使用用戶端憑證對應用程式 Proxy 實例進行輸出連線。 它會建立此連線來要求數據,並開啟與內部資源的連線。 從連接器接收要求之後,應用程式 Proxy 服務會開始接受使用者的內容,並將數據轉送至連接器。 接著,連接器會將數據轉送至內部資源。

4.連接器會等候回應。

當所有內容的要求和傳輸完成之後,連接器會等候回應。

在收到回應之後,連接器會對應用程式 Proxy 服務進行輸出連線,以傳回標頭詳細數據並開始串流傳回數據。

5.服務會將數據串流至使用者。 

此時會進行應用程式的一些處理。 例如,應用程式 Proxy 會轉譯標頭或 URL。

下一步