Ubuntu 上 pgAdmin 的安全加固清单
一 身份与访问控制
sudo systemctl reload postgresql 使配置生效。二 网络与传输加密
sudo ufw allow from 192.168.1.100 to any port 5050/tcp;必要时将端口改为非标准端口以降低暴露面。三 日志审计与监控
logging_collector = on,设置日志目录、文件名与慢查询阈值(如 log_min_duration_statement = 500 记录超过 500ms 的语句),便于性能与安全审计。ausearch 检索审计事件,覆盖应用层难以捕获的操作。四 补丁、备份与运行安全
sudo apt update && sudo apt upgrade -y,或启用 unattended-upgrades 自动安装安全补丁,及时修复 PostgreSQL 与 pgAdmin 的已知漏洞。pg_dump -U postgres -h localhost -F c -b -v -f /backup/pgdb_backup.dump mydatabase),并进行恢复演练,确保事件发生时可快速恢复。五 快速检查清单
| 检查项 | 期望状态/做法 |
|---|---|
| 默认密码已更改 | postgres 与 pgAdmin 均使用≥12位强密码,定期更换 |
| 访问来源受限 | ufw 仅放行受信任 IP 到 5050/tcp |
| 传输加密已启用 | pgAdmin 与 PostgreSQL 均启用 SSL/TLS,反向代理强制 HTTPS |
| ACL 最小化 | pg_hba.conf 仅允许必要来源与认证方式 |
| 权限最小化 | 无过度授权,按角色授予所需权限 |
| 日志与审计 | pgAdmin、PostgreSQL 与 auditd 日志启用并定期审查 |
| 补丁与备份 | 系统与安全补丁自动应用,备份可用且已演练 |
| 攻击面收敛 | 关闭不必要功能/插件,fail2ban 防护登录暴力 |