適用於 App Service 的 Azure 安全性基準

此安全性基準會將 Microsoft 雲端安全性基準 1.0 版的指引套用至 App Service。 Microsoft 雲端安全性基準提供如何在 Azure 上保護雲端解決方案的建議。 內容會依 Microsoft 雲端安全性基準所定義的安全性控件分組,以及適用於 App Service 的相關指引。

您可以使用雲端 Microsoft Defender 來監視此安全性基準及其建議。 Azure 原則 定義將會列在雲端入口網站 Microsoft Defender Microsoft Defender 的法規合規性一節中。

當功能有相關的 Azure 原則 定義時,這些定義會列在此基準中,以協助您測量與 Microsoft 雲端安全性基準檢驗控件和建議的合規性。 某些建議可能需要付費 Microsoft Defender 方案,才能啟用特定安全性案例。

注意

已排除不適用於 App Service的功能。 若要查看 App Service 如何完全對應至 Microsoft 雲端安全性基準檢驗,請參閱完整的 App Service 安全性基準對應檔案

安全性配置檔

安全性配置檔摘要說明 App Service 的高影響行為,這可能會導致安全性考慮增加。

服務行為屬性
產品類別 計算、Web
客戶可以存取主機/OS 無存取權
服務可以部署至客戶的虛擬網路
儲存待用客戶內容

網路安全性

如需詳細資訊,請參閱 Microsoft 雲端安全性基準:網路安全性

NS-1:建立網路分割界限

功能

虛擬網路整合

描述:服務支援將部署至客戶的私人 虛擬網路 (VNet) 。 深入瞭解

支援 默認啟用 設定責任
False 客戶

功能注意事項:使用 App Service 環境時,預設會設定 虛擬網路 整合,但必須使用公用多租使用者供應專案手動設定。

設定指引:確保對因特網位址進行輸出通訊的穩定IP:您可以使用 虛擬網路整合功能來提供穩定的輸出IP。 這可讓接收者視需要根據IP允許清單。

在隔離定價層中使用 App Service 時,也稱為 App Service 環境 (ASE) ,您可以直接部署到 Azure 虛擬網路 內的子網。 使用網路安全組封鎖虛擬網路中資源的輸入和輸出流量,或限制對 App Service 環境 中應用程式的存取,以保護您的 Azure App 服務 環境。

在多租使用者 App Service (不在隔離層) 中的應用程式,讓應用程式能夠透過具有 虛擬網路 整合功能的 虛擬網路 來存取或透過資源。 然後,您可以使用網路安全組來控制來自應用程式的輸出流量。 使用 虛擬網路 整合時,您可以啟用 「路由全部」設定,讓所有輸出流量受限於整合子網上的網路安全組和使用者定義路由。 這項功能也可以用來封鎖來自應用程式的公用地址的輸出流量。 虛擬網路整合無法用來提供應用程式的輸入存取權。

針對 Azure 服務的通訊,通常不需要依賴 IP 位址,而且應該改用服務端點等機制。

注意:針對 App Service 環境,網路安全組預設會包含最低優先順序的隱含拒絕規則,並要求您新增明確的允許規則。 根據最低特殊許可權的網路方法,為您的網路安全組新增允許規則。 用來裝載 App Service 環境 的基礎虛擬機無法直接存取,因為它們位於 Microsoft 管理的訂用帳戶中。

使用 虛擬網路 整合功能與相同區域中的虛擬網路時,請使用網路安全組和路由表搭配使用者定義的路由。 用戶定義的路由可以放在整合子網上,以如預期般傳送輸出流量。

參考整合您的應用程式與 Azure 虛擬網路

網路安全組支援

描述:服務網路流量會遵守其子網上的網路安全組規則指派。 深入瞭解

支援 默認啟用 設定責任
Microsoft

功能注意事項:網路安全組支援適用於所有使用 App Service 環境的客戶,但僅適用於使用公用多租使用者供應專案的 VNet 整合式應用程式。

設定指引:預設部署上啟用此設定時不需要其他設定。

參考App Service 環境 網路

NS-2:使用網路控制保護雲端服務

功能

