在Cloudflare,我们开发了Access来解决VPN带来的问题。我们的团队成员对VPN的慢速和不便感到厌倦,但这并不是我们需要解决的主要问题。VPN所带来的安全风险需要更好的解决方案。
VPN的安全隐患
VPN打破了网络边界,一旦进入,个人可以访问所有内容。这可能包括敏感信息,如私钥、加密盐和日志文件。作为一家安全公司,Cloudflare对此情况感到不可接受。我们需要一种更好的方法,能够精确控制每个应用程序的访问权限。
Access的解决方案
Access正好满足了这一需求。我们首先将基于浏览器的应用程序放在Access后面。团队成员可以更快地从任何地方连接到应用程序,同时我们提高了整个组织的安全性。然而,有些任务更适合通过命令行来完成,因此我们无法完全摆脱VPN。在命令行中访问服务器仍然需要依赖VPN。
今天,我们发布了一个命令行工具的测试版,以帮助您和我们的团队。在Cloudflare使用此功能之前,调用服务器时我需要停止工作,找到VPN客户端和凭据,登录,然后运行curl命令。借助Cloudflare的命令行工具cloudflared和Access,我可以运行命令 $ cloudflared access curl https://example.com/api
,Cloudflare会对我请求服务器的操作进行身份验证。这样,我节省了时间,Cloudflare的安全团队可以控制谁可以访问该端点(并监控日志)。
使用Cloudflare Access保护您的API
为了使用Access保护API,您需要遵循与保护基于浏览器的应用程序相同的步骤。首先,将您的API部署的主机名添加到Cloudflare账户中。
与Access后面的Web应用程序一样,您可以为HTTP API的不同路径创建细粒度的策略。Cloudflare Access会根据您配置的设置评估对API的每个请求的权限。将API放在Access后面意味着来自任何操作(CLI或其他)的请求将继续受到Cloudflare的保护。如果需要,您可以继续使用API密钥作为第二层安全保护。
访问受保护的API
Cloudflare Access通过检查有效的JSON Web Token(JWT)来保护您的应用程序,无论请求是通过浏览器还是命令行发出。当您成功使用身份提供者登录时,我们会发放并签署该JWT。该令牌包含有关您的身份和会话的声明。Cloudflare网络会查看该令牌中的声明,以确定请求是否应该继续到目标应用程序。
当您使用带有Access的浏览器时,我们会将您重定向到身份提供者,您登录后,我们将该令牌存储在Cookie中。从命令行进行身份验证需要不同的流程,但依赖于相同的原则。当您需要从命令行访问Access后面的应用程序时,Cloudflare CLI工具cloudflared会启动一个浏览器窗口,以便您可以使用身份提供者登录。登录后,Access将为您的会话生成一个JWT,范围限定在您的用户身份。
Cloudflare不会将该JWT放入Cookie中,而是通过加密方式安全地传输该令牌到您的机器。客户端为您存储该令牌,因此您无需每次都重新验证。该令牌在Access中配置的会话持续时间内有效。
当您从命令行发出请求时,Access会查找HTTP头 cf-access-token
,而不是Cookie。我们会在每个请求中评估该头中的令牌。如果您使用cURL,我们可以帮助您更快地进行操作。cloudflared包含一个子命令,用于包裹cURL并自动将JWT注入到头中。
为什么选择cloudflared访问您的应用程序?
使用cloudflared及其cURL包装器,您可以针对由Cloudflare Access保护的API执行任何cURL操作。
控制特定用户的端点访问
Cloudflare Access可以配置以保护特定端点。例如,您可以创建一个规则,仅允许团队中的小部分人访问特定URL路径。您可以将这种细粒度的保护应用于敏感端点,以控制谁可以访问这些端点,同时使工具的其他部分对整个团队可用。
下载敏感数据
将敏感数据的应用程序放在Access后面可以让您控制谁可以访问这些信息。如果特定文件存储在已知位置,您可以通过命令行直接下载,而不是通过用户界面进行操作,从而节省时间。
下一步
CLI身份验证今天对所有Access客户通过cloudflared工具可用。只需将API主机名添加到您的Cloudflare账户中并启用Access,便可开始构建控制谁可以访问该API的策略。如果您尚未拥有Access订阅,可以在这里阅读更多有关计划的信息并注册。
一旦您准备好摆脱VPN,请访问此链接立即安装cloudflared。该工具目前处于测试阶段,尚不支持自动脚本或服务间连接。完整说明和已知限制可以在此处找到。如果您有兴趣提供反馈,可以在此线程中发布您的评论。
Cloudflare的连接云保护整个企业网络,帮助客户高效构建互联网级应用,加速任何网站或互联网应用,防御DDoS攻击,抵御黑客,并可以帮助您踏上零信任之旅。
访问1.1.1.1,使用我们的免费应用程序,使您的互联网更加快速和安全。
要了解更多关于我们帮助构建更好互联网的使命,请从这里开始。如果您正在寻找新的职业方向,请查看我们的开放职位。