以下是Ubuntu PostgreSQL的安全设置策略:
- 修改默认密码
- 修改PostgreSQL默认管理员账户密码,设置为复杂密码。
- 为PgAdmin等管理工具设置强密码并定期更换。
- 防火墙配置
- 使用
ufw限制访问,仅允许特定IP/端口(如PgAdmin端口5050)。
- 使用
- SSL/TLS加密
- 配置
postgresql.conf启用SSL,生成证书并在客户端/服务端配置加密。 - 在
pg_hba.conf中指定hostssl要求加密连接。
- 配置
- 访问控制
- 通过
pg_hba.conf限制用户IP访问权限,按需分配md5/scram-sha-256认证。 - 使用
setfacl控制配置文件访问权限。
- 通过
- 权限管理
- 按最小权限原则创建用户,分配特定数据库/表权限,避免过度授权。
- 定期清理冗余用户和角色。
- 系统维护
- 定期更新PostgreSQL及依赖软件,修复漏洞。
- 启用审计日志,监控异常操作。
- 其他措施
- 禁用不必要的服务(如未使用的数据库实例)。
- 定期备份数据库,存储在安全位置。
参考来源: