宝塔面板Nginx防火墙安装

news2024/12/23 14:18:59

宝塔防火墙作用

要让你的网站保持持久的安全和稳定,开启网站防火墙是必不可少的一步。别等到被攻击的时候再去补救,那个时候某种程度来讲,已经晚了。安装和开启防火墙,就是防患于未然。未雨绸缪。最大程度保护好你的云服务器和网站数据。

宝塔面板防火墙主要有Nginx防火墙,Apache防火墙。你的网站是采用LNMP开发环境安装的,那你就使用Nginx防火墙。如果你网站环境是LAMP搭建的,那就使用Apache防火墙。现在绝大多数网站都是用Nginx(LNMP)搭建的,所以大部分使用Nginx防火墙。

特网科技联合宝塔 永久免费 特网云联合宝塔定制版,一键建站,在线管理网站、PHP多版本共存及切换,一键开启Tomcat环境 - 特网科技特网云联合宝塔定制版,一键建站,在线管理网站、数据库、FTP、远程安全,能够帮助你轻松管理服务器一切事务。https://www.56dr.com/about/bt/

使用场景:
1.遭受CC攻击、部分流量攻击的用户
2.遭受SQL注入、XSS/XSRF之类的渗透攻击的用户
3.遭受恶意上传脚本、webshell等危险行为的用户
4.希望屏蔽境内或境外地区访问自己网站的用户
5.希望通过UA、IP黑白名单管理网站访问规则的用户
6.希望可视化管理网站防御规则的用户
7.希望实时展示防火墙拦截状态的用户
8.适合想要查看攻击来源、被攻击的URI、保护的目录,但又不会看的用户
9.适合网站不需要某些蜘蛛来访,但又不会禁止的用户
10.适合网站被扫描器恶意扫描,但又不会禁止的用户
11.适合网站发文章不想要某些敏感词出现,但又不会设置的用户
12.应用场景包含所有动态网站

宝塔面板网站防火墙是基于nginx/apache模块开发的一套应用层防火墙,能有效阻止大部分渗透攻击,且提供高度自由的规则自定义功能,为站点加一道铜墙铁壁。主要目的是从源头阻止站点被挂马的事情发生。目前宝塔官网和官方论坛一直都在使用宝塔网站防火墙,效果良好。

宝塔面板防火墙是一个防火墙程序,用于在宝塔面板中防御服务器外来攻击使用的。根据环境服务软件的不同,分为nginx防火墙和apache防火墙。

宝塔面板防火墙其实管理的是操作系统自带的防火墙。不过系统防火墙属于命令行查看、设置、执行,对很多用户不够友好,宝塔面板把命令行变成了可视化界面,点击鼠标就可以轻松设置防火墙了。

互联网无时无刻都有各种扫描、探测、攻击着我们的服务器,这些攻击者不放过每一个机会, 按照IP段一路扫描过来,只要云服务器的公网IP提供对外访问,就躲不开探测和攻击。这时候防火墙就有了存在的意义。可以抵御相当一部分恶意探测和攻击,防患于未然。

宝塔防火墙主要功能

宝塔防火墙主要功能:

1、常规过滤,包括GET(URI、URI参数)、POST、Cookie、User-Agent、Header、IP黑白名单、URI黑白名单等等

2、禁止国外站点访问,开启后,该站点只允许国内用户访问(包括香港、澳门、台湾)

3、URI加密保护,常用于对网站后台的保护

4、URI专用规则,快速修补漏洞

5、CDN模式,如果您的站点使用了CDN,请开启CDN模式,否则防火墙可能影响网站的正常访问。

宝塔面板的防火墙面向站点的规则应用;可单独关闭或开启某一站点的防护功能;高度自由的规则应用,允许用户编辑和选择某一站点是否使用此规则。

开启防火墙步骤

开通了宝塔面板专业版的人士,宝塔面板所有付费插件都可以免费使用,不需要额外再付钱使用了

宝塔Linux面板专业版的nginx防火墙试用了一下,发现功能还是很丰富的,使用起来也很简单,这篇文章就来说说收费版的Nginx防火墙如何设置,算是给初次设置的同学一个参考。

