通过Cloudflare隧道实现安全的远程桌面访问

在信息时代,远程桌面对于工作和生活变得至关重要。想象一下,你可以坐在家里,通过互联网连接到办公室的计算机,就像你亲自在那里一样。但这也伴随着安全风险,因为不正确的配置可能会导致未经授权的人访问你的计算机。今天,我将向你介绍一种方法,通过Cloudflare Zero Trust,你可以在不开放本地服务器的入站端口的情况下,安全地提供远程桌面服务。

步骤1:在GCP上设置RDP服务器

首先,我们需要在Google Cloud Platform(GCP)虚拟机上设置一个RDP服务器。虽然我以GCP为例,但你可以在支持RDP连接的任何机器上进行设置。

  1. 在你的Google Cloud控制台中,创建一个新项目。
  2. 转到Compute Engine > VM实例。
  3. 选择“创建实例”。
  4. 为你的VM实例命名,例如"windows-rdp-server"。
  5. 配置你的VM实例:
    • 滚动到“Boot Disk”并选择“更改”。
    • 选择操作系统为Windows Server。
    • 选择一个带有桌面体验的版本,例如Windows Server 2016 Datacenter。
  6. 一旦你的VM实例运行起来,点击RDP旁边的下拉菜单,选择“查看gcloud命令以重置密码”。
  7. 选择在Cloud Shell中运行。
  8. 在Cloud Shell终端中运行命令。你将被要求确认密码重置。
  9. 复制自动生成的密码和用户名到一个安全的地方。

步骤2:安装Microsoft远程桌面

你可以使用任何RDP客户端来访问和配置RDP服务器。为了通过Microsoft远程桌面访问服务器,请按照以下步骤进行:

  1. 下载并安装Microsoft远程桌面。
  2. 下载后,打开Microsoft远程桌面并选择“添加PC”。
  3. 在“PC名称”中,输入你的RDP服务器的公共IP地址。在GCP中,这是VM实例的外部IP。
  4. 对于“用户帐户”,选择“添加用户帐户”并输入你之前生成的密码和用户名。
  5. 选择“添加”。PC将显示在Microsoft远程桌面中。
  6. 为了测试基本连接,双击新添加的PC。
  7. 当询问是否继续时,选择“继续”。
  8. 现在,你可以远程访问和配置你的RDP服务器。

默认情况下,Internet Explorer将被安装并配置为增强安全模式。如果浏览器运行缓慢或无法加载,你可以关闭增强安全性,并安装诸如Google Chrome之类的替代浏览器。

步骤3:通过Cloudflare隧道连接RDP服务器

你可以使用Cloudflare隧道来创建从服务器到Cloudflare边缘的安全、仅出站的连接。这需要在服务器上运行cloudflared守护程序。用户可以通过在其设备上安装Cloudflare WARP客户端并加入你的Zero Trust组织来访问该服务。远程设备可以像在你的私有网络上一样连接。默认情况下,所有加入你组织的设备都可以访问该服务,除非你构建策略来允许或阻止特定用户。

步骤1:连接服务器到Cloudflare

  1. 通过按照我们的仪表板设置指南为你的服务器创建一个Cloudflare隧道。你可以跳过连接应用程序的步骤,直接转到连接网络。
  2. 在隧道的“私有网络”选项卡中,输入服务器的私有IP地址(或包括服务器IP的范围)。在GCP中,服务器IP是VM实例的内部IP。

(可选)3. 设置Zero Trust策略以微调对服务器的访问。

步骤2:设置客户端

为了让设备连接到你的Zero Trust组织,你需要:

  1. 在设备上以WARP模式部署WARP客户端。仅当你想要显示自定义阻止页面或过滤HTTPS流量时才需要Cloudflare证书。
  2. 创建设备注册规则以确定哪些设备可以加入你的Zero Trust组织。

步骤3:路由私有网络IP通过WARP

默认情况下,WARP客户端会排除前往RFC 1918空间的流量,作为其Split Tunnel功能的一部分。例如,WARP自动排除10.0.0.0/8,这些IP地址通常用于私有网络,无法从互联网访问。为了让WARP将流量发送到你的私有网络,你需要在Split Tunnel配置中包括你为Cloudflare隧道指定的IP/CIDR。

要配置私有网络访问的Split Tunnel,请按照以下步骤:

  1. 首先,检查你的Split Tunnel模式是否设置为排除或包括模式。
  2. 如果你使用的是包括模

式,请将你的网络IP/CIDR范围添加到列表中。

  1. 如果你使用的是排除模式:
    • 从列表中删除你的网络IP/CIDR范围。例如,如果你的网络使用默认的AWS范围172.31.0.0/16,删除172.16.0.0/12。
    • 重新添加不被你的私有网络显式使用的IP/CIDR范围。以AWS为例,你会添加新的条目,如172.16.0.0/13、172.24.0.0/14、172.28.0.0/15和172.30.0.0/16。这确保只有前往172.31.0.0/16的流量会通过WARP。

通过缩小包括在WARP中的私有IP范围,你可以降低用户访问本地资源的风险。

步骤4:以用户身份连接

一旦WARP客户端配置好,你可以使用你的RDP客户端连接到服务器的私有IP地址(而不是最初使用的公共IP地址)。

要在Microsoft远程桌面中连接:

  1. 打开Microsoft远程桌面并选择“添加PC”。
  2. 对于“PC名称”,输入你的RDP服务器的私有IP地址。在GCP中,这是VM实例的内部IP。
  3. 对于“用户帐户”,输入你的RDP服务器用户名和密码。
  4. 双击新添加的PC以测试Zero Trust连接。
  5. 当询问是否继续时,选择“继续”。

现在,你已经拥有了对RDP服务器的安全远程访问

通过Cloudflare隧道访问RDP服务器

Cloudflare隧道还可以将应用程序路由到公共主机名,允许用户在不使用WARP客户端的情况下连接到应用程序。这种方法需要在服务器机器和客户机器上都安装cloudflared,并在Cloudflare上激活区域。流量通过这个连接代理,并用户使用Cloudflare Access凭证登录服务器。

公共主机名方法可以与通过WARP进行路由一起实施,以便有多种连接服务器的方式。你可以重复使用同一个隧道用于私有网络和公共主机名路由。

步骤1:连接服务器到Cloudflare

  1. 通过按照我们的仪表板设置指南为你的服务器创建一个Cloudflare隧道。
  2. 在“公共主机名”选项卡中,选择下拉菜单中的域名,并指定任何子域名(例如,rdp.example.com)。
  3. 对于“服务”,选择RDP,并输入服务器的RDP监听端口(例如,localhost:3389)。通常是端口3389。
  4. 选择“保存主机名”。

(建议)5. 添加一个自托管应用程序到Cloudflare Access,以管理对服务器的访问。

步骤2:以用户身份连接

在客户端机器上安装cloudflared。

运行以下命令以打开RDP监听端口:

cloudflared access rdp --hostname rdp.example.com --url rdp://localhost:3389

这个过程需要配置为保持活动和自动启动。如果进程被终止,用户将无法连接。

如果客户机器运行Windows,端口3389可能已经被本地占用。选择一个未被使用的3389端口的替代端口。

在cloudflared access运行时,使用RDP客户端(如Microsoft远程桌面)连接:

  1. 打开Microsoft远程桌面并选择“添加PC”。
  2. 对于“PC名称”,输入localhost:3389。
  3. 对于“用户帐户”,输入你的RDP服务器用户名和密码。
  4. 双击新添加的PC以进行连接。
  5. 当客户端启动时,浏览器窗口将打开并提示用户进行身份验证。

结语

通过Cloudflare Zero Trust,我们实现了安全的远程桌面访问,而无需在本地服务器上开放入站端口。这为远程办公提供了更高的安全性,同时保持了便利性。希望这篇文章对你有所帮助,让你的远程工作更加安全和便捷。如果你还有任何问题或疑虑,请随时在评论中分享。

