Azure 函數的安全基線

此安全基準將 Microsoft 雲端安全基準測試 1.0 版的指引套用到 Functions。 Microsoft 雲端安全性基準提供如何在 Azure 上保護雲端解決方案的建議。 內容依據 Microsoft 雲端安全基準所定義的安全控制措施及適用於 Functions 的相關指引進行分組。

您可以使用 Microsoft Defender for Cloud 來監視此安全性基準及其建議。 Azure 原則定義會列在適用於雲端的 Microsoft Defender 入口網站頁面的 [法規合規性] 區段中。

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

備註

不適用於功能的特性 已被排除。 想了解 Functions 如何完全對應 Microsoft 雲端安全基準,請參閱 完整的 Functions 安全基準對應檔案

安全檔案

安全概況總結了功能的高影響力行為,這可能導致安全考量的增加。

服務行為屬性 價值觀
產品類別 計算、網頁
客戶可以訪問主機/操作系統 無存取權
服務可以部署到客戶的虛擬網路中
儲存於靜止狀態的客戶資料

網路安全性

欲了解更多資訊,請參閱 Microsoft 雲端安全基準:網路安全

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

Features

虛擬網路整合

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

支持 預設啟用 配置責任
客戶

設定指引:將服務部署到虛擬網路中。 除非有充分理由直接指派公共 IP,否則請為該資源指派私有 IP(如適用)。

注意:網路功能由服務公開,但需依應用程式配置。 預設情況下,允許公共網路存取。

參考資料Azure Functions 網路選項

網路安全群組支援

說明:服務網路流量在其子網路上遵守網路安全群組的規則指派。 深入瞭解

支持 預設啟用 配置責任
客戶

設定指引:使用網路安全群組(NSG)依埠、協定、來源 IP 位址或目的 IP 位址限制或監控流量。 建立 NSG 規則來限制服務的開放連接埠 (例如防止從不受信任的網路存取管理連接埠)。 請注意,NSG 預設會拒絕所有輸入流量,但允許來自虛擬網路和 Azure Load Balancer 的流量。

參考資料Azure Functions 網路選項

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

Features

說明:服務原生 IP 過濾功能,用於過濾網路流量(不要與 NSG 或 Azure Firewall 混淆)。 深入瞭解

支持 預設啟用 配置責任
客戶

設定指引:為所有支援 Private Link 功能的 Azure 資源部署私人端點,建立資源的私人接取點。

參考資料Azure Functions 網路選項

停用公共網路存取

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

支持 預設啟用 配置責任
客戶

功能說明:Azure Functions 可以設定為私有端點,但目前沒有單一開關可以關閉公共網路存取,除非設定私有端點。

設定指引:使用服務層級 IP ACL 過濾規則或切換開關,以停用公共網路存取。

身分識別管理

如需詳細資訊,請參閱 Microsoft 雲端安全性基準:身分識別管理

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

Features

Data Plane Access 需要 Azure AD 認證

說明:服務支援使用 Azure AD 認證來存取資料平面。 深入瞭解

支持 預設啟用 配置責任
客戶

功能說明:客戶擁有的端點可能會被設定為需要 Azure AD 認證要求。 系統提供的部署端點及進階開發工具支援 Azure AD,但預設可替代使用發佈憑證。 這些出版憑證可以被停用。 應用程式中的部分資料平面端點可能由 Functions 主機中設定的管理金鑰存取,目前這些金鑰無法依照 Azure AD 需求配置。

設定指引:使用 Azure Active Directory (Azure AD) 作為預設的認證方法來控制你的資料平面存取。

參考資料設定部署憑證 - 停用基本認證

資料平面存取的本地認證方法

說明:支援資料平面存取的本地認證方法,例如本地使用者名稱與密碼。 深入瞭解

支持 預設啟用 配置責任
Microsoft

