情境:驗證 PostgreSQL 伺服器

延伸所有 | 折疊所有

我們建議您使用 TLS 憑證對 PostgreSQL 伺服器進行身分驗證。您可使用來自信任的憑證授權單位 (CA) 或自簽發憑證。請使用來自信任 CA 的憑證,因為自簽發憑證僅提供有限防護。

管理伺服器支援 PostgreSQL 的單向和雙向 SSL 身分驗證。

請按照以下步驟為 PostgreSQL 配置 SSL 身分驗證:

  1. 為 PostgreSQL 伺服器產生憑證。

    在 OpenSSL 跨平台公用程式中,執行以下命令:

    openssl req -new -x509 -days 365 -nodes -text -out psql.crt -keyout psql.key -subj "/CN=psql"

    chmod og-rwx psql.key

  2. 為管理伺服器產生憑證。

    執行以下指令。CN 值應與代表管理伺服器連線到 PostgreSQL 的使用者名稱相符。預設情況下,使用者名稱被設定為 postgres。

    openssl req -new -x509 -days 365 -nodes -text -out postgres.crt -keyout postgres.key -subj "/CN=postgres"

    chmod og-rwx postgres.key

  3. 配置用戶端憑證身分驗證。

    修改 pg_hba.conf 如下:

    hostssl all all 0.0.0.0/0 md5

    確保 pg_hba.conf 不包含以host開頭的記錄。

  4. 指定 PostgreSQL 憑證。

    單向 SSL 身分驗證

    雙向 SSL 身分驗證

  5. 重新啟動 PostgreSQL 精靈進程。

    執行以下指令:

    systemctl restart postgresql-14.service

  6. 指定管理伺服器的伺服器標誌。

    單向 SSL 身分驗證

    雙向 SSL 身分驗證

  7. 重新啟動管理伺服器服務。
頁頂