利用Microsoft Entra Application Proxy在无公网IP条件下安全访问内网计算机

news2024/10/23 22:26:34

在现代混合办公环境中,如何让员工能够从任何地方安全访问公司内部资源成为了企业的重要挑战。传统的VPN解决方案虽然可以满足需求,但有时配置复杂,并可能涉及公网IP的问题。为了解决这个问题,Microsoft Entra(原Azure AD)Application Proxy与Remote Desktop Service (RDS) 联合提供了一种更加简洁且安全的解决方案,帮助用户在没有公网IP的情况下从外网访问内部的计算机设备。

Microsoft Entra Application Proxy 简介

Microsoft Entra Application Proxy 是 Azure Active Directory(Azure AD)中的一项功能,它允许用户通过互联网安全地访问本地应用程序,而无需在外网暴露服务器或使用 VPN。其核心功能包括:

无需公网IP:无需在企业的防火墙上暴露应用的IP。

强大的身份验证和访问控制:通过Azure AD的条件访问策略和多重身份验证(MFA)来保护资源。

反向代理架构:外部用户通过Application Proxy访问资源,代理位于网络边界以防止直接访问内部网络。

Remote Desktop Service 简介

Remote Desktop Services(RDS)是Windows服务器提供的远程桌面功能,允许用户通过远程桌面协议(RDP)连接到运行Windows操作系统的计算机。RDS常用于:

  1. 远程工作,访问公司内的资源和应用程序。
  2. 通过集中管理减少客户端设备配置需求。

通过将Microsoft Entra Application Proxy与RDS结合使用,用户可以从互联网安全地访问公司内部的设备,而不需要将RDS服务器暴露在公网中。

解决方案原理与架构

在这套方案中,Microsoft Entra Application Proxy充当了RDS的反向代理。流程如下:

  1. 外部用户请求:用户在外网通过浏览器或RDP客户端访问远程桌面(或其他应用)。
  2. 身份验证:请求首先通过Application Proxy发送到Azure AD,Azure AD要求用户进行身份验证(如用户名密码或多因素认证)。
  3. 反向代理:验证通过后,Application Proxy将用户的请求安全地代理至内部网络中的RDS服务器。
  4. 远程桌面连接:用户通过RDS连接到指定的内部计算机,进行远程操作。

架构图示

部署步骤

步骤 1:准备工作

  1. 确保企业内部已经部署了RDS服务器,并且用户能够在内网正常访问RDS。
  2. 安装并配置Microsoft Entra Application Proxy连接器(在内网服务器上运行,负责代理外部请求)。

步骤 2:配置Microsoft Entra Application Proxy

  1. 登录Microsoft Entra管理中心(原Azure AD)。
  2. 在导航栏中选择“企业应用程序”,然后选择“Application Proxy”。
  3. 选择“添加”,并填写远程桌面服务器的应用信息。
  4. 内部URL:填写RDS服务器的内网地址。
  5. 外部URL:这是用户在外网访问时使用的URL,通常是通过Azure的安全域名生成。
  6. 配置用户访问权限。通过Azure AD,可以为此远程桌面应用程序设置访问权限,配置条件访问策略,要求用户使用多重身份验证(MFA)等。

