PostgreSQL数据库安全加固(二)——设置密码验证失败延迟时间

谁践踏了优雅 2024-03-27 17:46 130阅读 0赞

文章目录

  • 前言
  • 一、下载扩展插件
  • 二、安装auth_delay扩展插件
  • 三、装载模块并修改配置
  • 四、测试
  • 总结

前言

PostgreSQL数据库设置密码验证失败延迟时间可以通过安装auth_delay扩展插件来实现,该设置主要是防止暴力破解,在验证失败后, 会延迟一段时间后,才能继续验证。

一、下载扩展插件

auth_delay扩展插件就包含在PostgreSQL数据库的源码安装包中,所以你需要先下载与你数据库版本一致的安装包。
安装包下载地址:http://www.postgresql.org/ftp/source/

  1. # 以postgresql-14.7版本为例,解压安装包
  2. tar -zxvf postgresql-14.7.tar.gz

解压后的postgresql-14.7/contrib/auth_delay目录就是auth_delay插件的文件目录

二、安装auth_delay扩展插件

进入postgresql的源安装包文件夹,进入contrib目录,找到auth_delay文件夹,进入并进行安装。

  1. # 安装命令
  2. make && make install

在这里插入图片描述

三、装载模块并修改配置

打开${PGDATA?}/postgresql.conf文件,修改shared_preload_libraries参数以包含’auth_delay’,同时找到auth_delay.milliseconds参数,设置延迟时间,单位为毫秒,以下示例5000代表5秒,若文件中没有该参数,添加即可。修改后,需要重启数据库才能生效。

注意:auth_delay认证失败之前等待的毫秒数,缺省是0。以下示例修改表示在一次认证失败后,将延迟5秒中才能继续下一次认证。该选项可以增加暴力破解数据库服务器的密码难度,但它并不能防止拒绝服务攻击,甚至可能恶化它们,因为报告验证失败之前等待的过程将损耗连接槽位。

  1. #增加配置示例
  2. auth_delay.milliseconds='5000'
  3. # 注意自己的配置文件路径
  4. vi /pgsql/postgresql/data/postgresql.conf

在这里插入图片描述

四、测试

使用psql命令进行登录验证。

  1. psql -U admin1

在这里插入图片描述

总结

除了需要在postgresql.conf配置文件中装载auth_delay模块,还需要增加auth_delay.milliseconds配置参数,否则该扩展模块的功能无法体现。

发表评论

表情:
评论列表 (有 0 条评论,130人围观)

还没有评论,来说两句吧...

相关阅读