Azure 虛擬機器上的 SQL Server 安全性考量

適用于:Azure VM 上的SQL Server

本主題包含整體安全性指導方針,可協助制定 Azure 虛擬機器 (VM) 中 SQL Server 執行個體的存取安全。

Azure 符合多種業界規範及標準,可讓您使用在虛擬機器中執行的 SQL Server,建置相容的解決方案。 如需 Azure 的法規相符性資訊,請參閱 Azure 信任中心

請先檢閱適用於 SQL ServerAzure VM 的安全性最佳做法,再檢閱本文以取得特別適用於 Azure VM 上 SQL Server 的最佳做法。

若要深入了解 SQL Server VM 最佳做法,請參閱此系列的其他文章:檢查清單VM 大小HADR 設定收集基準

檢查清單

請檢閱本節中的下列檢查清單,先簡單了解安全性最佳做法,本文其餘部分將提供更詳細的說明。

SQL Server 功能提供資料層級的安全性方法,也是您在雲端式和混合式解決方案的基礎結構層級實現深度防禦的方式。 此外,透過 Azure 安全性措施,您可以加密敏感性資料、保護虛擬機器免於病毒和惡意程式碼的威脅、保護網路流量、識別和偵測威脅、符合合規性需求,並提供單一方法來管理及報告混合式雲端中的任何安全性需求。

  • 使用 適用于雲端的 Microsoft Defender 來評估和採取動作,以改善資料環境的安全性狀態。 Azure 進階威脅防護 (ATP) 等功能可以跨混合式工作負載使用,以改善安全性評估,並讓您能夠回應風險。 使用SQL IaaS 代理程式擴充功能註冊您的 SQL Server VM,會在 Azure 入口網站 的SQL 虛擬機器資源內呈現適用于雲端的 Microsoft Defender 評量。
  • 使用適用於 SQL 的 Microsoft Defender 來探索及減輕潛在資料庫弱點,以及偵測可能對 SQL Server 執行個體和資料庫層造成威脅的異常活動。
  • 弱點評定適用於 SQL 的 Microsoft Defender 的一部分,可探索並協助補救您 SQL Server 環境的潛在風險。 它可讓您查看安全性狀態,並包含解決安全性問題的可行步驟。
  • Azure Advisor 會分析您的資源設定和使用量遙測,然後建議可協助您改善 Azure 資源成本效益、效能、高可用性和安全性的解決方案。 在虛擬機器、資源群組或訂閱層級使用 Azure Advisor 來協助識別並套用最佳做法,以最佳化您的 Azure 部署。
  • 當您的合規性與安全性需求要求您使用加密金鑰來進行端對端資料加密 (包括加密暫時性磁碟 (本機連結的暫存磁碟)) 時,請使用 Azure 磁碟加密
  • 系統預設會使用 Azure 儲存體服務加密將待用的受控磁碟加密,其中加密金鑰為儲存在 Azure 中的 Microsoft 受控金鑰。
  • 如需受控磁碟加密選項的比較,請檢閱受控磁碟加密比較圖表
  • 您應該在虛擬機器上關閉管理連接埠 - 開啟遠端管理連接埠會使您的 VM 暴露在網際網路型攻擊的高風險層級之下。 這些攻擊會嘗試對認證發動暴力密碼破解攻擊,來取得機器的系統管理員存取權。
  • 開啟 Azure 虛擬機器的 Just-In-Time (JIT) 存取
  • 透過遠端桌面通訊協定 (RDP) 使用 Azure Bastion
  • 使用 Azure 防火牆來鎖定連接埠並僅允許必要的應用程式流量,這是一項受控防火牆即服務 (FaaS),可根據原始 IP 位址授與/拒絕伺服器存取。
  • 使用網路安全性群組 (NSG) 來篩選 Azure 虛擬網路中的 Azure 資源往返流量
  • 使用應用程式安全性群組,將具有類似連接埠篩選需求及類似功能的伺服器分組在一起,例如網頁伺服器和資料庫伺服器。
  • 針對網頁伺服器和應用程式伺服器,請使用 Azure 分散式阻斷服務 (DDoS) 保護。 DDoS 攻擊旨在耗盡網路資源,讓應用程式變慢或沒有回應。 DDos 攻擊通常會以使用者介面為目標。 Azure DDoS 保護會在不必要的網路流量影響服務可用性之前先予以清理
  • 使用 VM 擴充功能可協助解決反惡意程式碼、預期狀態、威脅偵測、預防及補救,以解決作業系統、電腦和網路層級的威脅:
  • 使用 Azure 原則來建立可套用至您環境的商務規則。 Azure 原則會根據 JSON 格式中定義的規則比較這些資源的屬性,以評估 Azure 資源。
  • Azure 藍圖可讓雲端架構設計師和中央資訊技術人員定義一組可重複使用的 Azure 資源,其中實作並遵循組織的標準、模式和需求。 Azure 藍圖與 Azure 原則不同

