1.在配置文件中设定
1.1在postgresql.conf文件中,修改参数authentication_timeout,可以设定认证超时的方法。该参数的默认值为60s,取值范围在1s-600s之间。
1.2密码验证失败延迟
主要用于防止暴力破解.验证失败后,延迟一个时间窗口才能继续验证。
方法如下:
① 首先检查bin目录下是否存在auth_delay.dll文件,如果存在则继续:
② 修改参数shared_preload_libraries,加载库”auth_delay”
③增加auth_delay.milliseconds选项
auth_delay:报告认证失败之前等待的毫秒数,缺省是0。上述修改表示:则在一次认证失败后,将延迟5秒中才能继续下一次认证。该选项可以增加暴力破解数据库服务器的密码难度,但它并不能防止拒绝服务攻击,甚至可能恶化它们,因为报告验证失败之前等待的过程将损耗连接槽位。
1.3密码复杂度验证
postgresql还提供了验证密码复杂度passwordcheck的插件,可以满足简单的密码复杂度测验,防止使用过短或者包含用户名的密码。在shared_preload_libraries中增加”passwordcheck”选项即可。