最近看到很多小伙伴遇到飞牛漏洞焦虑,感觉不做点什么防护就觉得不安全,于是搞了各种各样的WAF。
小白大概看了一下,许多小伙伴在各种各样的WAF教程上学习,哈哈哈。不过有些教程写得那叫一个迷糊:真的看不懂啊!就算是照着配置,估计都会出错,就算是最后设置上了,也不知道成不成功。
于是就有小伙伴部署好WAF之后,访问依旧使用【域名+5667端口】,那WAF一点都不工作了。
所以,今天咱们简单一些:用Lucky简单设置一下WAF。这对于大部分小伙伴来说已经足够使用的了。
正文开始
如果要在Lucky里做WAF防护,则需要先让流量到Lucky里走一圈,所以本帖是具体从0到1的设置教程,一共有5步。
关于DDNS的位置与方式
SSL证书申请教程及部署教程
做好飞牛防火墙设置
在Lucky里设定WAF的防护规则
在Lucky里设定Web服务转发
本教程将分步骤详细讲解。至于Lucky怎么安装应该就不用在这里提了吧?飞牛应用中心可以直接下载安装,或者按照玩客云安装Lucky的教程即可:
玩客云OneCloud部署Lucky教程|实现DDNS必备
关于DDNS的位置与方式
DDNS的方式有很多种,最常见的就是在DDNS-GO、飞牛设置-远程访问和Lucky上做。
但是用哪种方式做都没关系,不影响下面的教程。如果你想做DDNS动态解析,可以按照下面的方式一步步搞定:
首先是测试,一般现在的家庭宽带都不会有公网IPv4,而公网IPv6很可能不通,点击蓝字跳转测试即可:飞牛NAS做DDNS-GO之前,通过公网IPv6访问飞牛NAS的测试教程(建议先做)
测试完成之后,如果能正常远程访问,则可以开始做DDNS,而DDNS有三种方式(任选一种,点击蓝字跳转)
在飞牛NAS使用Lucky做动态解析到域名?
飞牛NAS有IPV6,想用DDNS-GO动态解析到域名?这简单了!
至于在飞牛设置里的DDNS因为太过简单,就不写了,方式是通用的。
SSL证书申请教程及部署教程
因为这里咱们需要做的是WAF,流量肯定会经过一趟Lucky,所以要把SSL证书部署到Lucky里。
这里遵循的规则是:域名流量先走哪里,就在哪里部署SSL。
流量路径:飞牛防火墙➡️Lucky的Web服务➡️Lucky的WAF➡️飞牛Web页面。
而飞牛防火墙并不检测SSL证书,所以这里需要把证书部署到Lucky里。
具体教程:
打开Lucky页面,点击到底部的【SSL/TLS证书】,点击【添加证书】
方式有三种,这里建议直接使用【ACME】(可以自动续签)
证书颁发机构任选一个即可,小白这里选择【ZeroSSL】
验证方式即域名服务商,选择好对应的服务商即可
接着填写好服务商的API或者是ID和Key,域名支持泛域名或单域名。小白这里直接申请单域名证书了。其他不用改。
在下面的【更多设置】只勾选这两个:CNAME支持、忽略传播检查错误,最后点击【添加】
等待一会儿……
这样就申请好了
如果你在别的地方申请了SSL证书,也可以通过上传文件等方式。
做好飞牛防火墙设置
飞牛防火墙一定要开,且规则一定要做好。
遵循规则:尽量只开放1个端口,减少端口暴露数量。所有暴露的端口一定要先走一遍Lucky,再到对应的服务(这里的服务指的是飞牛里的其他应用页面或者是Docker项目)
具体教程:
开启的方式很简单,进入飞牛NAS的【设置】-【安全性】-【防火墙】,打开防火墙的开关即可(显示蓝色就是开启了)
虽然开启了防火墙,但是放行规则还是得调整,不然就跟没有开启一样。
在【入站规则】点击【编辑】
把这两条全删除了
删除完成之后,勾选【拒绝访问】
接着点击【新增一条】,通讯协议可以选择【全部协议】也可以【全部TCP协议】,端口开放【36237】,来源IP选择【国内IP】,权限和状态都是【生效】,点击【确认】
这里不一定要用36237这个端口,不过建议使用5位数以上的端口哦!(这个端口是准备开放给Lucky的)
接着为了防止家里的局域网无法访问NAS,新增一条,通讯协议选择【全部协议】,端口填写【1-65535】,来源IP填写家里的局域网IP段,比如小白这里的是192.168.33.190,那就写【192.168.33.0/24】,如果不确定,可以查看自己设备的IP。如果什么都不知道,那就写【192.168.0.0/16】
这样基本上就可以了。这样点击【保存】
这样就可以了,剩下的需要开启的端口再自行增加就好。
不过这里建议:开放的端口越少越好,特别是针对【来源IP】为【全部】的规则,开放的端口越少越安全。
在Lucky里设定WAF的防护规则
如果只是想阻止路径穿越漏洞,只需要勾选三个规则即可:901、930、949。
其他的规则可以使用AI进行查询:
具体教程:
进入Lucky页面的【CorazaWAF】,点击【添加实例】
实例名称任意输入,能识别就行
接着点击【添加规则】,类型选择【OWASP核心规则集】,规则集勾选【901、930、949】,最后点击【添加实例】
这样就可以了
在Lucky里设定Web服务转发
最后一步就是设定Web服务,这里是要把刚刚设定的【36237】端口为外网访问端口,转发到本地【5666】端口。
具体教程:
点击【Web服务】-【添加Web服务规则】
监听端口填写刚刚在防火墙上设置的端口,小白这里是【36237】,接着打开【TLS开关】,【CorazaWAF】选择【拦截路径穿越】
滑动到【默认规则】,在【默认目标地址】填写【飞牛的局域网IP:5666】
最后点击【添加WEB服务规则】
这样就可以了。
测试访问:
(想要壁纸的小伙伴请在公众号后台回复【壁纸】)
这样就搞定了。如果要看日志,则返回到Lucky的【Web服务】,找到【默认规则】下的【日志】
再测试一下路径穿越:
这样就可以了,教程到这里结束。
--End--
不过如果黑客真的要搞NAS的问题,怎么抵挡都挡不住。这个规则很简单:大象碾死蚂蚁难吗?不难。
小白自己日常使用NAS都是尽量不暴露在公网下,只有当对方在公网状态下找不到NAS,那NAS的安全才有一定的保障。
推荐方案(点击蓝字跳转):从飞牛漏洞看本质:如何才能更加安全访问异地NAS?
推荐阅读
Lucky中CorazaWAF的OWASP核心规则集功能
来自Lucky页面的紧急提醒:公网动态解析访问飞牛的小伙伴请注意!
公网似乎没有那么重要了…2步就能搭建访问线路
搞一个免费10年的二级域名,公网访问飞牛NAS