分享方式:


適用于 Azure 上 SAP 的資料庫安全性SQL Server

本文是「SAP 擴充與創新安全性:最佳做法」文章系列中的一部分。

本文提供在 SQL Server 資料庫上執行之 Azure 上 SAP 的安全性考慮和建議。

保護待用資料

SQL Server透明資料加密 (TDE) 會加密使用者資料庫和SQL Server系統資料庫的資料和記錄檔。 加密之後,資料與記錄檔或備份檔案的複本無法還原並使用,而不需要相關聯的憑證。 此程式稱為保護待用資料。 這是 SAP 系統的透明技術,因此SAP 附注1380493支援 - SQL Server TDE。 如需 TDE 程式的相關資訊,請參閱SQL Server加密

讀取或寫入磁片的所有資料頁都必須加密或解密,因此 TDE 會有 CPU 負面影響。 當 TDE 套用至使用者資料庫時,CPU 使用量會增加 3% 到 8%。 大量使用 tempDB SQL Server或對大型資料表執行大型掃描的應用程式會受到更多影響。 當SQL Server實例上至少有一個使用者資料庫使用 TDE 加密時,也會加密系統資料庫,例如 TempDB。 SAP Business Warehouse (SAP BW) 是這種類型的應用程式範例。

注意

如果加密金鑰或憑證遺失,加密資料庫中的資料就會遺失。 請務必建立廣泛的程式和步驟來保護憑證備份。

成功的 TDE 實作需要良好且徹底的測試,以及設計完善的程式來處理憑證和憑證備份。

不支援的SQL Server功能

SQL Server也提供資料保護的其他功能。 這些方法允許資料庫資料行資料細微性的部分加密或遮罩:

根據這三種方法的限制,以及 SAP NetWeaver 元件許多區域所需的變更,SAP 不支援這些功能。

不支援在 SQL Server 上啟用 TDE 的資料庫與 SAP HANA 之間的即時複寫。 如需詳細資訊,請參閱 SAP OSS 附注 2812637 - 已啟用 TDE 的 MSSQL Server 資料庫不支援即時複寫。

備份加密

備份加密是在進行備份時加密備份檔案。 它會加密備份檔案中的所有資料頁面,並建立還原備份檔案的憑證或非對稱金鑰需求,以防止未經授權的還原。

如果在進行加密備份之前,資料庫未使用 TDE 加密,則還原之後仍然不會加密。 只有備份檔案會加密。 資料庫檔案及其內容不會改變。

您可以搭配 TDE 使用備份加密,但這並不有説明,因為資料已在資料庫檔案和備份檔案中加密。 當您同時使用備份加密和 TDE 時,具有 TDE 憑證或金鑰加密資料頁的加密資料庫會使用備份憑證或金鑰再次加密。 此方法會延長備份程式,並在備份程式執行時將額外的 CPU 負載新增至系統。

保護SQL Server和 SAP 系統

伺服器和作業系統層級強化對於安全的執行系統而言非常重要。

遵循下列建議來保護SQL Server和 SAP 系統。 如需詳細資訊,請參閱 SAP OSS 附注2417205

SQL Server是以傳輸層安全性 (TLS) 通訊協定和安全通訊端層 (SSL) 通訊協定的 Windows 實作為基礎,透過 SCHANNEL 安全性支援提供者 (SSP) 。

您可以停用 SSL 通訊協定,因為 TLS 已廣泛使用並支援。 大部分SQL Server和 SAP 產品支援都使用TLS 1.2通訊協定。

您可以透過對應 SCHANNEL 分支中的登錄變更來控制 SCHANNEL SSP 的大部分安全性設定。 使用這些設定,您可以控制:

  • 對話方塊的用戶端和伺服器部分會啟用哪些通訊協定,例如 SSL 和 TLS。
  • 加密,例如 RC2、RC4、Triple DES 和 AES,已啟用,以及其啟用的順序。
  • 雜湊演算法,例如 MD5 和 SHA。
  • 金鑰交換演算法,例如Diffie-Hellman和 ECDH。