步骤 3:发布 RD 主机终结点

  1. 使用以下值发布新的应用程序代理应用程序。
  1. 内部 URL:https://<rdhost>.com/,其中,<rdhost> 是 RD Web 和 RD 网关共享的共用根。
  2. 外部 URL:系统会根据应用程序的名称自动填充此字段,但可以修改它。 用户在访问 RDS 时会转到此 URL。
  3. 预身份验证方法:Microsoft Entra ID。
  4. 转换 URL 标头:否。
  5. 使用仅限 HTTP 的 Cookie:否。
  1. 将用户分配到已发布的 RD 应用程序。 确保这些用户也都有权访问 RDS。
  2. 将应用程序的单一登录方法保留为“已禁用 Microsoft Entra 单一登录”。
  3. 浏览到“标识”>“应用程序”>“应用注册”。 从列表中选择应用。
  4. 在“管理”下,选择“品牌打造” 。
  5. 更新“主页 URL”字段以指向你的 RD Web 终结点(如 https://<rdhost>.com/RDWeb)。

步骤 4:将 RDS 流量定向到应用程序代理

以管理员身份连接到 RDS 部署,并更改部署的 RD 网关服务器名称。 此配置可确保连接通过 Microsoft Entra 应用程序代理服务。

  1. 连接到运行 RD 连接代理角色的 RDS 服务器。
  2. 启动“服务器管理器”。
  3. 在左侧窗格中选择“远程桌面服务”。
  4. 选择“概述”。
  5. 在“部署概述”部分中,选择下拉菜单并选择“编辑部署属性”。
  6. 在“RD 网关”选项卡中,将“服务器名称”字段更改为针对应用程序代理中的 RD 主机终结点设置的外部 URL。
  7. 将“登录方法”字段更改为“密码身份验证”。

  1. 为所有集合运行此命令。 用自己的信息替换 <yourcollectionname> 和 <proxyfrontendurl>。 此命令在 RD Web 与 RD 网关之间启用单一登录,并优化性能。

Set-RDSessionCollectionConfiguration -CollectionName "<yourcollectionname>" -CustomRdpProperty "pre-authentication server address:s:<proxyfrontendurl>`nrequire pre-authentication:i:1"

  1. 若要验证对自定义 RDP 属性的修改并查看从此集合的 RDWeb 下载的 RDP 文件内容,请运行以下命令。

(get-wmiobject -Namespace root\cimv2\terminalservices -Class Win32_RDCentralPublishedRemoteDesktop).RDPFileContents

配置远程桌面后,Microsoft Entra 应用程序代理会充当 RDS 的面向 Internet 的组件。 请在 RD Web 和 RD 网关计算机上删除其他面向 Internet 的公共终结点。

步骤 5:启用 RD Web 客户端

如果希望用户使用 RD Web 客户端,请按照为用户设置远程桌面 Web 客户端中的步骤操作。

远程桌面 Web 客户端提供对组织的远程桌面基础结构的访问。 需要与 HTML5 兼容的 Web 浏览器,例如 Microsoft Edge、Google Chrome、Safari 或 Mozilla Firefox(v55.0 及更高版本)。

总结

通过将Microsoft Entra Application Proxy与Remote Desktop Service集成,企业无需公网IP即可提供一个安全的远程访问解决方案。这个架构不仅简化了网络配置,还利用了Azure AD的强大安全功能,有效降低了外网暴露风险,同时提升了用户体验。企业在部署后,可以灵活应用Azure的条件访问策略,进一步增强远程访问的安全性。

参考资料

https://learn.microsoft.com/zh-cn/entra/identity/app-proxy/application-proxy-integrate-with-remote-desktop-services

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2213097.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WordPress 禁用上传媒体图片自动生成缩略图及多尺寸图片教程

一、在 设置-媒体-媒体设置 中几个尺寸大小的设置不勾选或设置为 0&#xff0c;如下图&#xff1a; 二、找到主题文件 function.php 文件&#xff0c;打开后&#xff0c;在 <?php 后面添加如下代码&#xff1a; function.php 文件路径一般为&#xff1a;WordPress网站根目录…

使用Matlab实现光线追迹详解(含代码)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

ExtraTree|GBDT|XGBoost模型原理

目录 1. 总述2. ExtraTree3. GBDT4. XGBoost 1. 总述 ExtraTree、GBDT 和 XGBoost 都是基于决策树的算法。ExtraTree属于Bagging&#xff08;装袋法&#xff09;方法&#xff0c;GBDT和XGBoost则属于Boosting&#xff08;提升树&#xff09;方法&#xff0c;通过逐步优化残差&…

U盘剪切文件丢失:原因、恢复方案与预防措施

一、U盘剪切文件的定义与特性 U盘剪切文件&#xff0c;是指用户在将文件从U盘移动到其他存储设备&#xff08;如电脑硬盘、其他U盘等&#xff09;时&#xff0c;通过操作系统的剪切功能&#xff0c;将文件从U盘中原位置删除&#xff0c;并暂存于系统剪贴板中&#xff0c;等待用…

双回路防静电监控仪安全保护生产全流程

在现代工业生产中&#xff0c;静电防护成为了确保安全生产的重要环节&#xff0c;尤其是在电子、化学等易燃易爆气体环境中。静电的存在不仅可能导致设备故障&#xff0c;还可能引发火灾或爆炸等严重事故。为了解决这一隐患&#xff0c;双回路防静电监控仪应运而生&#xff0c;…

java面试-每日随机(1014)

1、zk如何进行故障转移&#xff1f; 在 Zookeeper 集群中&#xff0c;当节点故障时&#xff0c;集群需要自动剔除故障节点并进行故障恢复&#xff0c;确保集群的高可用性和一致性。具体来说&#xff0c;当跟随者节点故障时&#xff0c;集群可以继续运行&#xff0c;但当领导节…

关于Keil Compiler Version 6 移植FreeRTOS-Kernel 出现 portmacro.h 错误 - __forceinline

问题现象 在移植FreeRTOS过程中&#xff0c;使用Keil ARM 编译器版本 6 编译代码时出现protmacro.h错误- __forceinline 相关信息&#xff1a; FreeRTOS版本&#xff1a;V11.1.0KEIL 编译器版本&#xff1a;Compiler Version 6Portable路径&#xff1a;RVDS/ARM_CM4F/ 问题解…

P327. 渔夫捕鱼算法问题

问题描述&#xff1a; A、B、C、D、E 这5个人合伙夜间捕鱼&#xff0c;凌晨时都已经疲惫不堪&#xff0c;于是各自在河边的树丛中找地方睡着了。第二天日上三竿时&#xff0c;A第一个醒来&#xff0c;他将鱼平分为5份&#xff0c;把多余的一条扔回河中&#xff0c;然后拿着自己…

雷池社区版如何使用静态资源的方式建立站点

介绍&#xff1a; SafeLine&#xff0c;中文名 “雷池”&#xff0c;是一款简单好用, 效果突出的 Web 应用防火墙(WAF)&#xff0c;可以保护 Web 服务不受黑客攻击。 雷池通过过滤和监控 Web 应用与互联网之间的 HTTP 流量来保护 Web 服务。可以保护 Web 服务免受 SQL 注入、X…

Mac 窗口切换技巧:大幅提高效率的必备指南

在日常使用 Mac 电脑的过程中&#xff0c;高效地切换窗口可以极大地提升工作效率。无论是在多个文档之间快速切换&#xff0c;还是在不同的应用程序之间自如跳转&#xff0c;掌握一些实用的窗口切换技巧能让你的操作如鱼得水。下面就为大家详细介绍一些 Mac 窗口切换的技巧。 …

[Linux] 逐层深入理解文件系统 (2)—— 文件重定向

标题&#xff1a;[Linux] 逐层深入理解文件系统 &#xff08;2&#xff09;—— 文件重定向 个人主页水墨不写bug &#xff08;图片来源于网络&#xff09; 目录 一、文件的读取和写入 二、文件重定向的本质 1.手动模拟重定向的过程——把标准输出重定向到redir.txt 2.重定向…

支付宝开放平台-开发者社区——AI 日报「10 月 14 日」

1 大模型「强崩溃」&#xff01;Meta新作&#xff1a;合成数据有「剧毒」&#xff0c;1%即成LLM杀手 新智元&#xff5c;阅读原文 1%合成数据&#xff0c;就能让模型瞬间崩溃&#xff01;甚至&#xff0c;参数规模越大&#xff0c;模型崩溃越严重。Nature封面一篇论文证实&am…

Acwing 前缀与差分

1.一维前缀和 一维前缀和&#xff1a;S[i]a1a2a3a4…ai&#xff0c;要求a从a1开始&#xff0c;且S[0]0 前缀和的作用&#xff1a;给定一组序列数据&#xff0c;可以计算任意第l个数到第r个数的和&#xff0c;S[r]-S[l-1]&#xff08;这里就解释了为什么要求S[0]0&#xff0c;因…

电力电子技术(一)

变压器漏感对整流电路的影响&#xff1a;

Find My微型电磨机|苹果Find My技术与电磨机结合,智能防丢,全球定位

微型电磨机是一种多功能电动工具&#xff0c;主要用于打磨、抛光、雕刻、钻孔等多种作业。‌ 它由控制箱和电磨笔两部分组成&#xff0c;通过直流稳压电源供电&#xff0c;电磨笔以直流马达为驱动源&#xff0c;带动磨头进行高速旋转机械运动&#xff0c;配合不同材质、形状的磨…

制药企业MES与TMS的数据库改造如何兼顾安全与效率双提升

*本图由AI生成 在全球制造业加速数字化转型的浪潮中&#xff0c;一家来自中国的、年营业额超过200亿元的制药企业以其前瞻性的视角和果断的行动&#xff0c;成为该行业里进行国产化改造的先锋。通过实施数据库改造试点项目&#xff0c;该企业实现了其关键业务系统MES&#xff0…

请求的响应----状态码分为五大类(爬虫)

前言 一个爬虫的成功与否&#xff0c;在于你是否拿到了想要的数据&#xff1b;一个请求的成功与否&#xff0c;在于响应的状态码&#xff0c;它标明了当前请求下这个响应的结果&#xff0c;是好还是坏。上节课程学习了HTTPS和HTTP协议的各自优势&#xff0c;本节课程进入到请求…

C++: AVL树的实现

一.AVL树的旋转 AVL树是平衡搜索二叉树的一种。 平衡因子&#xff1a;节点右树的高度减左树的高度&#xff0c;AVL树规定平衡因子的绝对值小于2。若不在这个范围内&#xff0c;说明该树不平衡。 AVL树节点&#xff1a; struct AVLTreeNode {AVLTreeNode(const T& data …

【AI 新观察】“转人工!转人工!”——智能客服痛点与破局之路

在当今数字化时代&#xff0c;智能客服在电商等众多领域被广泛应用&#xff0c;然而&#xff0c;一句又一句“转人工&#xff01;转人工&#xff01;”却常常暴露出智能客服存在的痛点。一、智能客服之痛 1. 理解偏差引不满 智能客服在理解客户问题时&#xff0c;常常出现偏差…

代码随想录 -- 回溯 -- 解数独

37. 解数独 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; class Solution(object):def back(self,board):for i in range(len(board)):for j in range(len(board[0])):if board[i][j] ! .:continuefor k in range(1,10):if self.isValid(i,j,k,board):board[i][j…