功能說明:部署憑證預設建立,但可停用。 應用程式執行時暴露的部分操作可使用管理金鑰執行,但目前無法停用。 此金鑰可儲存在 Azure Key Vault 中,且可隨時重新產生。 避免使用本地驗證方法或帳號,這些都應盡可能停用。 請盡可能改為使用 Azure AD 進行驗證。

組態指引:不需要其他組態,因為這是在預設部署上啟用的。

參考資料停用基本認證

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

Features

管理式身分識別

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

支持 預設啟用 配置責任
客戶

設定指引:盡可能使用 Azure 管理身份,取代服務主體,這樣才能驗證支援 Azure Active Directory(Azure AD)認證的 Azure 服務與資源。 受控識別認證完全受平臺管理、輪替及保護,避免原始程式碼或組態檔中的硬式編碼認證。

參考資料如何在 App Service 與 Azure Functions 中使用受管理身份

服務負責人

說明:資料平面支援使用服務主體進行認證。 深入瞭解

支持 預設啟用 配置責任
客戶

設定指引:目前 Microsoft 沒有針對此功能配置的指引。 請檢閱並判斷您的組織是否想要設定這項安全性功能。

適用於雲端監視的 Microsoft Defender

Azure Policy 內建定義 - Microsoft.Web

名稱
(Azure 入口網站)
Description Effect(s) 版本
(GitHub)
App Service 應用程式應使用受控識別 使用受控識別來增強驗證安全性 AuditIfNotExists,已停用 3.0.0

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

Features

資料平面的條件存取

說明:資料平面存取可透過 Azure AD 條件存取政策來控制。 深入瞭解

支持 預設啟用 配置責任
客戶

功能說明:對於應用程式未定義的資料平面端點,條件存取需針對 Azure 服務管理進行設定。

設定指引:定義工作負載中 Azure Active Directory (Azure AD) 條件存取的適用條件與條件。 考慮常見的使用案例,例如從特定地點封鎖或授權存取、阻擋高風險的登入行為,或要求組織管理的裝置才能用於特定應用。

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

Features

服務憑證與機密支援的整合和儲存於 Azure Key Vault

說明:資料平面支援原生使用 Azure Key Vault 來儲存憑證與秘密。 深入瞭解

支持 預設啟用 配置責任
客戶

設定指引:確保秘密與憑證儲存在如 Azure Key Vault 等安全地點,而非嵌入程式碼或設定檔中。

參考資料使用 Key Vault 參考 用於 App Service 和 Azure Functions

特權存取

欲了解更多資訊,請參閱 Microsoft 雲端安全基準:特權存取

PA-1:分隔及限制高許可權/系統管理使用者

Features

本地管理員帳號

說明:服務採用了本地管理帳戶的概念。 深入瞭解

支持 預設啟用 配置責任
不適用 不適用

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

PA-7:遵循適量管理(最小權限)原則

Features

Azure RBAC for Data Plane

說明:Azure Role-Based 存取控制(Azure RBAC)可用於管理對服務資料平面動作的存取。 深入瞭解

支持 預設啟用 配置責任
客戶

功能說明:唯一能利用 Azure RBAC 的資料平面動作是 Kudu/SCM/部署端點。 這些需要對Microsoft.Web/sites/publish/Action操作取得許可。 由客戶應用程式本身暴露的端點不受 Azure RBAC 保護。

設定指引:使用 Azure 角色基礎存取控制(Azure RBAC)透過內建的角色指派管理 Azure 資源存取。 Azure RBAC 角色可以指派給使用者、群組、服務主體及受管理身份。

參考資料存取 Kudu 所需的 RBAC 權限

PA-8:確定雲端提供者支援的存取流程

Features

客戶加密箱

說明:客戶鎖箱可用於 Microsoft 支援存取權限。 深入瞭解

支持 預設啟用 配置責任
客戶

設定指引:在支援情境下,Microsoft 需要存取您的資料時,請使用 Customer Lockbox 審查,然後批准或拒絕 Microsoft 的每一項資料存取請求。

