使用 TLS 和 mTLS 支援的安全通訊 (傳輸中的資料)
Oracle GoldenGate 使用下列功能保護傳輸中資料或移動中資料的資料:
-
支援原生 HTTP 授權的串流協定。它包含初始 WebSocket 建立要求 (安全 Web 通訊埠 (WSS) 通訊協定) 中的標頭。Oracle GoldenGate 伺服器會根據與要求使用者關聯的角色是否等於或大於為「Web 通訊埠」建立要求指定的角色,檢查授權標頭以核准或拒絕要求。Oracle GoldenGate 支援 TLS 1.2 和 TLS 1.3 認證。您可以選擇不同的 TLS 加密選項,並套用相關的加密套件。
-
目標起始的路徑支援在「協助區域」(DMZ) 中工作時的資料轉換。
另請參閱分送路徑串流協定。
使用 TLS 和 mTLS 支援保護通訊
「傳輸層安全 (TLS)」協定可確保資料傳輸安全,藉以透過網路進行安全通訊。伺服器 (GoldenGate 執行處理) 與從屬端 (包括 GoldenGate Web 介面、AdminClient 和其他應用程式) 之間的資料交換會經過認證並加密。它使用加密演算法來加密資料,防止未經授權的人員存取或修改傳輸的資訊。
TLS 會驗證伺服器的識別,以確保與預定當事人通訊,而非惡意動作者通訊。HTTPS 和 WSS 使用 TLS 協定。HTTPS 要求是透過 REST-API 呼叫進行的,而 WSS 則是用於「分送路徑」的安全歷程檔路由。
雙向 TLS (mTLS) 是 TLS 協定的延伸,可在通訊階段作業中同時認證用戶端和伺服器,以增加一層額外的安全。它是傳統 TLS 的增強功能,提供雙向信任,並是一種額外的防禦來防止偽造的攻擊。在用戶端 - 伺服器交握期間,伺服器會顯示其數位憑證,以向用戶端證明其身分,讓用戶端驗證伺服器的身分。client 也會提供數位憑證,以向 server 證明自己的身分,讓伺服器驗證用戶端的身分。
在安全建置中,「分送路徑」處理作業會使用 mTLS,在下列任一種情況下使用 WSS 協定傳送歷程檔:
-
將分配服務的歷程檔資料傳送至接收端服務
-
使用「目標起始的分送路徑」傳送歷程檔資料,接收端服務會要求「分送服務」透過網路傳送歷程檔。
透過提供 DistClient 數位憑證來使用分配用戶端 (DistClient) 認證,可以使用 mTLS 來啟用安全網路通訊。
建議對 Oracle GoldenGate 進行安全部署。它需要伺服器的憑證、私密金鑰以及憑證授權機構 (CA 憑證) 的簽署憑證。您可以隨時套用憑證授權機構 (CA 憑證) 的 DistClient 憑證、私密金鑰及簽署憑證。
不過,NGINX 可搭配不安全的部署使用,以仍提供 TLS 對分送路徑的支援。TLS 將於 NGINX 終止。NGINX 憑證將由用戶端驗證。不過,從屬端憑證是 Oracle GoldenGate 預設 NGINX 組態的選擇性憑證。
請參閱目標起始的路徑和 Oracle GoldenGate 反向代理主機支援瞭解詳細資訊。注意:使用「反向代理主機」時,不支援 mTLS。
傳輸層安全在 Oracle 環境中如何運作:TLS 交握式確認
當起始透過「傳輸層安全」的網路連線時,用戶端與伺服器會在驗證之前執行 TLS 交握式確認。
交握流程如下:
-
從屬端和 Oracle GoldenGate 執行處理會建立用於資料傳輸的加密套件和加密演算法。
-
Oracle GoldenGate 執行處理會將其憑證傳送給從屬端,而從屬端會驗證 Oracle GoldenGate 執行處理的憑證是由信任的 CA 簽署。此步驟會驗證 Oracle GoldenGate 執行處理的識別。
-
同樣地,如果需要從屬端認證,則從屬端會將其憑證傳送至 Oracle GoldenGate 執行處理。Oracle GoldenGate 執行處理會驗證從屬端的憑證是由信任的 CA 所簽署。
-
使用公開金鑰加密的從屬端和 Oracle GoldenGate 執行處理交換金鑰資訊。依據此資訊,每個項目都會產生一個梯次關鍵碼。金鑰由至少兩方 (通常是從屬端和 Oracle GoldenGate 執行處理) 共用,在單一通訊階段作業期間用於資料加密。階段作業金鑰通常用來加密網路流量。從屬端和 Oracle GoldenGate 執行處理可以在階段作業開始時交涉階段作業金鑰,而該金鑰是用來加密該階段作業之當事人之間的所有網路流量。如果從屬端和 Oracle GoldenGate 執行處理在新的階段作業中再次通訊,則它們會交涉新的階段作業金鑰。從屬端與 Oracle GoldenGate 執行處理之間的所有後續通訊都會使用此階段作業金鑰和協商的加密套件進行加密和解密。
認證程序如下:1。在用戶端上,使用者會使用 TLS 來起始與 Oracle GoldenGate 的網路連線。
-
TLS 會執行用戶端與 Oracle GoldenGate 之間的交握式確認。
-
如果交握式確認成功,則 GoldenGate 執行處理會驗證使用者是否具備存取 Oracle GoldenGate 執行處理的適當授權。
Oracle GoldenGate 如何使用傳輸層安全來進行認證
使用 Oracle GoldenGate TLS 功能來保護 Oracle GoldenGate 執行處理與用戶端之間的通訊安全,您可以執行下列動作:
-
使用 TLS 加密 Oracle GoldenGate 執行處理與從屬端之間的連線
-
將任何從屬端或任何其他 Oracle GoldenGate 執行處理認證為透過 TLS 通訊的任何其他 Oracle GoldenGate 執行處理。
建立 TLS 之後,Oracle GoldenGate 執行處理將需要認證從屬端,以確定它具備傳送歷程檔的正確權限。目前使用下列認證模式:
-
「Oracle GoldenGate 執行處理」將會使用目標端至少具有操作員角色的使用者 ID 和密碼來認證從屬端。使用者 ID 和密碼會以別名儲存在用戶端中。建立分送路徑時會使用此別名。
請參閱使用外部 RootCA 憑證連線兩個部署,瞭解如何設定「操作員」角色使用者,然後在建立遠端部署之間的分配路徑連線時,使用此使用者 ID 和密碼別名。
-
Oracle GoldenGate 執行處理將會使用從屬端憑證來認證從屬端要求 (假設目標端已建立對應的憑證使用者)。若要為從屬端和伺服器端建立憑證的步驟,請參閱建立安全建置的憑證。
-
Oracle GoldenGate 執行處理在使用外部識別提供者 (IdP) (例如 IAM) 時,將會使用 OAuth 來認證從屬端。請參閱委派使用者管理給外部身分識別提供者。
TLS 加密組件
加密套件可為下列每項作業指定一個演算法:
-
金鑰交換
-
大量加密
-
訊息驗證碼 (MAC)
除了弱加密,還支援 TLS 1.2 和 1.3 的預設加密套件。
Oracle 強烈建議您使用 TLS 1.3 來滿足您的安全需求。
除了弱加密,也支援 TLS 1.2 的預設加密套件。
目標啟動路徑
微服務的目標起始路徑可讓接收端服務在目標部署和提取歷程檔上起始分配服務的路徑。此功能可讓接收端服務為內部部署環境建立目標起始路徑,例如示範區域路徑 (DMZ) 或雲端,來源 Oracle GoldenGate 部署中的分配服務因網路安全原則而無法在目標環境中開啟與接收端服務的網路連線。
如果「分送服務」無法起始與「接收端服務」的連線,但是「接收端服務」可以起始與執行「分送服務」之主機的連線,則「接收端服務」會使用 Oracle GoldenGate 來提取要求的歷程檔,透過防火牆或「降級 (DMZ)」區域,建立安全或不安全的「分送服務」目標起始路徑。「接收端服務」端點顯示擷取歷程檔是由「接收端服務」起始的。
路徑 (唯讀) 是從目標部署的「接收端服務」建立,且其特性為 TARGET_INITIATED。您也可以從「分送服務」存取此路徑。路徑資訊儲存在目標系統上。如果通訊遺失,則目標主機上的「接收端服務」需要路徑定義來重新啟動連線。此資訊會在路徑執行時與「分送服務」共用。來源部署上的路徑為臨時。臨時路徑有助於整合路徑組態,並強化目標至來源的連線起始。
當路徑停止或中斷連線時,「分送服務」會移除所有路徑資訊,包括路徑定義。不過,因為檢查點是用來決定是否可以永久清除舊的歷程檔,所以會保留檢查點檔案。建議您不要永久清除舊的歷程檔,除非有意刪除該路徑。
相關主題:
Oracle GoldenGate 反向代理主機支援
反向代理主機可讓您在部署中使用單一連接埠 (443) 存取微服務。這可讓微服務的 URL 在不安全的部署中封裝。注意:反向代理主機是選擇性的,不過,Oracle 建議您確保能夠輕鬆存取微服務並提供增強的安全性。
您可以使用 Nginx 安裝,在回送位址的不安全部署中執行微服務,並在前面使用 HTTP 反向代理主機。
Oracle GoldenGate MA 包含一個稱為 ReverseProxySettings 的命令檔,它只會為 Nginx 反向代理主機伺服器產生組態檔。
例如,管理服務可從 http://goldengate.example.com:9001 取得,且分送服務位於 http://goldengate.example.com:9002。使用反向代理主機時,只要從單一位址存取每個微服務即可。例如,分配服務的 http://goldengate.example.com/distsrvr。每個服務的 URL 不同,而且是依名稱而非依連接埠。
這些值用於連線「服務管理程式」時,且在啟用認證時為必要值。
請參閱使用 NGINX 設定 Oracle GoldenGate 反向代理主機,瞭解如何搭配 Oracle GoldenGate 實行 NGINX 反向代理主機。