適用於 SQL 的 Microsoft Defender

適用于 SQL 的 Microsoft Defender 可啟用適用于雲端的 Microsoft Defender 安全性功能,例如 弱點評估 和安全性警示。 若要深入了解,請參閱啟用適用於 SQL 的 Microsoft Defender

使用適用於 SQL 的 Azure Defender 來探索及減輕潛在資料庫弱點,以及偵測可能對 SQL Server 執行個體和資料庫層造成威脅的異常活動。 弱點評定是適用於 SQL 的 Microsoft Defender 的一項功能,可探索並協助補救您 SQL Server 環境的潛在風險。 它可讓您查看安全性狀態,並包含解決安全性問題的可行步驟。 向 SQL Server IaaS 代理程式延伸模組註冊您的 SQL Server VM,以對 Azure 入口網站中的 SQL 虛擬機器資源提供適用於 SQL 的 Microsoft Defender 建議。

連接埠管理

當您使用 SQL IaaS 延伸模組註冊 SQL Server VM 之後,就可以在 Azure 入口網站中使用 SQL 虛擬機器資源來設定許多安全性設定,例如,啟用 Azure Key Vault 整合或 SQL 驗證。

此外,當您啟用適用於 SQL 的 Microsoft Defender 之後,就可以在 Azure 入口網站中直接檢視 SQL 虛擬機器資源內適用於雲端的 Defender 功能,例如弱點評定和安全性警示。

若要深入了解,請參閱在入口網站中管理 SQL Server VM

適用於雲端的 Microsoft Defender

適用于雲端的 Microsoft Defender 是統一的安全性管理系統,其設計目的是要評估並提供機會來改善資料環境的安全性狀態。 適用于雲端的 Microsoft Defender 會授與混合式雲端中所有資產安全性健全狀況的合併檢視。

Azure Advisor

Azure Advisor 是個人化的雲端顧問,可協助您遵循最佳做法來將 Azure 部署最佳化。 Azure Advisor 可分析您的資源組態和使用量遙測,然後建議可協助您改善 Azure 資源的成本效益、效能、高可用性和安全性的解決方案。 Azure Advisor 可以在虛擬機器、資源群組或訂閱層級進行評估。

Azure 金鑰保存庫整合

有多個 SQL Server 加密功能,例如透明資料加密 (TDE)、資料行層級加密 (CLE) 和備份加密。 這些形式的加密需要您管理和儲存用來加密的密碼編譯金鑰。 Azure Key Vault 服務旨在改善安全性,以及在安全且高可用性的位置管理這些金鑰。 SQL Server 連接器讓 SQL Server 可以從 Azure Key Vault 使用這些金鑰。

請考慮下列事項:

  • Azure Key Vault 會將應用程式祕密儲存在集中式雲端位置,以安全地控制存取權限和個別存取記錄。
  • 當您將自己的金鑰攜帶到 Azure 時,建議將祕密和憑證儲存在 Azure Key Vault 中。
  • Azure 磁碟加密會使用 Azure Key Vault 來控制及管理磁碟加密金鑰和祕密。

