前言
最近会看到一些人总会因为哪吒面板安全,什么 “0 day”漏洞,什么弱密码啥的被爆破,然后里面的服务器又没有关闭 webssh 导致服务器被用来干了坏事。
下面提供一种新思路,通过 cloudflare 为我们提供一个安全验证,按道理来说,这种方案即使不改默认密码也能实现安全防护。
本质:利用cloudflare提供登录二验
思路来源:Cloudflare ZeroTrust Access 策略配置(记录一下当个小教程叭)
教程
前提
- cloudflare 绑卡账户一个
- 接入cloudflare的网站或者服务
步骤
1.创建规则组
该功能是创建一个规则组,会被作为策略里面的验证项,即当输入的邮箱符合规则里设置,即可进行进一步验证(获取到验证码),然后被允许访问服务。
- 进入
Zero Trust
->Access
->规则组
的规则组配置页面 -
添加组,按照要求将允许的邮箱填入。
- 规则组名称: 随意,你自己知道就行
- 选用包括: 在该规则下的所有选项都会被执行"或"逻辑匹配(即满足里面的其一即可)[这里选用emails,值为被允许的邮箱]
- 保存即可
2.创建登录策略
规则组创建好后,需要为登录行为创建一个策略。
- 进入策略配置页面,点击创建新策略;
-
按照要求填入,然后保存
- 策略名称:自定义
- 操作:允许
- 会话持续时间:自定义
- 添加规则->包括(或):(必要)按图选【意思是:登录方式为一次性验证码】
- 添加规则->需要(和): (必要)按图选,值为刚刚创建的规则组【意思是:必须满足规则所设置的才能下一步操作(这里是获取验证码)】
注意:
- 以上设置完之后,就是说:登录方式为一次性验证码,只有当输入的邮箱是规则组里设置的邮箱,才会将验证码发过去
- 为什么不直接在
Include
中配置邮箱?如果直接添加邮箱到 Include,逻辑会变成“登录方式可以是GitHub、Google,或者这些邮箱”,结果是任何Google账户都能登录,显然不符合需求。只有通过 Require 绑定规则组,才能确保邮箱名称符合条件。
这个我是直接复制的,原文在此
3.添加应用程序
策略配置好后,我们需要将它应用到具体的网站或服务上。我的网站都通过Cloudflare的DNS代理(即接入了cloudflare),所以创建一个自托管应用程序,并添加需要保护的网站。操作如下:
- 按照如图顺序自定义填写即可
完成
下次访问你的网站时,会先跳转到Cloudflare Zero Trust的认证界面。认证通过(你设置的邮箱并输入cloudflare发给你的验证码正确)后,才能进入服务。效果如下:
牛的,跟着大佬的步骤设置好了,又学会了一个小技巧,后面所有的博客都能这样搞了|´・ω・)ノ