描述:用於篩選網路流量的服務原生IP篩選功能, (不會與NSG或 Azure 防火牆) 混淆。 深入瞭解

支援 默認啟用 設定責任
False 客戶

設定指引:使用 Azure Web Apps 的私人端點,以允許位於專用網中的用戶端透過 Private Link 安全地存取應用程式。 私人端點會使用來自 Azure VNet 位址空間的 IP 位址。 私人網路上的用戶端與 Web 應用程式之間的網路流量會流經 VNet 和 Microsoft 骨幹網路上的 Private Link,以排除公開網際網路的風險。

注意:私人端點僅用於 Web 應用程式的連入流程。 傳出流量不會使用此私人端點。 您可以透過 VNet 整合功能,將傳出流量插入不同子網路中的網路。 App Service 流量接收端服務的私人端點會避免 SNAT 發生,並提供穩定的輸出 IP 範圍。

其他指引:如果在儲存在 Azure Container Registry (ACR) App Service 上執行容器,請確定這些映像會透過專用網提取。 若要這樣做,請在 ACR 上設定私人端點,以將這些映像與在 Web 應用程式上設定“WEBSITE_PULL_IMAGE_OVER_VNET” 應用程式設定搭配使用。

參考針對 Azure Web 應用程式使用私人端點

停用公用網路存取

描述:服務支援透過使用服務層級IP ACL篩選規則來停用公用網路存取, (非 NSG 或 Azure 防火牆) 或使用「停用公用網路存取」切換開關。 深入瞭解

支援 默認啟用 設定責任
False 客戶

設定指引:使用服務層級IP ACL篩選規則或私人端點,或將屬性設定 publicNetworkAccess 為在ARM中停用,停用公用網路存取。

參考設定 Azure App 服務 存取限制

NS-5:部署 DDoS 保護

NS-5 的其他指引

在裝載 App Service Web 應用程式防火牆的虛擬網路上啟用 DDOS 保護標準。 Azure 在其網路上提供 DDoS 基本保護,其可透過智慧型手機 DDoS Standard 功能來改善,這些功能可瞭解一般流量模式,並可偵測不尋常的行為。 DDoS 標準適用於 虛擬網路,因此必須針對應用程式前面的網路資源進行設定,例如 應用程式閘道 或 NVA。

NS-6:部署 Web 應用程式防火牆

NS-6 的其他指引

避免您的應用程式略過 WAF。 鎖定只有 WAF 的存取權,以確定無法略過 WAF。 使用存取限制、服務端點和私人端點的組合。

此外,透過已啟用 Azure 應用程式閘道 或 Azure Front Door 的 Web 應用程式防火牆 (WAF) 路由傳送流量,以保護 App Service 環境。

針對多租使用者供應專案,請使用下列專案保護應用程式的輸入流量:

  • 存取限制:控制輸入存取的一系列允許或拒絕規則
  • 服務端點:可以拒絕來自指定虛擬網路或子網外部的輸入流量
  • 私人端點:使用私人IP位址向 虛擬網路 公開您的應用程式。 在您的應用程式上啟用私人端點後,就無法再存取因特網

請考慮實作 Azure 防火牆,以集中建立、強制執行和記錄訂用帳戶和虛擬網路之間的應用程式和網路連線原則。 Azure 防火牆 會針對虛擬網路資源使用靜態公用IP位址,這可讓外部防火牆識別源自您虛擬網路的流量。

身分識別管理

如需詳細資訊,請參閱 Microsoft 雲端安全性效能評定:身分識別管理

IM-1:使用集中式身分識別和驗證系統

功能

資料平面存取所需的 Azure AD 驗證

描述:服務支援使用 Azure AD 驗證進行數據平面存取。 深入瞭解

支援 默認為啟用 設定責任
False 客戶

設定指引:針對已驗證的 Web 應用程式,僅使用已知的已建立識別提供者來驗證和授權使用者存取權。 如果您的應用程式只能由您自己的組織使用者存取,或者您的使用者全都使用 Azure Active Directory (Azure AD) ,請將 Azure AD 設定為預設驗證方法來控制數據平面存取。

參考Azure App 服務 和 Azure Functions 中的驗證和授權

資料平面存取的本機驗證方法

