宝塔防火墙HTTP请求过滤讲解


一、非浏览器拦截讲解的简介 【不会拦截蜘蛛爬虫

通过简单的UA 判断是否是爬虫如果你的api 出现异常


。建议你请求APi的时候UA换成百度蜘蛛的爬虫。


如果是伪造的百度蜘蛛UA 不会影响到其他功能的拦截的。






真实的百度爬虫不会拦截。伪造的百度爬虫如果触发恶意行为。一定会拦截




QQ截图20201017154953.png (98.4 KB, 下载次数: 45)

下载附件

2020-10-17 15:50 上传

建议开启。此功能。

备注:如果说使用了微信小程序外部调用的话。
建议关闭此功能。因为微信那边也是非浏览器的进行验证你的网站的。

一:状态码过滤      

微信截图_20210312110449.png (76.98 KB, 下载次数: 0)

下载附件

2021-3-12 11:04 上传

强调一下:
这个功能是根据返回的状态码来做一个拦截的。


微信截图_20210312110547.png (52.7 KB, 下载次数: 0)

下载附件

2021-3-12 11:05 上传

只允许了。状态码为 403 404 500 501 502 这几个状态码能拦截。其他的默认放行。

建议设置500 报错 进行拦截。

因为500 报错中会泄露一些信息。这样有效的保护了信息。

还有一个需要注意的是。如果是你的拦截状态码是403 设置之后。那么防火墙的拦截页面就不会显示了。



二、
HTTP请求过滤讲解的简介

QQ截图20201013160418.png (84.78 KB, 下载次数: 47)

下载附件

2020-10-13 16:04 上传

首先说明一下:

1.
HTTP请求类型过滤 为请求类型过滤


2.
请求头过滤 为HTTP header 头部长度过滤


3. 语义分析开关 为全局控制开关








二、防御设置

2.1 HTTP请求类型过滤(默认即可)

QQ截图20201013161359.png (84.89 KB, 下载次数: 52)

下载附件

2020-10-13 16:14 上传

如果你不是很懂这块的话。建议默认就行了。

如果你的需求 只允许POST 和GET 那么你把 除POST 和GET 的所有类型都关闭。

如下:


QQ截图20201013161538.png (21.95 KB, 下载次数: 39)

下载附件

2020-10-13 16:15 上传

测试。我把GET给关闭了。
(记得测试之后开启GET)


QQ截图20201013161937.png (31.28 KB, 下载次数: 48)

下载附件

2020-10-13 16:19 上传


2.2 请求头过滤 (如果没有需求默认即可)

QQ截图20201013162025.png (115.01 KB, 下载次数: 47)

下载附件

2020-10-13 16:20 上传






请求头过滤是过滤的请求头的字段长度。


例如(假设) 请求头中的cookie 头部只能500 以内。那么超过这个长度就相当于恶意的请求

测试如下:

QQ截图20201013162156.png (44.5 KB, 下载次数: 44)

下载附件

2020-10-13 16:22 上传






QQ截图20201013162333.png (67.9 KB, 下载次数: 34)

下载附件

2020-10-13 16:23 上传

2.3 语义分析开关 (默认即可)

QQ截图20201013162407.png (114.62 KB, 下载次数: 45)

下载附件

2020-10-13 16:24 上传

这个是程序内部的语义分析开关。默认不动即可

如果需要测试的话,如下:


QQ截图20201013162540.png (51.77 KB, 下载次数: 43)

下载附件

2020-10-13 16:25 上传

发送一个恶意的SQL 注入请求。然后找到该网站看拦截日志


QQ截图20201013162634.png (68.92 KB, 下载次数: 43)

下载附件

2020-10-13 16:26 上传

如果没有开启的话。就是内置的那些规则去防护的。


转自   https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=57585&extra=page%3D5%26filter%3Dtypeid%26typeid%3D10