当前位置:论坛首页 > BUG提交 > Linux面板

【已解答】fail2ban问题反馈

发表在 BUG提交2020-7-27 16:51 [复制链接] 7 8349

面板版本:宝塔linux面板 7.4.2

系统版本:CentOS  7.8.2003(Py3.7.4)

浏览器版本:Google Chrome 84

问题现象:经测试,fail2ban无法处理 http/2.0协议 的访问请求。没有权限提交带url的内容

重现方式:

网站开启http2后,curl测试访问,如:
curl -I 网址

服务器日志如下:
39.155.215.86 - - [27/Jul/2020:16:33:32 +0800] "HEAD / HTTP/2.0" 200 0 "-" "curl/7.70.0"

此时查看fail2ban,无日志记录。




使用道具 举报 只看该作者 回复
发表于 2020-7-27 16:53:24 | 显示全部楼层
而且ip被ban之后,此IP无法访问服务器上的所有站点了
使用道具 举报 回复 支持 反对
发表于 2020-7-27 17:36:01 | 显示全部楼层
新逸Cary 发表于 2020-7-27 16:53
而且ip被ban之后,此IP无法访问服务器上的所有站点了

这个banip相当于在服务器网络层的作用,加到黑名单后,就是该服务器上的所有站点都无法访问,直接从网络层杜绝
使用道具 举报 回复 支持 反对
发表于 2020-7-27 17:38:04 | 显示全部楼层
你第一个问题应该是curl无法处理http2协议的请求,fail2ban仅仅处理网络层,对http协议只从网站日志中取值分析哪些符合阈值的ip,然后ban掉
使用道具 举报 回复 支持 反对
发表于 2020-7-28 09:48:04 | 显示全部楼层
大炮运维V587 发表于 2020-7-27 17:38
你第一个问题应该是curl无法处理http2协议的请求,fail2ban仅仅处理网络层,对http协议只从网站日志中取值 ...

用浏览器访问是同样的效果,协议显示为 h2时,fail2ban没有日志,但nginx会有日志;而访问的网址为htttp/1.1协议时,nginx和fail2ban都会有日志
使用道具 举报 回复 支持 反对
发表于 2020-7-28 09:50:53 | 显示全部楼层
大炮运维V587 发表于 2020-7-27 17:38
你第一个问题应该是curl无法处理http2协议的请求,fail2ban仅仅处理网络层,对http协议只从网站日志中取值 ...

另外,您说的这个“curl无法处理http2协议的请求”,我试了,curl增加参数 --http2 时,fail2ban是没有日志的,但请求正常。使用参数  --http1.1 和 --http1.0 时,nginx和fail2ban都有日志。
使用道具 举报 回复 支持 反对
发表于 2020-7-29 12:04:48 | 显示全部楼层
大炮运维V587 发表于 2020-7-27 17:38
你第一个问题应该是curl无法处理http2协议的请求,fail2ban仅仅处理网络层,对http协议只从网站日志中取值 ...

找到了fail2ban的源码,fail2ban_main.py,有这样一段:

  1.             if values["regex"] == "scan":
  2.                 regex = "failregex = <HOST> -.* {}.* HTTP/1\..".format(values["dir"])
  3.             elif values["regex"] == "cc":
  4.                 regex = "failregex = <HOST> -.*- .*HTTP/1.* .* .*$"
  5.             else:
  6.                 regex = values["regex"]
复制代码


可以看到插件里只匹配了http1.x的协议请求
使用道具 举报 回复 支持 反对
发表于 2020-7-31 11:49:42 | 显示全部楼层
新逸Cary 发表于 2020-7-29 12:04
找到了fail2ban的源码,fail2ban_main.py,有这样一段:

已反馈给程序员
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表