存取控制

當您使用 Azure 資源庫映像建立 SQL Server 虛擬機器時,[SQL Server 連線] 選項可讓您選擇 [本機 (在 VM 內)]、[私人 (在虛擬網路內)] 或 [公用 (網際網路)]。

SQL Server 連線

如需最佳的安全性,請為您的案例選擇最嚴格的選項。 例如,如果您執行的應用程式可存取相同 VM 上的 SQL Server,則 [本機] 是最安全的選擇。 如果您執行的 Azure 應用程式需要存取 SQL Server,則 [私人] 選項只能在指定的 Azure 虛擬網路內保護與 SQL Server 的通訊。 如果您需要 SQL Server VM的 [公用] \(網際網路) 存取,請務必遵循本主題中的其他最佳做法,以縮寫受攻擊面。

入口網站中選取的選項會使用 VM 網路安全性群組 (NSG) 上的輸入安全性規則來允許或拒絕虛擬機器的網路流量。 您可以修改或建立新的輸入 NSG 規則,以允許 SQL Server 連接埠 (預設值 1433) 的流量。 您也可以指定允許透過此連接埠通訊的特定 IP 位址。

網路安全性群組規則

除了可限制網路流量的 NSG 規則,您也可以在虛擬機器上使用 Windows 防火牆。

使用您使用端點搭配傳統部署模型,如果虛擬機器上有任何不使用的端點,請將它們全部移除。 如需有關在端點中使用 ACL 的指示,請參閱 在端點上管理 ACL。 如果是使用 Azure Resource Manager 的 VM,則不需要這麼做。

請考慮為 Azure 虛擬機器中的 SQL Server 資料庫引擎執行個體啟用加密連線。 使用簽署的憑證設定 SQL Server 執行個體。 如需詳細資訊,請參閱啟用 Database Engine 的加密連接連接字串語法

保護網路連線或周邊時,請考慮下列事項:

  • Azure 防火牆 - 一項具狀態的受控防火牆即服務 (FaaS),可根據原始 IP 位址授與/拒絕伺服器存取,以保護網路資源。
  • Azure 分散式阻斷服務 (DDoS) 保護 - DDoS 攻擊會耗盡網路資源,讓應用程式變慢或沒有回應。 Azure DDoS 保護會在不必要的網路流量影響服務可用性之前先予以清理。
  • 網路安全性群組 (NSG) - 篩選 Azure 虛擬網路中的 Azure 資源往返流量
  • 應用程式安全性群組 - 提供具有類似連接埠篩選需求的伺服器群組,並將具有類似功能的伺服器分組在一起,例如網頁伺服器。

加密

受控磁碟提供伺服器端加密及 Azure 磁碟加密。 伺服器端加密提供待用加密並保護資料安全,以符合組織的安全性與合規性承諾。 Azure 磁碟加密會使用 BitLocker 或 DM-Crypt 技術,並與 Azure Key Vault 整合以加密 OS 和資料磁碟。

請考慮下列事項:

  • Azure 磁碟加密 - 使用 Azure 磁碟加密,為 Windows 和 Linux 虛擬機器加密虛擬機器磁碟。
    • 當您的合規性與安全性需求要求您使用加密金鑰來進行端對端資料加密 (包括加密暫時性磁碟 (本機連結的暫存磁碟)) 時,請使用 Azure 磁碟加密
    • Azure 磁碟加密 (ADE) 利用 Windows 的業界標準 BitLocker 功能和 Linux 的 DM-Crypt 功能,提供 OS 和資料磁碟加密。
  • 受控磁碟加密
    • 系統預設會使用 Azure 儲存體服務加密將待用的受控磁碟加密,其中加密金鑰為儲存在 Azure 中的 Microsoft 受控金鑰。
    • Azure 受控磁碟中的資料會使用 256 位元的 AES 加密 (可用的最強區塊編碼器之一),以透明的方式進行加密,而且符合 FIPS 140-2 規範。
  • 如需受控磁碟加密選項的比較,請檢閱受控磁碟加密比較圖表

