使用 PostgreSQL 設定 Oracle Cloud Infrastructure Database 中的安全通訊端層

簡介

Oracle Cloud Infrastructure Database with PostgreSQL (OCI Database with PostgreSQL) 僅支援資料庫執行處理的安全通訊端層 (SSL) 加密。透過使用 SSL,您可以加密應用程式與 PostgreSQL 資料庫執行處理之間的連線。

若要使用 PostgreSQL 執行處理保護與 OCI 資料庫的從屬端連線,必須使用 SSL 加密,以確保傳輸期間的資料安全。透過設定 hostssl 連線類型並使用 sslmode 參數,您可以控制 SSL 驗證層次以增加安全性。依照預設,從屬端和伺服器連線都會啟用 TLSv1.2,符合業界標準的做法。對於完全安全且合規的 PostgreSQL 環境,利用這些 SSL 設定是很重要的。

若為安全從屬端連線,OCI 資料庫若為 PostgreSQL,只允許 pg_hba.conf 檔案中的 hostssl 連線類型。hostssl 項目可確保使用 SSL 加密 TCP/IP 連線,要求用戶端使用 SSL 進行認證。您也可以透過 sslmode 參數指定 SSL 驗證層次,其中包括 requireverify-caverify-full 等選項。

目前,OCI Database 中已設定 ssl_max_protocol_versionssl_min_protocol_version 參數與 PostgreSQL,以便在從屬端和伺服器連線使用 TLSv1.2。不過,請注意,使用 PostgreSQL 的 OCI 資料庫無法強制執行特定的 TLS 版本,因為這些參數是唯讀的系統變數。

如需 PostgreSQL 資料庫中 SSL 支援的詳細資訊,請參閱 Secure TCP/IP Connections with SSL

注意:PostgreSQL 的所有 OCI 區域均提供 SSL 支援。

目標

SSL 模型

下表說明以不同 sslmode 值解決的風險,以及每個值的安全性影響與相關負荷。

SSL 模式 竊聽保護 MITM 保護 敘述句
disable 編號 編號 我不關心安全性,也不想支付加密的開銷。
allow - 允許 或許 編號 我不關心安全性,但是如果伺服器堅持加密,我會負擔其負擔。
偏好 或許 編號 我不關心加密,但是如果伺服器支援加密,我希望支付加密的負擔。
需要 編號 我希望我的資料經過加密,我接受這些額外負荷。我信任網路會確保我一直連線到我想要的伺服器。
verify-ca 依據 CA 原則 我希望我的資料經過加密,我接受這些額外負荷。我要確定我連線的是我信任的伺服器。
驗證完整 我希望我的資料經過加密,我接受這些額外負荷。我想要確定連線到我信任的伺服器,而且這是我指定的伺服器。

如需各種 sslmodes 的詳細資訊,請參閱 Table 31-1 SSL MODE DESCRIPTIONS

在使用 PostgreSQL 的 OCI 資料庫中,sslmode 必須設為 require 或更新版本 (verify-caverify-full),因為法規與規範需求不支援非 SSL 連線。必須要有 SSL 連線,才能確保依照 OCI 的合規性標準加密所有傳輸中連線。

OCI 資料庫中搭配 PostgreSQL 資料庫節點使用的憑證是由透過 OCI Certificates 服務管理的專用憑證授權機構 (CA) 所發出,此憑證遵循標準化的 OCI 核准組態。此方法與傳統的自行簽署憑證不同,通常會使用以 OpenSSL 之類工具產生的非標準設定值。

使用各種 SSL 模式建立 OCI 資料庫與 PostgreSQL 的連線

使用 PostgreSQL 且沒有 SSL 的 OCI 資料庫連線嘗試被拒絕,訊息如下。

no pg_hba.conf entry for host "yy.yy.yy.yy", user "xxxxx", database "zzzzzz", no encryption

每當出現上述錯誤訊息時,建議您檢查 SSL 模式值,並將 sslmode 參數設為 require 或更高,以解決此問題。

使用 PostgreSQL 判斷 OCI 資料庫中的 TLS 版本

下列影像顯示使用 PostgreSQL 執行處理連線至 OCI 資料庫時的連線加密狀態。

圖像

您可以執行下列查詢,從 pg_settings 擷取資訊。

圖像

您可以使用下列查詢,依處理、從屬端和應用程式,以 PostgreSQL 執行處理的 SSL 使用狀況收集 OCI 資料庫的詳細資訊。

圖像

您可以使用系統檢視 pg_stat_ssl 來查看所有連線的 SSL 狀態。如需詳細資訊,請參閱表格 27.8. pg_stat_ssl 檢視

圖像

在不同的 GUI 工具中設定 SSL 模式

以下是一些可用於連線至 OCI PostgreSQL 資料庫的開放原始碼 GUI 工具。此工作示範如何在這些工具中將 sslmode 設定為 require 或更新版本,以避免在連線至 OCI PostgreSQL 資料庫時發生連線問題。

確認

其他學習資源

docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center