資料保護

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

DP-2:監視以敏感數據為目標的異常和威脅

Features

資料外洩/遺失防範

說明:此服務支援DLP 解決方案,以監控敏感資料移動(在客戶內容中)。 深入瞭解

支持 預設啟用 配置責任
不適用 不適用

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

DP-3:加密傳輸中的敏感數據

Features

傳輸中的資料加密

描述:服務支援對於資料平面的傳輸中資料進行加密。 深入瞭解

支持 預設啟用 配置責任
客戶

功能說明:功能應用程式預設為支援 TLS 1.2 的最低版本,但應用程式可透過設定設定設定設定較低版本。 預設情況下,收到的請求不需要 HTTPS,但也可以透過設定,屆時任何 HTTP 請求都會自動被導向到 HTTPS。

設定指引:在內建原生傳輸資料加密功能的服務中啟用安全傳輸。 在任何網頁應用程式和服務上強制執行 HTTPS,並確保使用 TLS v1.2 或更新版本。 像是 SSL 3.0、TLS v1.0 這類舊版應該被停用。 若要遠端管理虛擬機,請使用 SSH(Linux 使用)或 RDP/TLS(Windows 使用)取代未加密協定。

參考資料在 Azure App Service 中新增及管理 TLS/SSL 憑證

適用於雲端監視的 Microsoft Defender

Azure Policy 內建定義 - Microsoft.Web

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

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

Features

使用平台金鑰的靜止資料加密

描述:支援使用平台金鑰進行待用資料加密,任何待用客戶內容都會使用這些 Microsoft 受控金鑰進行加密。 深入瞭解

支持 預設啟用 配置責任
Microsoft

組態指引:不需要其他組態,因為這是在預設部署上啟用的。

DP-5:視需要在待用數據加密中使用客戶自控密鑰選項

Features

使用 CMK 進行資料靜止加密

說明:服務中儲存的客戶內容支援使用客戶管理金鑰進行靜態資料加密。 深入瞭解

支持 預設啟用 配置責任
客戶

功能說明:Azure Functions 不直接支援此功能,但應用程式可設定利用此功能的服務,取代功能中可能的資料儲存。 Azure 檔案可掛載為檔案系統,所有應用程式設定(包括秘密)可儲存在 Azure Key Vault,部署選項如 run-from-package 可從 Azure Blob 儲存擷取內容。

設定指引:如為符合法規要求,請定義使用客戶管理金鑰加密的使用情境與服務範圍。 啟用並實作使用客戶管理金鑰進行資料靜態加密。

參考資料使用客戶管理的金鑰加密您的應用程式資料

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

Features

Azure Key Vault 的金鑰管理

說明:服務支援 Azure Key Vault 整合,以支援任何客戶金鑰、秘密或憑證。 深入瞭解

支持 預設啟用 配置責任
客戶

設定指引:使用 Azure Key Vault 建立並控制加密金鑰的生命週期,包括金鑰產生、分發與儲存。 根據既定的排程,或在金鑰過期或洩露時,輪換並吊銷 Azure Key Vault 和您服務中的金鑰。 當需要在工作負載、服務或應用層級使用客戶管理金鑰(CMK)時,請確保遵循金鑰管理的最佳實務:使用金鑰階層結構,與你的金鑰加密金鑰(KEK)在金鑰庫中產生獨立的資料加密金鑰(DEK)。 確保金鑰已註冊在 Azure Key Vault 中,並透過服務或應用程式的金鑰 ID 來參考。 如果你需要自帶金鑰(BYOK)到服務(例如將本地 HSM 的 HSM 保護金鑰匯入 Azure Key Vault),請依建議指引進行初始金鑰產生與金鑰轉移。

參考資料將 Key Vault 參考用於 App Service 和 Azure Functions

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

Features

Azure Key Vault 中的憑證管理