管理帳戶

您不希望攻擊者容易猜到帳戶名稱或密碼。 使用下列秘訣來協助:

  • 建立不是名為 Administrator的唯一本機系統管理員帳戶。

  • 為您的所有帳戶使用複雜的強式密碼。 如需如何建立強式密碼的詳細資訊,請參閱 建立強式密碼一文。

  • 根據預設,Azure 會在 SQL Server 虛擬機器安裝期間選取 Windows 驗證。 因此,系統會停用 SA 登入,並由安裝程式指派密碼。 我們建議不要使用或啟用 SA 登入。 如果您必須具有 SQL 登入,請使用下列其中一個策略:

    • 使用具有 sysadmin 成員資格的唯一名稱建立 SQL 帳戶。 在佈建期間啟用 SQL 驗證,即可從入口網站執行此作業。

      提示

      如果您未在佈建期間啟用 SQL 驗證,您必須將驗證模式手動變更為 SQL Server 和 Windows 驗證模式。 如需詳細資訊,請參閱 變更伺服器驗證模式

    • 如果您必須使用 SA 登入,請在佈建後啟用此登入,然後指派新的強式密碼。

注意

不支援使用 Azure Active Directory 或 Azure Active Directory Domain Services 來連線至在 Azure 虛擬機器 (VM) 上執行的 SQL Server 執行個體。 請改用 Active Directory 網域帳戶。

稽核與報告

Log Analytics 的稽核功能會記錄事件,並寫入至安全 Azure BLOB 儲存體帳戶中的稽核記錄。 Log Analytics 可用來解譯稽核記錄的詳細資料。 稽核可讓您將資料儲存至個別儲存體帳戶,並為您選取的所有事件建立稽核線索。 您也可以針對稽核記錄使用 Power BI 來快速分析和深入了解資料,以及提供法規合規性的檢視。 若要深入了解 VM 和 Azure 層級的稽核,請參閱 Azure 安全性記錄和稽核

虛擬機器層級存取

關閉您電腦上的管理連接埠 - 開啟遠端管理連接埠會使您的 VM 暴露在網際網路型攻擊的高風險層級之下。 這些攻擊會嘗試對認證發動暴力密碼破解攻擊,來取得機器的系統管理員存取權。

虛擬機器延伸模組

Azure 虛擬機器擴充功能是受信任的 Microsoft 或協力廠商擴充功能,可協助解決特定需求和風險,例如防毒軟體、惡意程式碼、威脅防護等。

  • 來賓設定擴充功能
    • 若要確保機器來賓內設定的安全設定,請安裝來賓設定延伸模組。
    • 來賓內設定包括作業系統設定、應用程式設定或目前狀態,以及環境設定。
    • 安裝後便可使用客體內原則,例如「應啟用 Windows 惡意探索防護」。
  • 網路流量資料收集代理程式
    • 適用于雲端的 Microsoft Defender 會使用 Microsoft 相依性代理程式從您的 Azure 虛擬機器收集網路流量資料。
    • 此代理程式會啟用進階網路保護功能,例如網路對應上的流量視覺效果、網路強化建議和特定網路威脅。
  • 評估 Microsoft 和協力廠商的擴充功能來解決反惡意程式碼、預期狀態、威脅偵測、預防及補救,以解決作業系統、電腦和網路層級的威脅。

後續步驟

請先檢閱適用於 SQL ServerAzure VM 的安全性最佳做法,再檢閱本文以取得特別適用於 Azure VM 上 SQL Server 的最佳做法。

如需在 Azure VM 中執行 SQL Server 的其他相關主題,請參閱 Azure 虛擬機器上的 SQL Server 概觀。 如果您有 SQL Server 虛擬機器的相關問題,請參閱常見問題集

若要深入了解,請參閱此最佳作法系列的其他文章: