独立做产品,不少开发者后台常常就跑在自己家里的电脑或 NAS 上。 这是我的 Cloudflare 独立开发者系列第 7 条,讲 Tunnel 和 Acce… · @Sukiea1008 · TwKit
@Sukiea1008
独立做产品,不少开发者后台常常就跑在自己家里的电脑或 NAS 上。 这是我的 Cloudflare 独立开发者系列第 7 条,讲 Tunnel 和 Access:你出门在外也能连上后台,陌生人又摸不到门口。最后顺带讲公开表单怎么防机器人批量提交。 最直接的办法是开个端口、映射一下。可这样一来,知道地址的人都能摸到你的后台门口。 这里其实有两个问题要分开解决: - 怎么连上这台电脑上的服务 - 哪些人可以进后台 Cloudflare 里分别对应 Tunnel 和 Access。 > Tunnel:负责连 Tunnel 用 cloudflared 建一条出站连接,不用为这条路线开放源站的入站端口。 它只负责把服务连出来。只建 Tunnel,不会自动限制访问者是谁,谁拿到地址都能打开。 > Access:负责拦 Access 在应用入口检查身份,按你设的策略决定放不放行。比如只允许你自己的邮箱,或者指定的几个团队成员进管理后台。 Access 只管入口。进来以后,管理员和普通成员能做哪些操作、每个用户能读哪些记录,还是要你的应用自己检查。 > 举个例子 你做了一个小工具,后台能看所有用户提交的内容,后台程序放在家里的电脑上。 - 只配 Tunnel:外面能访问了,但任何人都能打开后台 - Tunnel 加 Access:只有你允许的邮箱能进门 - 再加应用内权限:进门的人里,谁能删数据、谁只能看,分得清清楚楚 三层各管一件事,少了哪层都会留口子。 > 第一步怎么做 1. 先定清楚哪些人能访问、要满足什么条件 2. 配应用入口和 Access 策略 3. 用 Tunnel 连接内部服务 4. 访问限制和测试一起做完,再把地址给别人 顺序很重要。先把 Tunnel 连通、地址发出去,再慢慢补 Access,中间这段时间后台就是敞开的。 > 配完一定测这三件事 1. 用未登录的窗口打开,看会不会被拒 2. 用不在允许名单里的测试身份打开,看会不会被拒 3. 检查服务还有没有别的公网地址或端口,能绕过 Access 直接进 只测了自己的账号能进去,等于只测了一半。 > 一张表对照:谁防什么 - 远程连家里的服务:Tunnel - 只让指定的人进后台:Access - 进门后谁能删、谁只能看:你的应用自己管 - 公开表单被机器人刷:Turnstile - 扫描漏洞、尝试攻击的请求:WAF 把公开网站和受保护的后台分开画一遍,哪一层缺了,一眼就能看出来。 > 免费计划的限制 Zero Trust Free 最多 50 用户,部分能力、日志和支持有限制。 踩坑点: 官方开通流程要求填写付款资料,开通前先看清当前计划说明。 > 公开的那部分也顺手护一下 官网向所有人开放,后台只给指定的人,这两部分要分开配。 公开的登录、注册、评论、联系表单,可能被机器人批量提交。可以加 Turnstile: - 免费计划每个账户最多 20 个 widget - 每个 widget 支持 10 个 hostname - 验证次数不限 踩坑点: 前端拿到 token 后,后端一定要校验。只在页面上放组件,攻击者可以绕开页面直接调接口。 通过人机验证的用户,也不会因此获得查看别人资料的权限,登录、权限、输入检查和限流还是要一起做。 WAF 的 Free 计划默认带 Free Managed Ruleset,覆盖一部分高影响、被广泛利用的漏洞,但不包含完整的 Cloudflare Managed Ruleset 或 OWASP Core Ruleset。 加了规则以后看拦截记录,确认正常用户还能登录、提交、上传。规则太宽,也会把正常请求拦在外面。
曝光 116 · 评论 1 · 点赞 2 · 书签 3
查看原帖