這些部分的各種組合,例如通訊協定、加密和雜湊和金鑰交換演算法,會在加密套件中表示。 藉由停用其中一個部分,例如通訊協定 SSL 2.0,包含此元件的所有加密套件都無法供系統使用。

注意

當您結合多個變更時,用戶端例如 SAP 系統和伺服器,例如SQL Server,可能無法使用加密套件進行通訊,而 SAP 系統可能無法啟動。

您也可以在本機組策略編輯器中控制系統上加密套件的優先順序和可用性。

  1. 移至 [本機電腦原則 > 電腦設定] [系統 > 管理範本 > ] [網路 > SSL 組態設定]。
  2. 定義 自訂 SSL 加密套件順序

顯示 SSL 設定的螢幕擷取畫面。

此清單順序會定義系統使用加密套件的優先順序。 如果您從清單中移除加密套件,則不再可在系統中使用。 群組原則設定的優先順序高於 SCHANNEL 登錄設定。 安全性部門通常會根據群組原則控制此設定。 但 SAP 基礎或SQL Server資料庫管理群組會處理產生的連線問題。

請考慮使用 SAP 工具 SCoTT 來分析已停用通訊協定或加密套件的問題。 此工具可以分析 SAP 系統之間的連線問題,例如 ABAP 和 JAVA,以及在 Linux 或 Windows 上執行的SQL Server。 如需詳細資訊,請參閱 SAP 附注2846170

驗證

以下是使用 Azure 上的 SAP 進行驗證的一些考慮。

  • sap NetWeaver on SQL Server具有 SAP 和 SQL Server 啟動帳戶、SQL Server實例、SAP 資料庫和 DBA 存取的特定需求。 如需詳細資訊,請參閱SAP 附注1645041 - SQL Server登入及其在 SAP 環境中的使用方式

  • SAP ABAP NetWeaver 系統不需要SQL Server登入,因為所有連線都會使用 Windows 驗證。 例如,針對使用者 SAPService<SID><SID>administrator ,您可以停用SQL Server驗證功能。

  • SAP JAVA NetWeaver 系統需要SQL Server驗證功能,因為它會針對連線使用 SQL Server 登入,例如 SAP<SID>DB

  • 針對sap on SQL Server,您可以停用SQL Server系統管理員帳戶,因為SQL Server上的 SAP 系統不會使用該帳戶。 請確定具有系統管理員許可權的其他使用者可以在停用原始系統管理員帳戶之前存取伺服器。

  • 使用 SQL Server AlwaysOn 的高可用性系統具有登入、使用者和作業的特定需求。 連線至系統的所有伺服器都必須有完全相同的登入和使用者,因此即使容錯移轉至另一個節點,SAP 系統仍可連線。 所有 SAP 相關SQL Server作業都必須在所有 AlwaysOn 節點上擁有相同的擁有者。 如需詳細資訊,請參閱 同步處理 SAP 登入、作業和物件

  • 惡意程式碼合併到在 SQL Server 上執行的 SQL 語句時,就會插入 SQL 插入。 當報表在 SAP 系統中執行時,它會從報表的 ABAP 程式碼產生一般 SQL 語句。 這些語句會由 SAP 資料庫層傳送至 sap 資料庫層並加以轉換,以進行SQL Server。

    此資料庫層已整合到 SAP 工作程式中,無法從外部存取。 轉換至SQL Server特定語句之後,它們會傳送至資料庫並執行。 結果會傳回給呼叫報表。 這些語句只能在 SAP 系統的資料庫層與SQL Server實例之間操作,這稱為攔截式攻擊。

    在 SAP 系統中,使用工作程式與SQL Server資料庫之間的加密連線來防止這些攻擊。 交易 DBACockpit 具有一個基本 SQL 命令視窗,可執行基本 SQL 語句。 如需詳細資訊,請參閱 SAP 附注 1027512 - MSSQL:DBA cockpit for basis 7.00 版和更新版本

稽核

下一步