惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
G
Google Developers Blog
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
小众软件
小众软件
月光博客
月光博客
Recent Announcements
Recent Announcements
人人都是产品经理
人人都是产品经理
P
Proofpoint News Feed
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
The Cloudflare Blog
博客园_首页
美团技术团队
大猫的无限游戏
大猫的无限游戏
B
Blog
IT之家
IT之家
Jina AI
Jina AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

西枫里博客

如何养好一只兔子 - 西枫里 浙北安吉北部乡镇春节民俗 - 西枫里 湘西张家界之旅(游记篇) - 西枫里 热闹的电影暑期档 - 西枫里 湘西张家界之旅(攻略篇) - 西枫里 阳记 - 西枫里 一地鸡毛,高歌欢进(三) - 西枫里 华为Nova7SE换屏维修记录 - 西枫里 魔都魔幻生活——我的抗疫经历 - 西枫里 树莓派升级手记 - 西枫里 尝试挽救一下我的SEO——页面常规优化 - 西枫里 2022年在上海外地牌照车辆异地年检流程 - 西枫里 尝试挽救一下我的SEO——域名和主机的影响 - 西枫里 尝试挽救一下我的SEO——缘起 - 西枫里 米6钉子户,更换电池再战2年。 - 西枫里 二换科鲁兹前照灯灯泡 - 西枫里 一地鸡毛,高歌欢进(二) - 西枫里 联想拯救者14ISK更换电池 - 西枫里 冷车打火喘抖怎么办?倒车灯倒车雷达影像没反应怎么办? - 西枫里 树莓派刷64位系统放内网做服务器使用 - 西枫里 米6刷MIUI12的简易教程(进击的小米6) - 西枫里 一地鸡毛,高歌欢进(一) - 西枫里 人近不惑三十六,本命牛年转乾坤。 - 西枫里 魔都新冠疫苗接种记 - 西枫里 thinkpad扬声器没声音 - 西枫里 个人健康管理,刻不容缓 - 西枫里 Hello Java - 西枫里 到了退休年龄社保未缴满十五年怎么办? - 西枫里 科鲁兹/英朗后备箱开关更换 - 西枫里 iphone6换屏教程,附iphone已停用解锁 - 西枫里
宝塔linux面板6.0+免费版启用waf防火墙 - 西枫里
西枫里 · 2019-04-11 · via 西枫里博客

宝塔面板自从升级到6.0+免费版以后,宝塔官方为推广收费waf插件,将原本功能中的过滤器给屏蔽掉了,但其实过滤器的功能都完整的包含在了6.0的版本中。只需要简单几步即可启用原5.0中的过滤器。而这个过滤器事实上就是一个waf防火墙,并且源自知名的ngx_lua_waf。

一、启用隐藏的waf。

进入宝塔面板,软件管理,nginx设置,配置修改,http段中,删掉include luawaf.conf;前面的#号,保存一下。重启nginx,即可使用waf了。

二、查看和设置waf过滤规则。

进入面板,文件,根目录/www/server/nginx/waf中的三个文件。config.lua是waf的配置文件。init.lua是waf的初始化脚本。waf.lua是运行脚本。配置文件中几个配置名,从命名规则就很容易理解配置项是什么功能。我就不说了,图上的是我目前用配置规则。

1.jpg

过滤规则在根目录/www/server/panel/vhost/wafconf下面,文件名上就能理解每个文件对应的管控范围。建议用默认的吧,别改了,已经满齐全的了,如果你有更好的,可以在规则上补加。returnhtml这个文件是触发过滤器后的返回页面,为了防止千篇一律,可以个性化设置一下,html和css的基础就够了。

三、查看拦截日志。

日志是在根目录/www/wwwlogs/waf下面,可以下载到本地来看,也可以通过日志分析软件进行分析。西枫里这两天没吊事心血来潮翻了下拦截日志,随便取了几个IP百度了一下,发现怎么都是阿里云的IP。第一直觉就是过滤器获取了CDN的IP,因为西枫里博客是部署了CDN的,所以waf是没有获取到真实IP,拿到的全部是回源时候的CDN的IP。

四、修改过滤器的IP获取规则。

拿到的都是CDN的IP就没有太大意义了,所以必须拿到真实IP,所以得改造一下获取规则。在根目录/www/server/nginx/waf下面,找到init.lua文件,点编辑,第18行是IP=ngx.var.remote_addr。很显然,直接去拿remote_addr的IP来用了,那些被CDN代理后的IP全被隐匿了。西枫里从没写过Lua的脚本,所以大致看了一下整个文件的脚本,我看语法和ASP很类似,于是依葫芦画瓢,把函数getClientIp给改了一下,如下图。改完,就去翻了下菜鸟教程中的Lua语法,发现竟然没写错,这还真应了那句瞎猫碰见死耗子了。改完,保存后,7P群初中生说HTTP_X_FORWARDED_FOR这个应该取第一个IP吧,逗号分割的后面都是代理IP。也对,不过写完我就直接保存重启nginx后,测试了一下,好像是可以能获取到真实IP的,我也就懒得去改了,毕竟转换数组,还得去翻Lua的语法教程。算了,就这样吧。

2.jpg

好了,至此就可以完整的使用宝塔提供的这个隐藏福利了。