要使用这个防火墙,你得购买了,29.8一个月,找不到月付(实际278.93元/年),废话不多说了,我们看看专业版Nginx防火墙应该如何设置。目前,教程用的版本是8.1.2,最新版本是Nginx防火墙8.8.9(但总体来说相差没那么大)。

1.第一步:绑定宝塔官网你注册的个人账号。

宝塔面板官网地址:《宝塔服务器面板官网》 一般用手机号注册,这是你唯一的宝塔面板官网账号。

2.登录宝塔面板–>软件商店–>【关键词搜索:Nginx防火墙】或【点击专业版插件】–>网站监控报表–>安装

插件安装后可直接点击宝塔面板左侧【防火墙】按钮,即可访问新版防火墙的管理页面。
启动后它展示的默认页是概览页,它将展示的内容有总拦截次数、24小时拦截次数、CC拦截次数以及保护天数。在第二第三栏中更有封锁IP列表、攻击地图、7天拦截趋势图、今日网站拦截TOP5与防御动态展示。

防火墙使用教程

宝塔面板防火墙使用教程参考:宝塔面板官网论坛——宝塔Nginx网站防火墙使用说明

我们打开这个防火墙,首先进入到首页,这里可以看到防火墙的总开关,这个和免费防火墙是一样的。还可以看到各种攻击的报表。

比如:POST渗透、GET渗透、CC攻击、恶意User-Agent、Cookie渗透、恶意扫描、恶意HEAD请求、网址自定义拦截、网址保护、恶意文件上传、禁止的扩展名、禁止PHP脚本等信息

全局设置

全局设置页面将展示防火墙的所有功能,可在此设置全局规则、各种类型的黑白名单、响应状态码等。当前页面支持导入导出防火墙的配置(仅支持Nginx防火墙内的规则导入导出),恢复默认防火墙配置、模拟攻击测试等。
开始前请详细阅读下列提示,非常重要、非常重要、非常重要。
继承:全局设置将在站点配置中自动继承为默认值,现有站点不受全局设置的影响,新增站点才会直接自动继承的应用全局设置。

优先级:IP白名单> IP黑名单 > UA白名单> UA黑名单> URL关键词拦截 > URL白名单 > URL黑名单 > 禁止境外> 禁止境内> > 非浏览器拦截> User-Agent > CC防御 > Cookie > URI过滤 > URL参数 > Thinkphp防御> POST > 网站自定义防御

CC防御

互动操作:设置响应代码、开关防御状态、初始化规则。
注意:全局CC设置的是初始值,新添加站点时将继承,对现有站点无效,已经存在被攻击现象的站点前往站点配置即可。

规则说明:
1.标准模式与增强模式:默认为标准模式,网站正常使用时建议使用标准模式,避免收录时出现问题,增强模式中有人机校验方式设置。

2.请求类型有4种拦截方式,分为URL带参数、URL不带参数、IP、IP+UA
2.1.URL带参数(适用于绝大场景防御效果一般)
例如:设置了URL带参数60秒周期60次频率,此刻Nginx防火墙做出的动作是某个IP在60秒内累计请求同一个URL(带参数)超过60次就会触发拦截。
例如:/index.php/index/login?username=admin,那么他的是代表整个URI去计算的(/index.php/index/login?username=admin),也就是URL不变的情况下去请求这个URL就会触发拦截。
2.2.URL不带参数(不适用于Thinkphp默认路由)
例如:设置了URL不带参数60秒周期60次频率,此刻Nginx防火墙做出的动作是某个IP60秒内累计请求同一URL(不带参数)超过60次就会触发拦截。
例如:/index.php/index/login?username=admin,那么Nginx防火墙会用URI去计算(/index.php/index/login),也就是URL(不带参数)不变的情况下去请求这个URL才会触发拦截。
2.3.IP(受到大量攻击的时候适用)
例如:某个IP60秒周期内访问服务器内所有网站的总次数超过60次的频率将会触发拦截,建议在受到攻击的时候开启。注意:不建议一直开启!
2.4.IP+UA(适用于API接口)
例如:某个IP+UA60秒周期内访问服务器内所有网站的总次数超过60次频率将会触发拦截。注意:建议不要开启,只适用于API网站!

