Azure 上 Oracle 工作負載的安全性指導方針 虛擬機器 登陸區域加速器
本文說明如何在 Azure 虛擬機器 登陸區域加速器在其生命週期的每個階段安全地執行 Oracle 工作負載。 本文討論特定設計元件,並提供有關 Oracle 工作負載之 Azure 基礎結構即服務 (IaaS) 安全性的焦點建議。
概觀
安全性對於任何架構而言都很重要。 Azure 提供一系列完整的工具,可協助您有效地保護您的 Oracle 工作負載。 本文的目的是為部署在 虛擬機器 上的 Oracle 應用程式工作負載的相關 Azure 控制平面提供安全性建議。 如需有關 Oracle Database 內安全性措施的詳細資訊和實作指導方針,請參閱 Oracle Database 安全性指南。
大部分的資料庫都會儲存敏感數據。 只在資料庫層級實作安全性並不足以保護您部署這些工作負載的架構。 深度防禦是安全性的完整方法,可實作多層防禦機制來保護數據。 防禦深度策略會使用不同層級的安全性措施組合來建立健全的安全性狀態,而不是依賴特定層級的單一安全性措施,例如只專注於網路安全性機制。 您可以使用強式驗證和授權架構、強化的網路安全性,以及待用數據和傳輸中的數據加密,來建構 Oracle 工作負載的深度防禦方法。
您可以將 Oracle 工作負載部署為 Azure 上的 IaaS 雲端模型。 重新瀏覽共用責任矩陣,以更清楚瞭解指派給雲端提供者和客戶的特定工作和責任。 如需詳細資訊,請參閱雲端中的共同責任。
您應該定期評估您用來確保安全性措施符合不斷變化的威脅環境的服務和技術。
使用集中式身分識別管理
身分識別管理是管理重要資源的存取權的基本架構。 當您與不同類型的人員合作時,身分識別管理會變得很重要,例如臨時實習生、兼職員工或全職員工。 這些人員需要需要監視、維護及在必要時立即撤銷的不同存取層級。 Oracle 工作負載需要考慮四個不同的身分識別管理使用案例,而且每個使用案例都需要不同的身分識別管理解決方案。
Oracle 應用程式:使用者可以存取 Oracle 應用程式,而不必在透過單一登錄 (SSO) 獲得授權之後重新輸入其認證。 使用 Microsoft Entra ID 整合來存取 Oracle 應用程式。 下表列出每個 Oracle 解決方案支援的 SSO 策略。
Oracle 應用程式 連結至檔 E-Business Suite (EBS) 啟用 EBS R12.2 的 SSO JD Edwards (JDE) 設定 JDE SSO PeopleSoft 啟用 PeopleSoft 的 SSO Hyperion Oracle 支援檔 #2144637.1 西貝爾 Oracle 支援檔 #2664515.1 操作系統 (OS) 層級安全性:Oracle 工作負載可以在 Linux OS 或 Windows OS 的不同變體上執行。 組織可以將 Windows 和 Linux 虛擬機 (VM) 與 Microsoft Entra 識別碼整合,以改善其在 Azure 中的安全性。 如需詳細資訊,請參閱
- 使用 Microsoft Entra ID 和 OpenSSH 登入 Azure 中的 Linux VM。
- 自 2023 年 7 月起,Oracle Linux (OL) 和 Red Hat Enterprise Linux (RHEL) 100% 二進制相容,這表示任何與 RHEL 相關的指示都適用於 OL。
- 截至 2023 年 7 月,IBM 已停止公開共用 RHEL 原始程式碼。 OL 和 RHEL 未來可能會有所分歧,這會使上一個語句失效。
- 使用 Microsoft Entra ID 登入 Azure 中的 Windows VM。
- 使用 Microsoft Entra ID 和 OpenSSH 登入 Azure 中的 Linux VM。
用來儲存認證的 Azure 金鑰保存庫:金鑰保存庫 是雲端應用程式和服務的強大工具,可用來保護秘密的儲存,例如密碼和資料庫 連接字串。 您可以使用 金鑰保存庫,以集中式且安全的方式儲存 Windows 和 Linux VM 的認證,不論作業系統為何。
- 您可以使用 金鑰保存庫,避免需要在程式碼或組態檔內以純文字儲存認證。 您可以從運行時間的 金鑰保存庫 擷取認證,這會將額外的安全性層新增至您的應用程式,並協助防止未經授權的 VM 存取。 金鑰保存庫 與其他 Azure 服務緊密整合,例如 虛擬機器,而且您可以使用 Microsoft Entra ID 來控制對 金鑰保存庫 的存取。 此程式可確保只有授權的使用者和應用程式可以存取預存的認證。
強化的OS映射:Azure 中 Windows 或Linux的因特網安全性中心 (CIS) 強化映像具有多項優點。 CIS 基準 檢驗可全域辨識為保護 IT 系統和數據的最佳做法。 這些映射已預先設定以符合 CIS 的安全性建議,可節省時間和精力來強化 OS。 強化的OS映像可協助組織改善其安全性狀態,並遵守國家標準與技術研究院 (NIST) 和周邊元件互連 (PCI) 等安全性架構。
強化OS
請確定 OS 已強化,以消除可能遭到惡意探索以攻擊 Oracle 資料庫的弱點。
- 使用安全殼層 (SSH) 金鑰組取代密碼進行 Linux 帳戶存取。
- 停用受密碼保護的 Linux 帳戶,並只在短時間內依要求加以啟用。
- 停用特殊許可權 Linux 帳戶 (root 或 Oracle) 的登入存取權,其只允許登入個人化帳戶。
- 不使用直接登入存取權,請使用 sudo ,從個人化帳戶授與具特殊許可權 Linux 帳戶的存取權。
- 使用 Linux SYSLOG 公用程式,擷取 Azure 監視器記錄中的 Linux 稽核記錄和 sudo 存取記錄。
- 僅從信任的來源套用安全性修補程式和OS修補程式或更新。
- 實作限制以限制對OS的存取。
- 限制未經授權的伺服器存取。
- 控制網路層級的伺服器存取,以提高整體安全性。
- 除了 Azure 網路安全組 (NSG) 之外,請考慮使用 Linux 防火牆精靈進行本機保護。
- 將 Linux 防火牆精靈設定為在啟動時自動執行。
- 掃描正在接聽的網路埠以了解潛在的存取點,並確定 Azure NSG 或 Linux 防火牆精靈會控制對這些埠的存取。 使用 Linux 命令
netstat –l
來尋找埠。 - 別名可能具破壞性的 Linux 命令,例如
rm
和mv
,以強制它們進入互動式模式,以便在執行不可復原的命令之前至少提示您一次。 進階使用者可以視需要執行 unalias 命令。 - 設定 Oracle 資料庫統一系統記錄,以使用 Linux SYSLOG 公用程式將 Oracle 稽核記錄的複本傳送至 Azure 監視器記錄。
使用網路安全性
網路安全性是 Azure 上 Oracle 工作負載分層安全性方法的基本元件。
使用 NSG:您可以使用 Azure NSG 來篩選 Azure 虛擬網路中 Azure 資源之間的網路流量。 NSG 包含安全性規則,可允許或拒絕 Azure 資源的輸入網路流量或來自 Azure 資源的輸出網路流量。 NSG 可以使用IP位址範圍和特定埠,來篩選內部部署網路往返 Azure 之間的流量。 如需詳細資訊,請參閱 網路安全組。
下表列出 Oracle 資料庫 VM 的輸入埠指派:
通訊協定 連接埠號碼 服務名稱 註解 TCP 22 SSH Linux VM 的管理埠 TCP 1521 Oracle TNS 接聽程式 其他埠號碼經常用於安全性用途或連線負載平衡用途 TCP 3389 RDP Windows VM 的管理埠 決定如何連線到您的 VM:Oracle 資料庫工作負載所在的 VM 必須受到保護,以防止未經授權的存取。 管理存取權很敏感,因為管理使用者所需的許可權較高。 在 Azure 中,授權的用戶有數個機制可供安全地管理 VM。
- 適用於雲端的 Microsoft Defender 的 Just-In-Time (JIT) 存取可讓您智慧地使用 Azure 的網路安全性機制,提供存取 VM 上管理埠的時間有限機會。
- Azure Bastion 是您在 Azure 中部署的平台即服務 (PaaS) 解決方案。 Azure Bastion 裝載跳躍方塊。
您可以使用任一解決方案來保護 Oracle 資料庫 VM 的管理。 如有需要,您可以針對進階層 式方法結合這兩個解決方案。
一般而言,JIT 存取會最小化,但不會藉由限制 SSH 或 RDP 的管理埠可用時間來消除風險的風險。 JIT 會在取得的 JIT 視窗期間,讓其他工作階段保持存取的可能性。 這類尾門仍然必須突破公開的 SSH 或 RDP 連接埠,因此暴露風險很小。 不過,這類暴露可能會讓 JIT 存取變得不那麼易記,以封鎖來自開放因特網的存取。
Azure Bastion 基本上是強化的跳躍方塊,可協助防止從開放式因特網存取。 不過,Azure Bastion 有許多限制可供您考慮。
使用 X-Windows 和 虛擬網絡 運算 (VNC):Oracle 資料庫軟體通常需要您使用 X-Windows,因為 Azure 中的 Linux VM 與桌面電腦或膝上型電腦之間的連線可能會跨越防火牆和 Azure NSG。 因此,您應該使用 SSH 埠轉送,透過 SSH 通道傳送 X-Windows 或 VNC 連線。 如需使用 參數的
-L 5901:localhost:5901
範例,請參閱 開啟 VNC 用戶端並測試您的部署。跨雲端互連選項:啟用在 Azure 中執行的 Oracle 資料庫工作負載與 Oracle 雲端基礎結構 (OCI) 工作負載之間的連線。 您可以使用 Azure 或 OCI 中特定區域之間的 OCI 互連,在應用程式之間建立私人連結或管線。 如需詳細資訊,請參閱 設定 Azure 與 Oracle 雲端基礎結構之間的直接互連。 本文未涵蓋在 Azure 或 OCI 互連的任一端建立防火牆,這通常是跨雲端的任何輸入和輸出需求。 此方法採用Microsoft 零信任 網路建議。
Azure 原則式安全性
虛擬機器 登陸區域加速器上,Oracle 工作負載沒有特定的內建 Azure 原則定義。 不過,Azure 原則 提供 Azure 上任何 Oracle 解決方案所使用的基本資源的完整涵蓋範圍,包括 VM、記憶體和網路功能。 如需詳細資訊,請參閱 Azure 原則 內建原則定義。
您也可以建立自定義原則,以因應組織的需求來彌合差距。 例如,使用自定義 Oracle 原則來強制執行記憶體加密、管理 NSG 規則,或禁止將公用 IP 位址指派給 Oracle VM。
使用加密來儲存數據
加密傳輸中的數據:適用於從某個位置移至另一個位置的數據狀態,且通常會透過網路連線。 傳輸中的數據可以透過數種方式進行加密,視聯機的性質而定。 根據預設,您必須手動為 Azure 資料中心內傳輸中的數據啟用資料加密。 如需 Azure 檔中的詳細資訊,請參閱 傳輸中的數據加密。
- 建議您使用 Oracle 原生網路加密和資料完整性功能。 如需詳細資訊,請參閱 設定 Oracle 資料庫原生網路加密和數據完整性。
加密待用數據:在將數據寫入記憶體時,您也必須在待用時保護數據。 使用期間移除或存取儲存媒體時,可以公開或改變機密數據。 因此,數據應該加密,以確保只有經過授權和已驗證的使用者才能檢視或修改數據。 Azure 提供三層待用加密。
- 當所有數據保存至任何具有記憶體服務端加密的 Azure 儲存體 裝置時,所有數據都會在最低層級加密。 當 Azure 租使用者使用記憶體完成時,服務端加密可確保不需要清除或終結記憶體媒體。 如果捨棄平臺管理的密鑰,一律加密待用的數據可能會永久遺失。 服務端加密比嘗試從記憶體中刪除所有數據更快且更安全。
- Azure 也有機會 使用記憶體基礎結構加密,在記憶體基礎結構內雙重加密 儲存的數據,其會使用兩個不同的平臺管理密鑰。
- 此外, Azure 磁碟加密 是客體 OS 中管理的待用加密數據(適用於 Windows 的 BitLocker 和適用於 Linux 的 DM-CRYPT)。
記憶體基礎結構最多有三個可能的待用數據層加密。 如果您有 Oracle 進階安全性選項,Oracle 資料庫也可以使用透明數據加密來加密資料庫檔案(TDE),並提供另一層待用加密。
Oracle 進階安全性選項也提供稱為 數據修訂的功能,這是動態數據遮罩的形式。 當資料庫擷取數據時,它會遮罩數據值,而不會改變儲存的數據值。
這些多層待用加密代表深度防禦的定義。 如果基於某種原因,靜態加密的其中一種形式遭到入侵,仍有其他一層加密來保護數據。
- 管理密鑰:如果您實作 Oracle TDE 作為另一個加密層,請務必注意 Oracle 不支援原生密鑰管理解決方案,例如 Azure 或其他雲端提供者所提供的 金鑰保存庫。 相反地,Oracle 錢包的預設位置位於 Oracle 資料庫 VM 的文件系統內。
如需詳細資訊,請參閱在 Azure 中佈建 Oracle 金鑰保存庫,以瞭解如何使用 Oracle 金鑰保存庫 作為 Azure 密鑰管理解決方案。
整合稽核線索
應用程式記錄監視對於在應用層級偵測安全性威脅至關重要。 針對 Oracle 資料庫工作負載使用Microsoft Sentinel 解決方案。 Oracle Database 稽核連接器會使用業界標準的 SYSLOG 介面,擷取並內嵌所有 Oracle 資料庫稽核記錄到 Azure 監視器記錄中。 此程式可讓這些記錄與 Azure 基礎結構稽核記錄和客體 OS (Linux 或 Windows) 稽核記錄一起檢閱。 Microsoft Sentinel 解決方案是雲端原生安全性資訊和事件管理 (SIEM) 解決方案,專為在 Linux 或 Windows VM 上執行的 Oracle 工作負載所建置。 如需詳細資訊,請參閱 Microsoft Sentinel 的 Oracle 資料庫稽核連接器。
後續步驟
若要瞭解如何規劃 Azure 上 Oracle 工作負載的容量需求,請參閱 將 Oracle 工作負載遷移至 Azure 登陸區域的容量規劃。