资讯专栏INFORMATION COLUMN

PostgreSQL数据库安全加固

IT那活儿 / 3269人阅读
PostgreSQL数据库安全加固


数据已经成为了一个企业发展的基石,数据的安全至关重要,近年来,发生了多起,数据被删除的案例。因此数据库的安全策略相当重要,本文列举了一些常见的安全加固方法。

1、设置PostgreSQL数据库实例的最大连接数,并给超级用户预留足够的连接

Alter system set max_connections to 2000;

Alter system set superuser_reserved_connections to 20;

注意:普通用户的最大连接数实际为:2000-20 =1980;参数修改后,需要重启数据库生效

2、为数据库设置最大允许的连接数

Alter database dbname with connection limit 1000;

3、修改数据库实例的默认监听端口

查看PG使用的监听端口:

设置数据库监听端口:

Alter system set port to 6789;//注意需要使用超级用户修改,重启生效

4、为应用用户设置最大连接数

Max_connections设置PG实例的最大连接数,还可以为多带带用户设置最大连接数

Create user weiqiang password ‘weiqiang’ connection limit 300;

或者

Alter user weiqiang wiyh connection limit 300;

5、自定义PG超级管理员

在初始化数据库时,指定超级管理员:

6、设置用户角色的密码的导入日期

尝试进行登录报错信息如下:

7、不使用默认的postgres数据库

在数据库集群初始化完毕后,不建议保留postgres数据,建议使用一个新的空的数据库进行代替,避免人为非法尝试登录默认数据库:

Create database empty_used;

c empty_used

Drop database postgres;

8、修改用户的默认密码加密方式

新版本数据库建议用户密码加密方式设置为scram-sha-256

修改用户加密方式

或者在数据库实例初始化时指定密码加密方式:

Initdb -A scram-sha-256

或者

Alter system set password_encryption to ‘scram-sha-256’;

9、设置PostgreSQL实例的监听地址

PostgreSQL监听地址默认为localhost,不建议使用*或0.0.0.0

建议修改为:应用的ip地址

Alter system set listen_addresses to ‘192.168.21.142,192,168.21.144’;重启生效

10、配置pg_hba.conf客户端认证

Local all all scram-sha-256 ##本地登录使用密码验证,禁止设置为trust认证

Host all postgres 0.0.0.0/0 reject ##禁止超级用户远程登录

Host all all 192.168.21.142/32 scram-sha-256

Host replication repuser 192.168.21.144/32 scram-sha-256

11、设置用户密码复杂度策略

不建议用户和密码相同;建议使用大小写字母及特殊字符混合,且不能小于一定的长度。建议使用passwordcheck进行密码复杂度检查。在CREATE USER或ALTER USER设置用户密码时会自动触发密码复杂度检查。

Vi $PGDATA/postgresql.conf

Shared_preload_libraries=’passwordcheck’;

Passwordcheck.level=’true’;

举例:

12、用户权限设置

用户权限设置原则:应用用户权限越小越好;够用就好

建议1:数据库删除public模式,或者回收所有用户拥有的public模式的权限

Revoke all privileges on schema public from PUBLIC;

建议2:设置应用用户的search_path to ‘app_user_schema’;不建议将该shema的所有权限授予引用用户

13、设置idle_in_transaction_session_timeout参数,避免长时间的空闲未提交的事务导致表膨胀
14、建议设置statement_timeout参数,避免SQL执行时间过长,占用过多资源,建议在会话中设置
15、建议安装pg_stat_statements插件,捕捉性能低下的SQL进行优化,提高系统响应。
16、PostgreSQL数据库版本每个季度发行一个小版本,因此相关BUG、漏洞会较快的修复,建议根据需要定期进行版本升级。


END


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129955.html

相关文章

  • 你应该使用哪个云据库

    摘要:云计算云计算的基本原则是采用一次性和可更换的多台机器,这对采用云计算技术以及在云中实施的数据库系统的功能有直接影响。云数据库属于相同的类别,而新系统明显倾向于并行优先。与非云系统相比,云计算系统向数据库应用程序公开资源利用控制要常见得多。 云计算的基本原则是采用一次性和可更换的多台机器,这对采用云计算技术以及在云中实施的数据库系统的功能有直接影响。传统数据库大致可以分为并行优先(例如Mo...

    wuaiqiu 评论0 收藏0
  • 面对众多云据库,应该使用哪个云据库好?

    摘要:云计算的基本准则是采用一次性和可更换的多台机器,这对采用云计算技术及其在云中实施的数据库系统的功能有直接影响。与非云系统相比,云计算系统向数据库应用程序公开资源利用控制要常见得多。云数据库使用哪个云数据库好云数据库哪个好 云计算的基本准则是采用一次性和可更换的多台机器,这对采用云计算技术及其在云中实施的数据库系统的功能有直接影响。传统数据库大致可以分为并行优先(...

    Lowky 评论0 收藏0
  • 5大移动应用加固平台评测

    摘要:梆梆安全梆梆的整体流程和其他的差不多,可以选择安全评估和应用加固是否同时进行。其中对速度影响最大的是梆梆安全。通过这次的评测,可以发现测试的应用采用通付盾的加固后,兼容性出现了大幅度下降只有。 前言:由于安卓APP是基于Java的,所以极容易被破解,一个不经过加固的APP犹如裸奔一样,毫无防备。之前曾有新闻报道,一些专职的APP打包黑产就是专门从各种渠道找到apk,通过各种破解手段将a...

    djfml 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<