3.周期、频率、封锁时间:xx秒周期内累计请求同一URL超过xx次频率,触发CC防御,封锁此IPxx秒,所有时间取1天,最长不会超过86400秒。
例如:60秒周期内累计请求同一URL超过180次频率,触发CC防御,封锁此IP300秒。
注意:IP封锁不等于拉黑名单,需要加黑名单需自行点击添加。请不要设置过于严格的CC规则,以免影响正常用户体验。

4.增强模式-人机校验:可设置自动开启/一直开启,自动开启可设置触发条件,例如60秒被访问600次触发开启人机校验。人机校验有4种校验方式,分为跳转验证、验证码验证、人机验证、滑动验证,只是验证方式不同,看个人喜好开启哪种,如果开启后无法正常显示,手动重启nginx主程序即可。

恶意容忍度

某一IP对网站进行了多少次的恶意请求后,nginx防火墙将进行对该IP的封锁。这不同于CC防御,恶意请求有可能是SQL注入、XSS等恶意传参、CC,当此IP的访问行为达到了设置的阈值,nginx防火墙就会做出封锁动作。
举例:192.168.1.10这个IP对 www.bt.cn 网站60秒进行了10次恶意攻击(包含SQL注入、XSS),触发了防火墙设置的阈值,此时防火墙将会对192.168.1.10进行拦截。
注意:全局应用:全局设置当前恶意容忍规则,且覆盖当前全部站点的恶意容忍规则。

IP黑白名单

设置后,所有规则对IP白名单无效,IP白名单前文提到位居规则顶端。IP黑名单设置后既在nginx防火墙禁止此IP访问所有网站。
建议使用场景:自己的服务器间互动、公司内测试、公司的其他服务器IP、需要测试的服务器IP等加入IP白名单(如果没有需求就不用设置IP白名单)。IP黑名单使用场景可以禁止某个或某个段的IP访问、某个段的蜘蛛爬虫,将需要拉黑的IP添加进入即可。

URL黑白名单

设置后,只要是关于添加的URL请求,都是进行URL黑白名单过滤,白名单设置后该URL将会失去大部分防御规则。
注意格式:例如误拦截的url如下: /index/index/aaa.php?id=eradasa&adas,只需要填写它的URL,不需要添加它的参数。
有添加URL黑白名单的需求是,操作如下:^/index/index/aaa.php,只需要添加^/index/index/aaa.php到URL黑白名单即可。

UA黑白名单

设置后,UA白名单查询到关键词直接跳过任何拦截,UA黑白名单初始化阶段在客户端UA中查找关键词,谨慎使用。UA白名单默认为空,没有就一直保持空即可。建议使用场景:例如可以禁用Google蜘蛛的UA到黑名单中,可以禁止某个浏览器UA访问,例如safari等。

非浏览器拦截

拦截非浏览器请求,通过UA判断是否是爬虫,此功能不会拦截真实的蜘蛛爬虫。
建议使用场景:此开关将应用所有网站,建议开启。另外如果使用了微信小程序外部调用,建议关闭此功能,因为微信那边验证网站也是非浏览器行为。

HTTP请求过滤

可选择过滤的请求类型、请求头过滤、语义分析开关等。
请求类型包含:POST、GET、OPTIONS、DELETE等;如果您只想允许POST和GET类型使用,其他的都不要,除了POST和GET其他的都关闭即可。
请求头包含:origin、content-type、accept、user-agent、cookie等;请求头过滤是过滤的请求头的字段长度。
例如:请求头中的cookie头部只能500字节以内,那么超过这个长度就被视为恶意的请求触发拦截。
语义分析开关:POST传参XSS防御、POST传参SQL注入防御、GET传参XSS防御、GET传参SQL注入防御。
建议使用场景:默认既全部开启,不建议关闭、不建议关闭、不建议关闭。

GET(GET-URL)、POST、UA(User-Agent)过滤、Cookie过滤、常见扫描器
GET-参数过滤 –> 对GET类型的参数进行过滤
GET-URL过滤 –> 对URI 进行过滤
User-Agent过滤–> 对客户端的UA进行过滤
POST过滤–>对POST传递的参数进行过滤
Cookie过滤–> 对客户端传递的Cookie进行过滤
常见扫描器–>对已知的扫描器进行封锁
建议:保持默认即可,不建议修改;需要自定义规则时,建议添加新的规则,不建议改动原来的,全部支持正则表达式。

