postgres安全配置


1、登录失败处理

建议不做处理,因为会导致连接延迟
session_preload_libraries='session_exec'
session_exec.login_name='login'
具体操作不做说明

2、连接超时断开连接

$vi postgresql.conf
statement_timeout 在 postgresql 被用来控制语句执行时长,单位是ms。300000ms = 300s =5min
statement_timeout = 300000

3、密码过期配置

1、配置密码有效期
postgres=# alter role mainuser VALID UNTIL '2022-5-30';
2、密码永不过期
postgres=# alter user mainuser with valid until 'infinity';

4、密码复杂度配置

$vi postgresql.conf
shared_preload_libraries = 'passwordcheck' 

5、开启日志审计

$vi postgresql.conf
logging_collector = on
log_destination = 'csvlog'
log_truncate_on_rotation = on
log_connections = on
log_disconnections = on
log_error_verbosity = verbose
log_statement = ddl
log_min_duration_statement = 60s
log_checkpoints = on
log_lock_waits = on
deadlock_timeout = 1s

查看日志

show log_directory;
show log_filename;

6、禁止超级管理员远程登录

pg_hba.conf文件里边无法禁用账户远程登录,只能选择允许远程登录的用户,
postgres数据库的超级用户只有postgres用户,不加在以下配置中,就会被禁用。

host   all   user1,user2,user3    192.168.112.0/24   md5

注意:以后关于文件配置修改的参数,配置完毕后都是需要重启数据库才能生效的!

相关