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