本文由作者 王大神 原创发布于 大神网的AI博客。

转载请注明作者:王大神

原文出处:通过Cloudflare隧道实现安全的远程桌面访问

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年9月25日
下一篇 2023年9月25日

相关推荐

  • 王大神解析:Cloudflare CDN的奥秘及其在AI领域的应用

    在我多年的技术探索之旅中,我深知一个拥有高速和稳定访问的网站对于吸引和保持用户的重要性。今天,让我们一起深入探究Cloudflare CDN技术的奥秘,以及它如何在AI技术领域大放异彩。 1. CDN技术的崛起 在数字世界…

    2023年9月7日
    00
  • 使用腾讯云对象存储 COS API:轻松管理您的云数据

    在数字化时代,云存储成为了数据管理的核心,而腾讯云对象存储 COS 提供了便捷的API接口,让您可以直接通过HTTP/HTTPS请求与云后台进行数据交互。本文将为您详细介绍如何使用腾讯云对象存储 COS API,让您轻松管理…

    2023年10月19日
    00
  • 通过Cloudflare隧道连接SSH服务器:实现安全远程访问

    嗨,大家好!在这个信息时代,远程访问和安全性变得愈发重要。你是否曾想过如何在不暴露服务器的入站端口的情况下,在互联网上提供SSH服务?别担心,今天我将为你介绍如何通过Cloudflare Zero Trust实现这一目标,…

    2023年9月25日
    00
  • DDns打造基于ipv6的多终端跨平台远程桌面办公环境

    有一天,你突然意识到,你的工作需要更多的灵活性。你需要能够随时随地访问自己的办公环境,无论你身在何处。这时,远程桌面就成了你的不二选择。但是,你遇到了一个问题:IPv4地址有限,而且在全球范围内逐渐枯竭…

    2022年2月25日
    00
  • 申请免费的通配符SSL证书教程

    想象一下,您正在拥有一个精彩的网站,拥有各种各样的子域名,如“blog.example.com”、“shop.example.com”,以及“community.example.com”。您的用户数量不断增加,他们依赖您的网站来获取信息、购物和互动。然而,您…

    2023年10月10日
    00
  • 微软超越苹果:AI时代科技巨头的市值之战

    最近,微软凭借在云计算和人工智能领域的显著进展,其市值超过苹果,成为全球市值最高的公司。作为技术博客的作者,我深入分析了两家公司的竞争历程、目前的市场表现,以及未来的发展趋势,探讨了这一变化对科技行…

    2024年4月10日
    00
  • 在Cloudflare上添加网站并完成设置

    Cloudflare是一家功能强大的网络服务平台,它不仅可以提升您的网站性能、安全性和可用性,还可以帮助您在互联网上大放异彩。在本教程中,我们将向您展示如何在Cloudflare上添加您的网站并完成必要的设置,以确保您…

    2023年8月27日
    00
  • 谷歌云服务器玩转指南

    谷歌云服务器(Google Cloud Compute Engine)是一项强大的云计算服务,它为用户提供了虚拟机实例,允许您在云端运行应用程序和托管网站。这项服务不仅适用于开发人员和企业,还适用于个人用户,为他们提供了强大的…

    2023年12月17日
    00
  • 存储类型比较:对象存储、块存储和文件存储

    在云计算和数据存储领域,有三种常见的存储类型,分别是对象存储、块存储和文件存储。这些存储类型在不同的应用场景中具有各自的优势和用途。本教程将详细比较这三种存储类型,帮助您了解它们的区别以及何时使用哪…

    2023年11月7日
    00
  • 远程桌面连接工具Remmina:连接Linux和Windows系统的简便指南

    有一天,你突然需要在不同的操作系统之间远程连接,可能是在家办公时需要访问公司电脑,或者在朋友的电脑上帮忙解决问题。无论何种情况,Remmina是一个出色的开源远程桌面客户端,为Linux用户提供了便捷的解决方案…

    2023年10月28日
    00