描述:支持數據平面存取的本機驗證方法,例如本機使用者名稱和密碼。 深入瞭解

支援 默認為啟用 設定責任
False 客戶

功能注意事項:避免使用本機驗證方法或帳戶,請盡可能停用這些方法。 請改用 Azure AD 在可能的情況下進行驗證。

設定指引:限制對數據平面存取使用本機驗證方法。 請改用 Azure Active Directory (Azure AD) 作為預設驗證方法,以控制您的資料平面存取。

參考Azure App 服務 和 Azure Functions 中的驗證和授權

IM-3:安全且自動地管理應用程式身分識別

功能

受控識別

描述:數據平面動作支援使用受控識別進行驗證。 深入瞭解

支援 默認為啟用 設定責任
False 客戶

設定指引:盡可能使用 Azure 受控識別,而不是服務主體,它可以向支援 Azure Active Directory 的 Azure 服務和資源進行驗證, (Azure AD) 驗證。 受控識別認證完全受平台管理、輪替和保護,且避開原始程式碼或組態檔中的硬式編碼認證。

搭配 App Service 使用受控識別的常見案例是存取其他 Azure PaaS 服務,例如 Azure SQL 資料庫、Azure 記憶體或 金鑰保存庫。

參考如何使用受控識別進行 App Service 和 Azure Functions

服務主體

描述:數據平面支援使用服務主體進行驗證。 深入瞭解

支援 默認為啟用 設定責任
False 客戶

其他指引:雖然服務支援服務主體作為驗證模式,但建議您盡可能使用受控識別。

適用於雲端的 Microsoft Defender 監視

Azure 原則 內建定義 - Microsoft.Web

名稱
(Azure 入口網站)
描述 效果 版本
(GitHub)
App Service 應用程式應使用受控識別 使用受控識別來增強驗證安全性 AuditIfNotExists, Disabled 3.0.0

IM-7:根據條件限制資源存取

功能

資料平面的條件式存取

描述:您可以使用 Azure AD 條件式存取原則來控制數據平面存取。 深入瞭解

支援 默認為啟用 設定責任
False 客戶

設定指引:在工作負載中定義 Azure Active Directory (Azure AD) 條件式存取適用的條件和準則。 請考慮常見的使用案例,例如封鎖或授與來自特定位置的存取權、封鎖具風險的登入行為,或要求特定應用程式的組織管理的裝置。

IM-8:限制認證和祕密的公開

功能

Azure Key Vault 中服務認證和秘密支援整合和儲存

描述:數據平面支援對認證和秘密存放區的 Azure 金鑰保存庫 原生使用。 深入瞭解

支援 默認啟用 設定責任
False 客戶

設定指引:確定應用程式秘密和認證會儲存在安全的位置,例如 Azure 金鑰保存庫,而不是將它們內嵌到程式碼或組態檔中。 在您的應用程式上使用受控識別,然後以安全的方式存取以 Key Vault 中儲存的認證或秘密。

參考針對 App Service 和 Azure Functions 使用 金鑰保存庫 參考

特殊權限存取

如需詳細資訊,請參閱 Microsoft 雲端安全性基準:特殊許可權存取

PA-7:受保護的系統管理員

功能

適用於數據平面的 Azure RBAC

描述:Azure Role-Based 存取控制 (Azure RBAC) 可用來管理對服務數據平面動作的存取。 深入瞭解

支援 默認啟用 設定責任
False 不適用 不適用

設定指引:不支援此功能來保護此服務。

PA-8:判斷雲端提供者支援的存取程序

功能

客戶加密箱

描述:客戶加密箱可用於 Microsoft 支援存取。 深入瞭解

支援 默認啟用 設定責任
False 客戶

設定指引:在 Microsoft 需要存取數據的支援案例中,使用客戶加密箱來檢閱,然後核准或拒絕每個 Microsoft 的數據存取要求。

資料保護

如需詳細資訊,請參閱 Microsoft 雲端安全性基準:數據保護

DP-1:探索、分類及標記敏感性資料

功能

敏感數據探索和分類

