安全加固:启动PostgreSQL 14服务器SSL加密的方法指南在CentOS 7环境中

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 通过上述步骤,你可以为PostgreSQL数据库服务器设置SSL加密,从而增加数据在传输中的安全性。确保维持证书的有效性,并且定期更新和管理密钥,以防止未授权访问。

在CentOS 7操作系统中配置PostgreSQL 14以启用SSL加密,需要进行以下步骤:

1. 安装PostgreSQL 14:

首先确保安装了PostgreSQL 14,可以通过以下命令安装:

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql14-server postgresql14
​

2. 初始化数据库并启动服务:

初始化PostgreSQL数据库,并启动PostgreSQL服务:

sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
sudo systemctl enable postgresql-14
sudo systemctl start postgresql-14
​

3. 生成SSL证书:

需要在PostgreSQL数据目录下生成SSL证书和密钥。默认的PostgreSQL数据目录通常在 /var/lib/pgsql/14/data/

生成自签名的SSL证书和私钥:

sudo su - postgres
cd /var/lib/pgsql/14/data/
openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key
chmod 600 server.key
chown postgres:postgres server.key server.crt
​

在这个过程中,你会被询问有关证书的信息,如组织名称和位置。[

4. 配置PostgreSQL以使用SSL:

编辑PostgreSQL的主配置文件 postgresql.conf

vi /var/lib/pgsql/14/data/postgresql.conf
​

确保启用了SSL,并指定了证书和密钥的位置(如果你的证书和密钥位于默认目录,ssl_cert_filessl_key_file 可以不用更改):

ssl = on
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'
​

5. 调整pg_hba.conf配置:

编辑文件 /var/lib/pgsql/14/data/pg_hba.conf,并确保使用了适当的认证方法来接受SSL连接:

# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
# Enable SSL connections:
hostssl all             all             0.0.0.0/0               scram-sha-256
​

注意:scram-sha-256 是推荐的密码验证方法。

6. 重启PostgreSQL服务:

重启PostgreSQL服务以应用更改:

sudo systemctl restart postgresql-14
​

7. 测试SSL连接:

使用 psql命令行工具测试SSL连接,可以使用参数 -h localhost 来强制使用TCP连接而非默认的UNIX socket, -U postgres 来指定用户名:

psql "sslmode=require dbname=postgres user=postgres host=localhost"
​

如果出现 Postgres 提示符,表明SSL连接成功。

8. 防火墙调整:

根据需要,你可能必须更新CentOS 7的防火墙规则来允许外部SSL连接到PostgreSQL:

sudo firewall-cmd --add-service=postgresql --permanent
sudo firewall-cmd --reload
​

结论:

通过上述步骤,你可以为PostgreSQL数据库服务器设置SSL加密,从而增加数据在传输中的安全性。确保维持证书的有效性,并且定期更新和管理密钥,以防止未授权访问。

目录
相关文章
|
1月前
|
弹性计算 小程序 容灾
2025购买阿里云服务器配置选择方法:企业+个人+学生攻略
2025年阿里云服务器购买省钱攻略,涵盖个人、中小企业及高性能配置推荐。个人用户优选38元轻量或99元ECS,企业用户选199元2核4G服务器,游戏用户适合4核16G或8核32G配置,详情请参考最新活动及攻略。
362 11
|
1月前
|
缓存 监控 前端开发
详述uniapp项目部署于Nginx服务器的配置优化方法。
综上所述,uniapp项目部署于Nginx的优化方法多种多样,应根据实际情况灵活地采取合适的策略。配置后持续监控和调试,适时调整配置以保持最佳性能,并确保随着应用需求和访问模式的变化,服务器配置得到适当的更新和优化。
113 0
|
10月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
208 9
|
5月前
|
缓存 PHP 数据库
WordPress网站服务器性能优化方法,站长必备。
最后,当你将这些方法组合起来并实施时,您将发现你的WordPress网站性能有了显著的提高。别忘了,这不是一次性的任务,要定期执行,保持你的车(网站)始终在轨道上飞驰。
188 21
|
9月前
|
SQL 存储 关系型数据库
MySQL/SqlServer跨服务器增删改查(CRUD)的一种方法
通过上述方法,MySQL和SQL Server均能够实现跨服务器的增删改查操作。MySQL通过联邦存储引擎提供了直接的跨服务器表访问,而SQL Server通过链接服务器和分布式查询实现了灵活的跨服务器数据操作。这些技术为分布式数据库管理提供了强大的支持,能够满足复杂的数据操作需求。
441 12
|
10月前
|
安全 网络协议 网络安全
【Azure 环境】从网络包中分析出TLS加密套件信息
An TLS 1.2 connection request was received from a remote client application, but non of the cipher suites supported by the client application are supported by the server. The connection request has failed. 从远程客户端应用程序收到 TLS 1.2 连接请求,但服务器不支持客户端应用程序支持的任何密码套件。连接请求失败。
278 2
|
10月前
|
弹性计算 异构计算
2024年阿里云GPU服务器多少钱1小时?亲测价格查询方法
2024年阿里云GPU服务器每小时收费因实例规格不同而异。可通过阿里云GPU服务器页面选择“按量付费”查看具体价格。例如,NVIDIA A100的gn7e实例为34.742元/小时,NVIDIA A10的gn7i实例为12.710156元/小时。更多详情请访问阿里云官网。
1533 2
|
10月前
|
人工智能 弹性计算 关系型数据库
学生免费领取阿里云服务器一年的方法,以及各种活动
学生可以免费领取阿里云服务器一年,新人可获2核4G,非新人2核2G。访问链接注册并完成学生认证,领取300元无门槛优惠券,购买轻量应用服务器。此外,还有多项活动可赢取实物奖品。
3581 2
|
11月前
|
前端开发 Docker 容器
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
2833 1
|
11月前
|
弹性计算 安全 Linux
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法

热门文章

最新文章