說明:該服務支援任何客戶憑證的 Azure Key Vault 整合。 深入瞭解

支持 預設啟用 配置責任
客戶

設定指引:使用 Azure Key Vault 建立並控制憑證生命週期,包括建立、匯入、輪替、撤銷、儲存及清除憑證。 請確定憑證產生遵循已定義的標準,而不使用任何不安全的屬性,例如:金鑰大小不足、有效期間過長、不安全的密碼編譯。 根據定義的排程或憑證到期時,設定 Azure Key Vault 和 Azure 服務(若支援)自動輪換憑證。 若應用程式不支援自動輪替,請確保它們仍透過 Azure Key Vault 及應用程式中的手動方式進行輪換。

參考資料在 Azure App Service 中新增 TLS/SSL 憑證

資產管理

欲了解更多資訊,請參閱 Microsoft 雲端安全基準:資產管理

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

Features

Azure 原則支援

說明:服務設定可透過 Azure Policy 監控與強制執行。 深入瞭解

支持 預設啟用 配置責任
客戶

設定指引:使用 Microsoft Defender for Cloud 來配置 Azure 政策,以稽核並強制執行 Azure 資源的設定。 使用 Azure 監視器,在偵測到資源有設定偏差時建立警示。 使用 Azure Policy [deny] 和 [如果不存在就部署]效果,強制在 Azure 資源間執行安全的設定。

記錄和威脅偵測

欲了解更多資訊,請參閱 Microsoft 雲端安全基準:日誌與威脅偵測

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

Features

Microsoft Defender 服務/產品方案

說明:Service 提供針對特定服務的 Microsoft Defender 解決方案,用於監控並警示安全問題。 深入瞭解

支持 預設啟用 配置責任
客戶

功能說明:Defender for App Service 包含 Azure Functions。 如果啟用此解決方案,啟用範圍下的函式應用程式將被納入。

設定指引:使用 Azure Active Directory (Azure AD) 作為預設的認證方式來控制你的管理平面存取權限。 當你收到 Microsoft Defender for Key Vault 的警示時,請調查並回應該警示。

參考資料Defender for App Service

LT-4:啟用日誌以進行安全性調查

Features

Azure 資源記錄檔

說明:服務產生資源日誌,可提供強化的服務專屬指標與日誌。 客戶可以設定這些資源記錄,並將其傳送至自己的數據接收端,例如儲存帳戶或記錄分析工作區。 深入瞭解

支持 預設啟用 配置責任
客戶

設定指引:啟用服務的資源日誌。 例如,Key Vault 支援額外的資源日誌,用於從金鑰保險庫取得秘密的操作,Azure SQL 則有資源日誌追蹤資料庫請求。 資源記錄的內容會因 Azure 服務和資源類型而有所不同。

參考資料用 Azure Monitor Logs 來監控 Azure Functions 的狀態

備份及復原

欲了解更多資訊,請參閱 Microsoft 雲端安全基準:備份與復原

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

Features

Azure 備份

說明:該服務可由 Azure 備份服務備份。 深入瞭解

支持 預設啟用 配置責任
不適用 不適用

功能說明:若託管於標準、高級或獨立應用程式服務方案,應用程式可提供備份功能。 此功能不利用 Azure Backup,也不包含事件來源或外部連結的儲存裝置。 更多細節請參見 /azure/app-service/manage-backup。

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

服務原生備份能力

說明:服務支援自身的原生備份功能(若不使用 Azure Backup)。 深入瞭解

支持 預設啟用 配置責任
客戶

功能說明:支援標準、高級及獨立 App Service 方案的應用程式可使用備份功能。 這不包括備份事件來源或外部提供的儲存空間。

設定指引:目前 Microsoft 沒有針對此功能配置的指引。 請檢閱並判斷您的組織是否想要設定這項安全性功能。

參考資料在 Azure App Service 中備份並還原你的應用程式

後續步驟