blog/source/_posts/【教程】使用 Cloudflare Zero Trust 限制访问.md
2024-02-01 19:45:45 +08:00

2.4 KiB
Raw Blame History

title date tags categories permalink index_img
【教程】使用 Cloudflare Zero Trust 限制访问 2023/1/29 20:04
cloudflare
access
api
技术 373.html https://i.dawnlab.me/2f2f141df278a55104d74d969487d8e7.png

简介

零信任网络访问ZTNA

用户通过客户端或 Web 浏览器连接到企业资源,无需使用 VPN。当请求通过我们的网络进行路由和加速时它们将被根据 Zero Trust 规则进行评估,这些规则集成了来自身份提供者、设备和其他上下文的信号。

过去RDP 软件、SMB 文件查看器和其他胖客户端程序需要 VPN 来连接到专用网络连接。如今,团队可以通过 Cloudflare 的网络私密地路由任何 TCP 或 UDP 流量,并一次性对流量进行加速、验证和过滤,获得最佳性能和安全性。。

说人话就是你可以限制用户需要进行登录后才能访问你的业务

添加应用(以 web 应用举例)

你需要首先绑定并且解析此域名,例如 xxx.example.com

官方文档

提示

应用类型选择 Self-hosted

设置 App

session duration 建议选择 24 小时,避免过多重定向

Subdomain

填入 xxx

Domain

选择 example.com

添加策略

名称可随便填写,Action 不变选择 Allow

Include

左边选择 Emails,右边填入 Cloudflare 账户邮箱用于登录。

Require

左边选择 Login Methods,右边选择 One-time PIN

体验

此时,打开 xxx.example.com 将会要求你进行邮件认证,输入 Cloudflare 账户邮箱登录即可。

使用程序进行访问

官方文档

提示

创建 Service Token

关联 Token 到应用

进入应用访问策略配置页面,添加新策略

策略名随意,Action 选择 Service Auth

Include

左边选择 Service Token,右边选择刚才建立的 Token。

设置请求头

Client IDClient Secret 创建时已提供。

CF-Access-Client-Id: <Client ID>
CF-Access-Client-Secret: <Client Secret>
from httpx import get

headers = {
    "CF-Access-Client-Id": "",
    "CF-Access-Client-Secret": "",
}

get("xxx.example.com", headers=headers)