GET(GET-URL)
GET参数和GET-URL的区别
例如:/index.php?id=1&id2=1,id=1&id2=1是过滤的参数和值,index.php是URI。
那么GET参数过滤只会取GET传递的参数,进行判断是否是恶意的参数;而GET-URL这块主要拦截的是一个备份文件被非法下载、sql文件被下载等。

UA(User-Agent)过滤
这里是对用户的恶意UA 进行了拦截,例如拦截go的UA直接填入go即可,支持正则。

POST、Cookie过滤、常见扫描器
这里是对POST的传递参数、用户提交的Cookie进行过滤,常见扫描器是对扫描器的特征去匹配。

禁止境内外访问

字面意思,设置后可禁止境内或境外访问,用户可自行点击设置设置IP,境外IP库可同步云端。
注意:不建议两个都开启,两个都开启后只能本地访问。

From-data协议、HTTP包、蜘蛛池、URL关键词拦截、违禁词拦截、API接口防御
Webshell查杀–>动态查杀webshell
From-data协议–>针对文件上传格式传输数据进行规范
蜘蛛池—>蜘蛛IP进行整合
URL关键词拦截–>针对URL某些关键词进行拦截(不记录日志)
违禁词拦截–>针对用户传递的文字进行拦截,例如用户发帖的违禁词进行拦截
API接口防御–>针对已经加入白名单的接口进行单独防御

From-data协议
协议是multipart传输数据的一种格式规范,不符合规范的将会触发拦截。

【免费试用】,接入CN2直连线路,延时在15ms左右,和大陆地区的体验一样,并提供新人注册优惠,原生IP地址,点击下方图片立即享受

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/509145.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVAWeb11-服务器渲染技术 -JSP-03-JSTL(会使用)

1. JSTL 标签库介绍 JSTL 标签库 是指 JSP Standard Tag Library :JSP 标准标签库EL 表达式是为了替换 jsp 中的表达式脚本,JSTL 是为了替换代码脚本。这样 jsp 页面变得更佳简洁JSTL 由五个标签库组成 使用 JSTL,需要导入相关的 jar 包 2…

一文读懂:客户管理系统平台是什么?有什么作用?

“客户管理系统平台是什么?” “客户管理系统平台有什么作用?在哪里可以应用?怎么用?” 经常可以听到企业内部关于客户管理系统平台的这些问题,本文将会为您一一解答: 一、客户管理系统平台是什么 顾名…

远程桌面连接Windows Server,提示“你的远程桌面服务会话已结束,可能是下列原因之一”错误

1、错误描述如下: 2、问题原因 出现该问题可能有以下原因: Windows实例的系统盘无Users用户,您可以参考方案一:添加Users用户修复该问题。 Windows实例的系统盘Users用户无读取和执行、列出文件夹内容、读取权限,您…

python建立字典的方法

在学习 Python的过程中,我们需要用到一些字典类的模块,例如 gdb、 gdtool等,但是这些字典类的模块都是以文件的形式存在。虽然通过 pip等命令也可以进行安装,但是在安装过程中我们需要非常仔细的检查安装包是否正确,以…

03FPGA—led灯的显示(入门)

学习fpga也有段时间了,但后台有几个朋友问我能不能分享一点简单入门例子,于是我打算发经典的如何控制led的例子,本文主要分享设计流程以及简单的verilog语法。 设计流程主要包括五个步骤模块设计、波形设计、编写rtl代码、仿真验证、上板验证&#xff0c…

Windows编程资源,菜单资源,图标资源,光标资源,上下文菜单,字符串资源,加速键资源

Windows资源是一种二进制数据,由链接器链接进程序成为程序的一部分,通过资源的方式可以很方便的对应用程序进行扩展。在Windows中资源可以是系统自定义的,也可以是用户自定义的。在本篇文章中为大家讲解菜单资源,上下文菜单&#…

【LeetCode】617. 合并二叉树

1.问题 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重…

Win11系统更新后网络速度变的很慢怎么办?

