场景:验证 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
- 重启管理服务器服务。
页顶