情境:驗證 PostgreSQL 伺服器
延伸所有 | 折疊所有
我們建議您使用 TLS 憑證對 PostgreSQL 伺服器進行身分驗證。您可使用來自信任的憑證授權單位 (CA) 或自簽發憑證。請使用來自信任 CA 的憑證,因為自簽發憑證僅提供有限防護。
管理伺服器支援 PostgreSQL 的單向和雙向 SSL 身分驗證。
請按照以下步驟為 PostgreSQL 配置 SSL 身分驗證:
- 為 PostgreSQL 伺服器產生憑證。
在 OpenSSL 跨平台公用程式中,執行以下命令:
openssl req -new -x509 -days 365 -nodes -text -out psql.crt -keyout psql.key -subj "/CN=psql"
chmod og-rwx psql.key
- 為管理伺服器產生憑證。
執行以下指令。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
- 配置用戶端憑證身分驗證。
修改 pg_hba.conf 如下:
hostssl all all 0.0.0.0/0 md5
確保 pg_hba.conf 不包含以host
開頭的記錄。
- 指定 PostgreSQL 憑證。
單向 SSL 身分驗證
修改 postgresql.conf 如下(指定 .crt 和 .key 檔案的正確路徑):
listen_addresses = 'localhost, server-ip'
ssl = on
ssl_cert_file = '<psql.crt>'
ssl_key_file = '<psql.key>'
雙向 SSL 身分驗證
修改 postgresql.conf 如下(指定 .crt 和 .key 檔案的正確路徑):
listen_addresses = 'localhost, server-ip'
ssl = on
ssl_ca_file = '<postgres.crt>'
ssl_cert_file = '<psql.crt>'
ssl_key_file = '<psql.key>'
- 重新啟動 PostgreSQL 精靈進程。
執行以下指令:
systemctl restart postgresql-14.service
- 指定管理伺服器的伺服器標誌。
單向 SSL 身分驗證
使用 klscflag 公用程式建立 KLSRV_POSTGRES_OPT_SSL_CA 伺服器標誌,並將憑證路徑指定為其值。
使用管理員權限執行 Windows 命令提示符,然後將目前目錄變更為包含 klscflag 公用程式的目錄。klscflag 公用程式位於安裝管理伺服器的資料夾中。預設安裝路徑:<Disk>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center.
執行以下指令:
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_SSL_CA -v <
path to
psql.crt> -t s
雙向 SSL 身分驗證
使用 klscflag 公用程式建立伺服器標誌並將憑證檔案路徑指定為其值。
使用管理員權限執行 Windows 命令提示符,然後將目前目錄變更為包含 klscflag 公用程式的目錄。klscflag 公用程式位於安裝管理伺服器的資料夾中。預設安裝路徑:<Disk>:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center.
執行以下指令:
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_SSL_CA -v <
path to
psql.crt
> -t s
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_SSL_CERT -v <
path to
postgres.crt
> -t s
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_SSL_KEY -v <
path to
postgres.key
> -t s
如果 postgres.key
需要複雜密碼,請建立 KLSRV_POSTGRES_OPT_TLS_PASPHRASE 標誌並將複雜密碼指定為其值:
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_TLS_PASPHRASE -v <
passphrase
> -t s
- 重新啟動管理伺服器服務。
頁頂