宝塔面板开启waf防护

宝塔成立之初的目标群体就是对服务器技术不太懂的或者想用更简单的方法来管理服务器的人们,为了更好的服务这些群体,我们会在软件立项层面就引入交互体验,将其视为于底层技术一样重要的方向,因为我们认为这些人群,不但需要软件功能合适,而且软件要简单好用,最好用的过程是不需要看教程或问人,完全凭自己感觉操作。我们就是真的要做到让你更简单的操作服务器。

宝塔面板在 6.x 之前的版本中自带了防火墙功能(Nginx 管理 > 过滤器 如下图),到了 6.x 之后,,,为了推行收费版的防火墙插件,宝塔官方把这个免费的防火墙入口给隐藏了。今天,就来说说如何开启这个隐藏的 Nginx 防火墙!

警告:
以下内容在改动前一定要备份原文件!否则……

1、进入宝塔面板,打开 软件管理 > Nginx > 设置 > 配置修改

2、找到大约在第 13 行的 #include luawaf.conf;,去掉前面的 # 符号(“#”代表注释),保存并重启 Nginx。

3、恭喜你,已经成功开启了防火墙!可以试着访问 http://你的网址/?id=…/etc/passwd,页面会弹出拦截提示那么问题来了:该怎么自定义这个防火墙的防护规则呢?别急,请跟我一起来!还是在宝塔面板里头,打开面板的文件管理,进入 /www/server/nginx/waf 目录,里面的 config.lua文件就是防火墙的配置文件。每一项的具体含义如下所示:

attacklog = "on"--是否开启攻击日志记录(on 代表开启,off 代表关闭。下同) 
logdir = "/www/wwwlogs/waf/"--攻击日志文件存放目录(一般无需修改)
UrlDeny="on"--是否开启恶意 url 拦截 Redirect="on"--拦截后是否重定向 
CookieMatch="off"--是否开启恶意 Cookie 拦截 postMatch="off"--是否开启 POST 攻击拦截 
whiteModule="on"--是否开启 url 白名单 
black_fileExt={"php","jsp"}--文件后缀名上传黑名单,如有多个则用英文逗号分隔。如:{"后缀名1","后缀名2","后缀名3"……} 
ipWhitelist={"127.0.0.1"}--白名单 IP,如有多个则用英文逗号分隔。如:{"127.0.0.1","127.0.0.2","127.0.0.3"……} 下同 
ipBlocklist={"1.0.0.1"}--黑名单 IP 
CCDeny="off"--是否开启 CC 攻击拦截 
CCrate="300/60"--CC 攻击拦截阈值,单位为秒。"300/60" 代表 60 秒内如果同一个

配置文件中,RulePath 项对应的文件夹里存放的是具体的拦截规则。打开这个文件夹,可以看到里面有一些无后缀名的规则文件。其中每一个文件的作用如下:

args --GET 参数拦截规则 
blockip --无作用 
cookie --Cookie 拦截规则 
denycc --无作用 
post --POST 参数拦截规则 
returnhtml --被拦截后的提示页面(HTML) 
url --url 拦截规则 
user-agent --UA 拦截规则 
whiteip --无作用 
whiteurl --白名单网址

这些文件里,除了 returnhtml(拦截提示页面)以外,其它的内容都最好不要改动,除非你正则学的比较好……否则很容易改出问题来。如果改动了其中的内容,记得要重启 Nginx 才会生效哦~

备注信息:
1、其实这个“免费”的防火墙就是大名鼎鼎的 ngx_lua_waf。非宝塔面板用户也可以自己动手安装。详情请参阅:https://github.com/loveshell/ngx_lua_waf

2、宝塔面板那个收费的防火墙跟这个还是完全不一样的。功能上更加完善,使用起来更加方便。如果你有钱,也可以直接买个收费版~

### 安装宝塔面板 对于希望在 Debian 系统上安装并配置 Web 应用防火墙(WAF)的用户来说,首先需要完成宝塔面板本身的安装。针对 Debian 发行版,可以采用如下命令来执行这一操作: ```bash wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ``` 此命令会自动下载适用于 Ubuntu 和 Debian 版本的最新宝塔面板安装脚本,并启动安装过程[^4]。 ### 配置 WAF 一旦成功安装了宝塔面板,在其图形化界面上即可轻松设置 WAF 功能。具体而言, #### 启用 Nginx 或 Apache 的 WAF 插件 登录到宝塔面板之后,导航至网站管理部分,选择要保护的目标站点。接着进入安全选项卡,这里提供了启用 WAF 的按钮。点击该按钮即刻激活对应于所选服务器软件(Nginx 或 Apache)的安全防护措施[^1]。 #### 自定义规则集 为了进一步增强安全性,还可以自定义过滤规则或者调整默认参数以适应特定需求。这通常涉及到编辑预设的规则文件或是上传自制规则集合。值得注意的是,这些高级功能可能需要一定的技术背景支持[^3]。 #### 更新与维护 定期更新 WAF 组件以及监控日志记录同样重要。保持组件处于最新的状态有助于抵御新型威胁;而审查访问日志则可以帮助识别潜在攻击模式并据此优化防御策略。 ```python # 示例 Python 代码片段展示如何自动化检查宝塔服务运行状况 import requests def check_bt_status(): try: response = requests.get('http://localhost:8888') if response.status_code == 200: print("宝塔面板正在正常工作") else: print(f"检测到异常, HTTP响应码:{response.status_code}") except Exception as e: print(f"无法连接到宝塔面板: {e}") check_bt_status() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值