You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Postgres错误日志中忽略认证类错误?

如何排除Postgres日志中的暴力破解认证错误条目

方法1:通过日志系统过滤(推荐)

PostgreSQL本身没有直接排除特定FATAL日志的原生配置,可借助系统日志工具(如rsyslog、syslog-ng)在日志写入阶段过滤掉这类暴力破解相关的认证失败条目。

以rsyslog为例:

  • 在rsyslog配置目录下新建过滤规则文件(如/etc/rsyslog.d/postgres-filter.conf),添加如下规则:
:msg, contains, "FATAL:  password authentication failed" ~
:msg, contains, "Role does not exist" ~
  • 重启rsyslog服务使配置生效:
systemctl restart rsyslog

该配置会直接丢弃匹配到的暴力破解日志行,不影响其他正常日志的记录。

方法2:调整PostgreSQL日志级别(谨慎使用)

若不想依赖外部工具,可通过调整日志级别过滤FATAL级日志,但此操作会屏蔽所有FATAL级错误(包括合法操作中的严重故障),需谨慎使用:

  • 修改postgresql.conf中的log_min_messages参数:
log_min_messages = PANIC
  • 重启PostgreSQL服务:
systemctl restart postgresql

注意:此设置仅会记录数据库崩溃级的PANIC错误,可能遗漏重要的故障信息,不建议在生产环境使用。

方法3:缩小远程连接范围(源头减少日志)

在保留远程连接权限的前提下,可通过限制允许连接的IP段,减少机器人暴力破解的攻击面,从源头上降低这类日志的产生:

  • 修改pg_hba.conf,将原有的0.0.0.0/0替换为实际需要的远程IP段,例如:
host    all             all             192.168.1.0/24          scram-sha-256
  • 重新加载PostgreSQL配置使修改生效:
pg_ctl reload

内容的提问来源于stack exchange,提问作者Leo Jiang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 10:02:49