PostgreSQL安全配置-如何抵卸针对PostgreSQL数据库的网络攻击

最近网络攻击较多,很多人中招了,希望大家养成良好的习惯,避免无谓的损失.
下面谈谈如何抵卸针对PostgreSQL数据库的攻击.

1 数据库物理隔离

目前最理想的方式,可惜大多数情况下我们达不到这个要求.

  • 将WEB服务器和数据库集群单独组网,使用一个独立的网段.在防火墙上只打开80端口(开放的端口越多越不安全),各个应用程序使用反向代理映射.
  • WEB服务器和数据库集群在机房内,任何修改必须先在测试环境测试无误后方能申请进入机房操作,操作至少两人再场共同确认.
  • 完善的生成环境管理规章制度

通过上述办法可以最大限度的避免有意或无意的删除数据库,近一段时间已经发生很多次了,保证数据的安全.

2 不具备上述条件或需要远程的

  • 首先使用正确的方式创建数据以及设置相应的权限,具体参考再谈PostgreSQL创建数据库
  • 修改pg_hba.conf
##创建好数据库后首先回收postgres数据库的public权限
###revoke all on database postgres from public;
##postgres数据库只允许在本机使用用户名和密码登录
host    postgres             all             127.0.0.1/32            md5
##创建好test库后首先回收test数据库的public权限
###revoke all on database test from public;
##test数据只允许用test用户从任意主机登录
host	test		test		0.0.0.0/0		md5
## 缺点是每创建一个数据库实例都需要修改pg_hba.conf,无需停机重新"pg_ctl  -D 数据目录 reload"
  • 修改postgresql.conf
#修改默认的侦听端口号,随便改一下即可,注意修改后要设置防火墙
port = 25432
#修完成客户端认证的最长时间,以秒计
authentication_timeout=5s
  • 使用高强度的密码
  • 配置Windows防火墙或linux防火墙,允许新配置的端口通行.

经过上述步骤后,可大幅提升数据的安全性,有效抵卸针对PostgreSQL数据库的攻击.
如条件允许建议还是使用数据库物理隔离.

3 SSL

不建议在数据库,建议https并结合第一节的方式使用.

你可能感兴趣的:(postgresql,抵卸网络攻击,PostgreSQL,安全配置)