描述:Azure Purview 或 Azure 資訊保護) 之類的工具 (可用於服務中的數據探索和分類。 深入瞭解

支援 默認啟用 設定責任
False 不適用 不適用

功能資訊:在您的組建管線中實作認證掃描器,以識別程式代碼內的認證。 認證掃描器也有助於將探索到的認證移至更安全的位置,例如 Azure Key Vault。

設定指引:不支援此功能來保護此服務。

DP-2:監視以敏感性資料為目標的異常和威脅

功能

數據外洩/外洩防護

描述:服務支援 DLP 解決方案,以監視客戶內容) 中的敏感數據移動 (。 深入瞭解

支援 默認啟用 設定責任
False 不適用 不適用

功能注意事項:雖然數據識別、分類和外洩防護功能尚未可供 App Service 使用,但您可以移除目的地使用因特網或 Azure 服務「卷標」的所有規則,以減少虛擬網路的數據外泄風險。

Microsoft 會管理 App Service 的基礎基礎結構,並實作嚴格的控制,以防止數據遺失或暴露。

使用標籤來協助追蹤 App Service 儲存或處理敏感性信息的資源。

設定指引:不支援此功能來保護此服務。

DP-3:加密傳輸中的敏感性資料

功能

傳輸中資料加密

描述:服務支持數據平面的數據傳輸中加密。 深入瞭解

支援 默認啟用 設定責任
False 客戶

設定指引:使用並強制執行在 TLS/SSL 設定中設定的預設最低 TLS v1.2 版本,以加密傳輸中的所有資訊。 也確保所有 HTTP 連線要求都重新導向至 HTTPS。

參考在 Azure App 服務 中新增 TLS/SSL 憑證

適用於雲端的 Microsoft Defender 監視

Azure 原則 內建定義 - Microsoft.Web

名稱
(Azure 入口網站)
描述 效果 版本
(GitHub)
應該僅限透過 HTTPS 來存取 App Service 應用程式 使用 HTTPS 可確保伺服器/服務驗證,並保護傳輸中的資料不受網路層的竊聽攻擊。 稽核、停用、拒絕 4.0.0

DP-4:預設啟用待用資料加密

功能

使用平臺密鑰進行待用加密的數據

描述:支援使用平臺密鑰進行待用數據加密,任何待用客戶內容都會使用這些 Microsoft 管理的金鑰進行加密。 深入瞭解

支援 默認為啟用 設定責任
Microsoft

功能附註:App Service 應用程式中的網站內容,例如檔案,會儲存在 Azure 記憶體中,以自動加密待用內容。 選擇將應用程式秘密儲存在 金鑰保存庫,並在運行時間擷取。

客戶提供的秘密會在待用時加密,同時儲存在組態資料庫中 App Service。

請注意,雖然網站可以選擇性地使用本機連結的磁碟作為暫存記憶體, (例如 D:\local 和 %TMP%) ,但它們只會在公用多租使用者 App Service 供應專案中加密,而 Pv3 SKU 可以使用。 對於無法使用 Pv3 SKU 的較舊公用多租使用者縮放單位,客戶必須建立新的資源群組,並在該處重新部署其資源。

此外,客戶可以選擇直接從 ZIP 套件在 App Service 中執行其應用程式。 如需詳細資訊,請造訪:直接從 ZIP 套件 Azure App 服務 執行您的應用程式

設定指引:在預設部署上啟用此設定時,不需要任何其他設定。

DP-5:必要時在待用資料加密中使用客戶自控金鑰選項

功能

使用 CMK 進行待用資料加密

描述:服務所儲存的客戶內容支援使用客戶自控密鑰進行待用數據加密。 深入瞭解

支援 默認為啟用 設定責任
False 客戶

設定指引:如果需要法規合規性,請定義需要使用客戶自控密鑰加密的使用案例和服務範圍。 針對這些服務,使用客戶自控金鑰來啟用和實作待用資料加密。

注意:App Service 應用程式中的網站內容,例如檔案儲存在 Azure 記憶體中,以自動加密待用內容。 選擇將應用程式秘密儲存在 金鑰保存庫,並在運行時間擷取。

客戶提供的秘密會在待用時加密,同時儲存在組態資料庫中 App Service。

請注意,雖然網站可以選擇性地使用本機連結的磁碟作為暫存記憶體, (例如 D:\local 和 %TMP%) ,但它們不會在待用時加密。

參考使用客戶管理的密鑰進行待用加密

DP-6:使用安全金鑰管理程序

功能

Azure Key Vault 中的金鑰管理

描述:此服務支援任何客戶密鑰、秘密或憑證的 Azure 金鑰保存庫 整合。 深入瞭解

支援 默認為啟用 設定責任
False 客戶

設定指引:使用 Azure 金鑰保存庫 來建立和控制加密金鑰的生命週期,包括金鑰產生、散發和記憶體。 根據定義的排程或在密鑰淘汰或入侵時輪替和撤銷 Azure 金鑰保存庫 和服務中的密鑰。 如果您需要在工作負載、服務或應用層級中使用客戶管理的密鑰 (CMK) ,請確定您遵循金鑰管理的最佳做法:使用金鑰階層來產生個別的數據加密密鑰, (DEK) 金鑰與金鑰保存庫中的 KEK (KEK) 。 確定密鑰會向 Azure 金鑰保存庫 註冊,並透過來自服務或應用程式的金鑰標識碼來參考。 如果您需要將自己的金鑰 (BYOK) 至服務 (,例如將受 HSM 保護的金鑰從內部部署 HSM 匯入 Azure 金鑰保存庫) ,請遵循建議的指導方針來執行初始密鑰產生和密鑰傳輸。

參考針對 App Service 和 Azure Functions 使用 金鑰保存庫 參考

DP-7:使用安全的憑證管理程序

功能

Azure Key Vault 中的憑證管理

描述:此服務支援任何客戶憑證的 Azure 金鑰保存庫 整合。 深入瞭解

支援 默認為啟用 設定責任
False 客戶

設定指引:您可以使用SSL/TLS和其他憑證來設定 App Service,這些憑證可以直接在 App Service 上設定,或從 金鑰保存庫 參考。 為了確保集中管理所有憑證和秘密,請將 App Service 所用的任何憑證儲存在 Key Vault 中,而不是直接在 App Service 上進行本機部署。 設定時 App Service 會自動從 Azure 金鑰保存庫 下載最新的憑證。 請確定憑證產生遵循已定義的標準,而不需使用任何不安全的屬性,例如:密鑰大小不足、有效期間過長、密碼編譯不安全。 根據定義的排程或在憑證到期時,在 Azure 中設定憑證的自動輪替 金鑰保存庫。

參考在 Azure App 服務 中新增 TLS/SSL 憑證

資產管理

如需詳細資訊,請參閱 Microsoft 雲端安全性效能評定:資產管理

AM-2:僅使用核准的服務

功能

Azure 原則支援

描述:您可以透過 Azure 原則 監視和強制執行服務組態。 深入瞭解

支援 默認為啟用 設定責任
False 客戶

設定指引:使用 Microsoft Defender for Cloud 來設定 Azure 原則,以稽核及強制執行 Azure 資源的設定。 使用 Azure 監視器,在偵測到資源有設定偏差時建立警示。 使用 Azure 原則 [deny] 和 [如果不存在]效果來強制執行跨 Azure 資源的安全設定。

注意:使用 Azure 原則 定義及實作已部署 App Service 應用程式的標準安全性設定。 使用內建 Azure 原則 定義以及 「Microsoft.Web」 命名空間中的 Azure 原則 別名來建立自定義原則來警示、稽核及強制執行系統設定。 開發管理原則例外狀況的程式和管線。

參考適用於 Azure App 服務 的 Azure 原則 法規合規性控制

AM-4:限制對資產管理的存取

AM-4 的其他指引

隔離可處理敏感性資訊的系統。 若要這麼做,請使用個別的 App Service 方案或 App Service 環境,並考慮使用不同的訂用帳戶或管理群組。

記錄和威脅偵測

如需詳細資訊,請參閱 Microsoft 雲端安全性效能評定:記錄和威脅偵測

LT-1:啟用威脅偵測功能

功能

適用於服務/產品供應項目的 Microsoft Defender

描述:服務具有供應專案特定的 Microsoft Defender 解決方案,可監視和警示安全性問題。 深入瞭解

支援 默認為啟用 設定責任
False 客戶

設定指引:針對 App Service 使用 Microsoft Defender 來識別以透過 App Service 執行的應用程式為目標的攻擊。 啟用適用於 App Service 的 Microsoft Defender 時,會立即受益於此 Defender 方案所提供的下列服務:

  • 安全:適用於 App Service 的Defender會評估您 App Service計劃涵蓋的資源,並根據其結果產生安全性建議。 使用這些建議中的詳細指示來強化您的 App Service 資源。

  • 偵測:適用於 App Service 的Defender會監視 App Service 執行所在的 VM 實例及其管理介面、傳送至 App Service 應用程式的要求和回應、基礎沙箱和 VM,來偵測對 App Service 資源的眾多威脅App Service 內部記錄。

參考保護您的 Web 應用程式和 API

LT-4:啟用安全性調查的記錄

功能

Azure 資源記錄

描述:服務會產生資源記錄,可提供增強的服務特定計量和記錄。 客戶可以設定這些資源記錄,並將其傳送至自己的數據接收,例如記憶體帳戶或記錄分析工作區。 深入瞭解

支援 默認啟用 設定責任
False 客戶

設定指引:在 App Service 上啟用 Web 應用程式的資源記錄。

參考在 Azure App 服務 中啟用應用程式的診斷記錄

態勢與弱點管理

如需詳細資訊,請參閱 Microsoft 雲端安全性基準檢驗:狀態和弱點管理

PV-2:稽核和強制執行安全設定

PV-2 的其他指引

關閉遠端偵錯,生產工作負載不得開啟遠端偵錯,因為這會在服務上開啟額外的埠,這會增加受攻擊面。

適用於雲端的 Microsoft Defender 監視

Azure 原則 內建定義 - Microsoft.Web

名稱
(Azure 入口網站)
描述 效果 版本
(GitHub)
[已被取代]:函式應用程式應該已啟用「用戶端憑證 (傳入用戶端憑證」) 」 用戶端憑證可讓應用程式針對連入要求來要求憑證。 只有具備有效憑證的用戶端才能存取該應用程式。 此原則已由新原則取代為相同名稱,因為 Http 2.0 不支援客戶端憑證。 Audit, Disabled 3.1.0-已淘汰

PV-7:進行一般紅隊作業

PV-7 的其他指引

遵循 參與的滲透測試規則,對 Web 應用程式進行定期滲透測試。

備份與復原

如需詳細資訊,請參閱 Microsoft 雲端安全性效能評定:備份和復原

BR-1:確保定期自動備份

功能

Azure 備份

描述:服務可由 Azure 備份 服務備份。 深入瞭解

支援 默認啟用 設定責任
False 客戶

設定指引:盡可能實作無狀態應用程式設計,以簡化 App Service 的復原和備份案例。

如果您真的需要維護具狀態應用程式,請在 App Service 中啟用備份和還原功能,讓您輕鬆地手動或排程建立應用程式備份。 您可以將備份設定為無限期保留。 您可以透過覆寫現有應用程式或還原為其他應用程式,來將應用程式還原為先前狀態的快照集。 請確定定期和自動備份會以組織原則所定義的頻率進行。

注意:App Service 可以將下列資訊備份至您已將應用程式設定為要使用的 Azure 記憶體帳戶和容器:

  • 應用程式設定
  • 檔案內容
  • 已連線到您應用程式的資料庫

參考在 Azure 中備份您的應用程式

服務原生備份功能

描述:若未使用 Azure 備份) ,服務支援其本身的原生備份功能 (。 深入瞭解

支援 默認啟用 設定責任
False 不適用 不適用

設定指引:不支援此功能來保護此服務。

DevOps 安全性

如需詳細資訊,請參閱 Microsoft 雲端安全性基準檢驗:DevOps 安全性

DS-6:在整個 DevOps 生命週期強制執行工作負載安全性

DS-6 的其他指引

將程式碼部署至受控制且受信任的環境中的 App Service,例如妥善管理且安全的 DevOps 部署管線。 這可避免未受版本控制且已驗證從惡意主機部署的程序代碼。

下一步