宝塔linux面板6.0+免费版启用waf防火墙

宝塔面板自从升级到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全被隐匿了。把函数getClientIp给改了一下,如下图。

2.jpg

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

人已赞赏
运维笔记

WordPress5.0古腾堡gutenberg编辑器使用心得

2019-5-24 14:46:05

运维笔记

微信公众号运营方案

2019-5-30 8:23:15

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索