本次BT宝塔面板的Nginx防火墙的内容比较多,这次虾皮路又介绍一下BT宝塔面板Nginx防火墙HTTP请求过滤及GET/POST/UA过滤设置相关内容。之前虾皮路也介绍了不少关于BT宝塔面板的Nginx防火墙的文章,如下:

一、Nginx防火墙非浏览器拦截讲解的简介3aa70730f425d1b80e3c30f18abcc6fa.png

建议开启。此功能。

二、Nginx防火墙HTTP请求过滤讲解的简介0ea8b17718c84bf72e3e639157130db8.png

首先说明一下:

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

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

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

三、Nginx防火墙防御设置

3.1 HTTP请求类型过滤(默认即可)dec9ac8f12c8a64a12d04f855d030739.png

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

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

如下:f887b798f02bc0a11dd4f573bfe6a986.png

测试。先把GET给关闭了。(记得测试之后开启GET)c0dd01e30cc509651082f3ed5a07c4b0.png

3.2 请求头过滤 (如果没有需求默认即可)51924d4375b32513326fc51bcbf2e5de.png

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

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

测试如下:f8c99e12e363a119b9a81ffdc21be419.png58af045ca75572fa818efec89cd864f6.png

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

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

如果需要测试的话,如下:c770212717cf15278c590c82af3fa986.png

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

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

四、Nginx防火墙防御GET,POST,UA 简介7e0cd6d345160880dc6b617c0f40bc64.png

简要说明:

1. GET-参数过滤 –> 对GET类型的参数进行过滤

2.GET-URL过滤 –> 对URI 进行过滤

3. User-Agent过滤        –> 对客户端的UA进行过滤

4.POST过滤         –>对POST传递的参数进行过滤

5. Cookie过滤        –> 对客户端传递的Cookie进行过滤

6.常见扫描器        –>对已知的扫描器进行封锁

4.1 GET参数过滤(默认即可)

首先跟大家说下。GET 参数和GET-URL 的区别

例如:

/index.php?id=1&id2=1

id=1&id2=1 是过滤的参数和值

index.php 是URI

那么GET参数过滤只会取get传递的参数,进行一个判断是否是恶意的参数2cded4f6af3fd98ab579b22810141461.png

4.2 GET-URL过滤(默认即可)50d1ada959a3e34da29cb77b8e31ed7a.png

这块主要拦截的是一个备份文件被非法下载啊,或者sql文件被下载啊。

4.3 User-Agent过滤(默认即可)ca35789c0eaa11f744df079bb1571054.png

这里是对用户的恶意UA 进行了拦截。例如拦截go的UA 直接填入go即可

4.4 POST过滤(默认即可)9b2a3449db640ec3d007fe6d93a53817.png

这里是对post的传递参数进行过滤。如果没有特殊需求建议不要修改。

4.5 Cookie过滤(默认即可)743e6fde7ea914e27f3f18e4b4cd8f09.png

这里是对用户提交的Cookie 进行过滤。如果没有特殊需求建议不要修改。

4.6 常用扫描器(默认即可)36999dd84618029a7443346e070675c4.png

这里是对扫描器的特征去匹配

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