使用 Cloudflare Zero Trust 保护你的应用程序

由于社团的需要, 站长需要暴露机器上的一些端点, 并进行保护以免未经授权的访问, 由于站长使用 Cloudflare Tunnel 进行内网穿透, 因此需要使用 Cloudflare Zero Trust 进行保护.

实际上是因为懒, 我不想再实现额外的安全层👍

TIP

本文假设你已经熟练掌握 Cloudflare 的使用, 并且完成 Zero Trust 的注册. 请提前添加好需要的解析记录和和穿透一类的, 本文不再赘述.

添加可重用策略

首先, 我们可以创建一个可重用策略, 你需要转到这一个页面 /access/policies?tab=reusable, 其在 Zero Trust 仪表板中.

如图所示

然后我们点击添加策略按钮,并且添加 Any Access Service TokenValid Certificate 两个包括选择器, 按需添加其他内容(推荐新建一个可重用策略).

选择器

别忘记给它一个名称, 然后点击保存.

添加应用程序

接下来, 我们需要新建一个应用程序, 转到 /access/apps, 然后点击添加应用程序按钮, 并选择应用程序类型(本文以自托管应用程序为例). 选择应用程序类型

然后在 Access 策略一栏选择刚才创建的可重用策略, 为应用程序起个名字, 编辑其他需要的设置, 然后点击下一步, 一直来到高级设置. Access 策略

认证填写此页的所有内容, 然后点击保存. CROS 设置 服务身份验证策略的 401 响应

此时, 我们完成了应用程序的设置, 访问目标端点, 理论上我们会看到下面的内容: Forbidden

创建服务令牌/证书

最后, 我们需要创建一个服务令牌(当然的你也可以丢一组根证书给 Zero Trust, 让它自己签短期证书拿来授权, 此处不演示), 用以访问应用程序. 转到 /access/service-auth, 点击创建一个服务令牌.

创建服务令牌

起个名字并选择有效期(不推荐创建无限期令牌, 否则您可能遭老罪..迫真), 然后点击创建. 此时你会获得一组类似下方的令牌:

{
    "CF-Access-Client-Id": "***.access",
    "CF-Access-Client-Secret": "***"
}

这是两个标头, 在请求里带上就行.

curl -H "CF-Access-Client-Id: ***.access" -H "CF-Access-Client-Secret: ***" https://example.com/api/endpoint

总结

至此, 你已经学会如何使用 Cloudflare Zero Trust 保护你的端点, 保护好你的令牌/证书(大声!!).

欢迎找我讨论: Contact

后记

文字里所提的端点是暴露给 Sean (鲤鱼🐟)他们的一个社团的, 你可以到这里找🐟玩

其评论区用不了, 那是我还没修好(托管在我这www).

results matching ""

    No results matching ""