1 PostgreSQL可以设定登录失败多少次数,锁定用户吗?目前PG是没有这个限定参数的
2 密码加密存储 show password_encryption
3 密码有效期 查询pg_user 修改:alter role xxx valid until '2021-05-28 12:00:00'
4 密码复杂度策略
模块可以实现密码复杂度要求,此模块可以检查密码,如果密码太弱,他会拒绝连接
创建用户或修改用户密码时,强制限制密码的复杂度,限制密码不能重复使用。例如密码长度,包含数字,字母,大小写,特殊字符等,同时排除暴力破解字典中的字符串。
添加到参数shared_preload_libraries,重启生效。通常这个so文件在 $PGHOME/lib下
alter system set shared_preload_libraries=pg_pathman,pg_statements,passwordcheck;
重启生效
5 密码验证失败延迟
auth_delay.so模块的作用是:在一次认证失败后,将延迟多少秒才能继续下一次认证。这个主要用于防止暴力破解. 请注意,它不会阻止服务攻击, 甚至可能会加剧这些攻击, 因为在报告身份验证失败之前等待的进程仍使用连接插槽。
通常这个so文件在 $PGHOME/lib下
alter system set shared_preload_libraries=pg_pathman,pg_statements,passwordcheck,auth_delay;
alter system set auth_delay.milliseconds=5000;---(毫秒)
reload 生效
6 密码的配置命令可能会被记录到~./pgsql_history文件及csvlog日志文件中(如果开启了DDL或更高级别审计log_statement),这些文件明文记录了密码,可能造成密码泄露风险。
















