阅读量:4
以下是Debian中PostgreSQL的安全设置步骤:
-
更新系统
sudo apt update && sudo apt upgrade -
安装PostgreSQL
sudo apt install postgresql postgresql-contrib -
强化默认用户安全
- 为
postgres用户设置强密码:sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'strong_password';"
- 为
-
配置访问控制
- 编辑
/etc/postgresql/{version}/main/pg_hba.conf,限制连接方式(如仅允许本地或使用MD5加密的远程连接):# 仅允许本地连接(示例) host all all 127.0.0.1/32 md5 - 编辑
/etc/postgresql/{version}/main/postgresql.conf,设置listen_addresses(谨慎使用'*',建议限制为必要IP):listen_addresses = 'localhost' # 或指定IP
- 编辑
-
启用SSL加密
- 生成证书和密钥:
mkdir /etc/postgresql/ssl openssl req -new -x509 -days 365 -nodes -text -subj '/CN=postgres' -out /etc/postgresql/ssl/server.crt -keyout /etc/postgresql/ssl/server.key chmod 600 /etc/postgresql/ssl/server.key - 修改
postgresql.conf启用SSL:ssl = on ssl_cert_file = '/etc/postgresql/ssl/server.crt' ssl_key_file = '/etc/postgresql/ssl/server.key' - 重启服务:
sudo systemctl restart postgresql
- 生成证书和密钥:
-
用户与权限管理
- 创建普通用户并授予权限:
sudo -u postgres psql -c "CREATE USER app_user WITH PASSWORD 'app_password';" sudo -u postgres psql -c "GRANT SELECT, INSERT ON mytable TO app_user;" - 遵循最小权限原则,避免滥用超级用户权限。
- 创建普通用户并授予权限:
-
防火墙配置
- 使用UFW允许PostgreSQL端口(默认5432):
sudo ufw allow 5432/tcp
- 使用UFW允许PostgreSQL端口(默认5432):
-
审计与监控
- 启用日志记录(在
postgresql.conf中设置):log_statement = 'all' log_connections = true log_disconnections = true - 定期查看日志:
sudo tail -f /var/log/postgresql/postgresql-{version}-main.log
- 启用日志记录(在
-
定期备份
- 使用
pg_dump备份数据库:sudo -u postgres pg_dump mydatabase > /path/to/backup.sql
- 使用
注意:根据实际需求调整配置,定期审查安全策略以应对新威胁。[1,2,3,4,5,6,7,8,9,10]
以上就是关于“Debian中PostgreSQL安全设置步骤”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm