You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 22.04下sshd日志级别设置失效,auth.log内容过短导致Fail2ban无法识别sshd日志

Ubuntu 22.04下sshd日志级别设置失效,auth.log内容过短导致Fail2ban无法识别sshd日志

我明白你碰到的问题了——Ubuntu 22.04上sshd生成的auth.log内容太简略,导致Fail2ban的sshd规则没法正确抓取这些失败登录尝试。从你贴的日志片段来看,确实只有PAM的认证失败提示,缺少Fail2ban默认过滤器需要的关键条目(比如明确的“Failed password for...”这类日志),这大概率是sshd的日志级别没开够导致的。

给你几个解决步骤:

  • 调整sshd日志级别
    先打开sshd的配置文件:

    sudo nano /etc/ssh/sshd_config
    

    找到LogLevel这一行,默认可能是INFO,把它改成VERBOSE(这个级别足够输出Fail2ban需要的细节,又不会产生太多冗余日志)。如果LogLevel行被注释了,记得去掉前面的#再修改。

    保存退出后,重启sshd服务让配置生效:

    sudo systemctl restart sshd
    
  • 验证日志输出
    等个几分钟,再去查看/var/log/auth.log,应该会出现类似这样的条目:

    Mar 6 19:00:00 laphs sshd[12345]: Failed password for invalid user test from 192.168.1.100 port 12345 ssh2

    这类日志就是Fail2ban的sshd过滤器能正确识别的格式了。

  • (可选)确认Fail2ban过滤器配置
    如果你调整日志级别后还是有问题,可以检查Fail2ban的sshd过滤器:

    cat /etc/fail2ban/filter.d/sshd.conf
    

    默认的过滤器已经包含了匹配“Failed password”“invalid user”这类关键词的正则,只要日志内容正确,应该就能正常匹配。

需要注意的是,别把日志级别设得太高(比如DEBUG2及以上),这类级别会输出敏感信息(比如部分密码内容),VERBOSE是最平衡的选择。

备注:内容来源于stack exchange,提问作者booraik

火山引擎 最新活动