Win11系统更新后网络速度变的很慢怎么办?有用户将自己的电脑系统升级到了Win11之后,出现了一些问题。电脑在使用中出现了网络速度变慢的情况。而且其它的设备在连接网络后速度是正常的,那么这个问题要怎么解决?来看看以下的方法分…

SpringBoot+RXTXcomm实现Java串口通信 读取串口数据以及发送数据

记录一下使用SpringBootRXTXcomm实现Java串口通信,使用Java语言开发串口,对串口进行读写操作。 RXTXcomm.jar这个包支持的系统较多,但是更新太慢,在win系统下使用没有问题,但是在centos的工控机系统里使用读取和发送有…

vmstat 粗查系统判断瓶颈

vmstat 1 5 每 1 秒显示一次 , 一共显示 5 次后结束 memory 内存 swap 虚拟磁盘,交换分区 io 磁盘 system 系统进程 rrun 多少个进程在跑,包括在排队等待cpu处理的进程b block 多少个进程处于卡死状态。 除CPU外的资源如网络、…

视频播放方案

video插件播放m3u8格式视频(存原生) 这里使用原生的javascript实现m3u8格式视频播放。 使用了包括video.min.js库和HLS插件。 1-基础使用 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>Video.js HLS Example</title…

MYSQL高级语句

实验用表 create table location (Region char(20),Store_Name char(20)); insert into location values(East,Boston); insert into location values(East,New York); insert into location values(West,Los Angeles); insert into location values(West,Houston); location…

如何解决请求参数为JSON时,采用IO流读取,只能请求一次的问题?

如何解决请求参数为JSON时&#xff0c;采用IO流读取&#xff0c;只能请求一次的问题&#xff1f; 一、错误演示1. 创建项目&#xff0c;添加所需依赖2. 配置redis环境3. 写一个简单的测试请求4. 写一个拦截器&#xff0c;拦截请求5. WebConfig 注册拦截器6. 测试请求 二、问题解…

vue问题

一、路由 hash模式&#xff08;location.hash hashchange 事件&#xff09; hash 模式的实现方式就是通过监听 URL 中的 hash 部分的变化&#xff0c;触发haschange事件&#xff0c;页面做出不同的响应。但是 hash 模式下&#xff0c;URL 中会带有 #&#xff0c;不太美观。 h…

【多线程初阶三】简单了解wait和notify方法~

目录 &#x1f31f;1、wait() &#x1f31f;2、notify() &#x1f31f;1、wait() &#xff08;1&#xff09;wait()方法与notify()方法都是Object类中的方法。 &#xff08;2&#xff09;wait()是让线程等待一段时间&#xff0c;死等——>状态WAITING:没有时间限制的等待.…

MySQL 高级(进阶) SQL 语句一

一、高级SQL语句&#xff08;进阶查询&#xff09; 先准备2个表 一个location表&#xff1a; use kgc; create table location (Region char(20),Store_Name char(20)); insert into location values(East,Boston); insert into location values(East,New York); insert int…

如何判断CRM软件的好坏?2023年CRM系统排行榜前三名是什么?

CRM客户管理系统经过20余年的发展&#xff0c;收获了越来越多企业的认可&#xff0c;成为企业数字化转型必不可少的一环。很多企业都有上线CRM软件的计划&#xff0c;但精准的找到一款适合自身的产品十分不易&#xff0c;今天我们就来盘点2023年CRM软件排行榜。 一、CRM的含义…

Intellij中使用Spotless 格式化代码

Spotless简介 在一些大型项目或开源项目&#xff0c;由于开发人员太多&#xff0c;导致各个代码格式不统一。会让整体项目的代码可读性变差。统一代码格式使用maven中的Spotless插件就是不错的选择。 Spotless 是一个代码格式化工具&#xff0c;它有以下功能&#xff1a; 支…

300. 最长递增子序列

300. 最长递增子序列 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子…

tp6 对接阿里云短信

1、获取AccessKey ID,AccessKey Secret&#xff0c;第一次会提示需要创建 2、添加签名 3、创建模板 composer版本太老了&#xff0c;可能会导致下载失败&#xff0c;建议升级下版本 官方提供的最新依赖版本&#xff0c;我的会报错&#xff0c;下载不了&#xff0c;提示用2.0.…