详析网关管理机制
2019-11-26河南刘进京
河南 刘进京
RD 网关的作用
对于内网用户来说,当其访问虚拟应用程序或者虚拟桌面时,会直接使用TCP/UDP 3389 端口和相关主机建立RDP 连接。对于外部用户来说,必须利用SSL 协议和RD 网关的TCP 443 端口建立安全连接,会通过证书进行加密。RD 网关再和内部远程桌面服务器之间建立RDP 连接,这样,就可以有效保护内部的虚拟资源,而无需将其发布到外部网络。
RD 网关会部署到DMZ 区域,其基本的单位称为远程桌面的Farm(即服务器场),在一个Farm 中可以包含一台或者多台网关服务器,可以实现负载均衡。当远程用户连接到RD 网关后,试图访问内网资源时,会收到RD 网关策略的管控。RD 网关的策略包括CAPs(即Client Authorization Policies)和 RAPs(即 Resource Authorization Policies)两种类型。
对于前者来说,指的是客户端授权策略,可以设置哪些用户和计算机可以进行连接,哪些则不能连接等。对于后者来说,指的是资源授权策略,可以设置合规的用户可以访问哪些资源,例如只能访问Remore App 程序等。利用上述策略,管理可以对用户访问进行精准的控制,让特定的用户只能访问指定的资源。此外,管理员还可以使用RD 网关,从外部连接到内部的服务器,对其进行有效管理。
配置所需的证书
在DC 上打开证书颁发机构窗口,在左侧选择“证书模版”项,在右侧窗口的右键菜单上点击“管理”项,在打开窗口中选择“Web 服务器”模版,在右键菜单上点击“复制模版”项,在新模版属性窗口(如图1)中的“常规”面板中输入名称(例如“RDS Certifacation”),在“请求处理”面板中选择“允许导出私钥”项,在“使用者名称”面板中选择“在请求中提供”项,点击“安全”面板中点击“添加”按钮,输入“Domain Computers”,添加该组。
图1 设置证书模版属性
当然,为了实现更加精准的控制,可以在活动目录中创建新的组(例如“RemoteDesktop Servers”等),将和远程桌面相关的服务器移动到该组中,之后将该组添加进来。选择上述组,在权限列表中农的“注册”行选择“允许”项,允许该组中的主机来申请证书。在证书颁发机构窗口左侧选择“证书模版”项,在右侧的弹出菜单中选择“新建”-“要颁发的证书模版”项,选择上述模版,点击确定按钮,将其发布出去。
执行“mmc”程序,在控制台窗口中点击菜单“文件”-“添加/ 删除管理单元”项,在列表中选择“证书”项,点击“添加”按钮,选择“计算机账户”项,将其添加进来。在控制台左侧选择“证书”-“个人”-“证书”项,在右侧空白处点击右键,在弹出菜单中选择“所有任务”-“申请新证书”项,在向导界面中选择“Active Directory 注册策略”项,点击下一步按钮,选择上述证书模版。
点击“注册此证书需要详细信息,单击这里以配置设置”项,在证书属性窗口中的“使用者名称”列表中选择“公用名”项,在“值”栏中输入“rdgw.xxx.com”,点击“添加”按钮将其添加到右侧列表中。对于RD 网关来说,主要提供给外部用户使用,因此需要针对外部用户设置所需的DNS 名称。在“备用名称”列表中选择“DNS”项,在“值”栏中输入“rdgw.xxx.com”。点击“添加”按钮将其导入进来。注意,该地址需要在公网的DNS 中指定好,上述两个名称必须一致。点击确定按钮,在上级窗口中点击“注册”按钮,后去所需的证书。选择该证书,在其右键菜单上点击“导出”项,在向导窗口中选择“是,导出私钥”项,点击下一步按钮,选择“密码”项输入密码,之后将其导出为独立的文件(后缀为“.pfx”)。
部署和配置RD 网关
登录到域中某台服务器上,在服务器管理器中左侧选择“远程桌面服务”项,在打开窗口中的“部署概述”栏中点击“添加RD 网关”按钮,在向导界面中的“服务器池”列表中选择一台或者多台服务器,来组成RD 网关服务器场。
例如这里选择“RDgw1”和“RDgw2”两台服务器,点击下一步按钮,即可对选定的服务器进行连接。在“SSL证书名称(使用RD 网关服务器的外部FQDN)”栏中输入RD 网关证书名称(例如“rdgw.xxx.com”)。该证书提供给外部用户使用。
图2 为RD 网关配置证书
因为使用了两台RD 网关服务器,可以实现负载和均衡,所以这即是其Load Balance 名称。在下一步窗口中点击“添加”按钮,即可在上述服务器上安装RD 网关的角色。这里为了简单起见,使用DNS 轮询的方式,来实现RD 网关的负载均衡。事先以管理员身份登录到DC 上,在DNS 管理器窗口左侧选择“DNS”-“DC”-“正向查找 区域”-“xxx.com”项,在其右键菜单上依次点击“新建主机”项,新建两条记录,其名称相同(例如“rdgw”),IP 分别为上述两台RD 网关服务器的地址。
当网关角色安装之后,点击“配置证书”项,在配置部署窗口(如图2)中选择“RD网关”项,点击“选择现有证书”按钮,选择“选择其他证书”项,点击浏览按钮,选择上述导出的证书,输入导出的密码,选择“允许向目标计算机上受信任的根证书颁发机构证书存储中添加证书”项,点击应用按钮,即可为RD网关服务器配置证书。
在服务器管理器中打开远程桌面服务窗口,在“部署概述”栏的右侧列表中选择“编辑部署属性”项,在配合部署窗口左侧选择“RD 网关”项,在右侧确保选择“使用这些RD 网关服务器设置”项,检查服务器名称是否正确。如果取消“绕过本地地址的RD 网关服务器”项的选择状态,那么内网的而用户也必须使用RD 网关,来访问远程桌面资源。
使用RD 网关进行访问
从外网某台客户机上打开浏览器,访问“http://rdwa.xxx.cpm/rdweb”之类的地址,来连接远程桌面的Web 访问服务器,输入合适的域账户名称和密码,点击登录按钮,进入远程桌面资源管理界面,在“RemoteApp 和桌面”窗口中选择某个虚拟桌面,在连接面板中的“网关服务器”栏中显示上述RD网关主机的域名。点击连接按钮,输入正确的用户名和密码,就可以进入该虚拟桌面环境中。在客户机上打开CMD 窗口,执行“netstat-an”命令,在网络连接列表中可以看到,本机已经和RD网关的TCP 443 接口之间建立了的可靠连接。
图3 在远程连接中设置RD 网关信息
进入该虚拟桌面,在CMD窗口执行“netstat -an”命令,可以看到该虚拟桌面也和RD 网关连接了SSL 连接。可以看出,RD 网关服务器可以很好的保护内网资源的安全。登录到某台RD 网关服务器,打开远程桌面网关管理器,在左侧选择当前的网关服务器,在右侧的“连接总数”栏中显示连接主机数量。点击“监视使用中的连接”项,会显示详细的连接信息,包括连接ID、用户ID、用户名、连接时间、连接时段、目标计算机、客户端IP 等内容。
对于网管人员来说,希望直接连接到后台服务器,对其进行管理操作、对于远程桌面架构来说,只会将RD Web 访问服务和RD 网关发布出去,让外部的用户进行连接,对于这两个服务来说,其使用的都是TCP 443 端口。例如管理员出差在外,想对内网中的资源进行管理,可以运行“mstsc.exe”程序,在远程桌面连接窗口底部点击“选项”项,在“高级”面板中点击“设置”按钮,在打开窗口(如图3)中选择“使用这些RD 网关服务器设置”项,输入RD 网关的名称或地址。
如果使用的凭据一致的话,可以选择“将我的RD 网关凭据用于远程计算机”项。当再次连接时,会提示输入正确的凭据信息,之后先连接到RD 网关服务器,之后才会连接到内网中的目标主机,当然该主机必须开启TCP 3389 端口。
配置RD 网关授权策略
对于外部用户来说,之所以可以顺利连接RD 网关,来使用虚拟桌面等资源,是因为RD 网关的默认策略在发挥作用。
登录到某台RD 网关服务器上,在RD 网关管理器左侧选择“策略”-“连接授权策略”项,在右侧显示默认的名为“RDG_CAP_AllUsers”的策略,该策略让域中“Domain Users”组中的用户,都有权限连接到RD 网关服务器。
在左侧选择“策略”-“资源授权策略”项,在右侧也会显示相关的默认策略,允许上述组中的用户连接到域中名为“Domain Conputer”的OU 中的所有开启了TCP 3389 端口的主机。
图4 创建连接授权策略
为了实现精准的控制,可以左侧选择“策略”-“连接授权策略”项,在右侧点击“新建策略”-“自定义”项,在打开窗口(如图4)中输入策略的名称(例如“rdgwpolicy1”),在“要 求”面板中的“用户组成员身份”栏中点击“添加组”按钮,在选择组窗口中输入合适的组名(例 如“Doamin Admins”等),点击确定按钮,将该组添加进来。在“客户端计算机组成员身份”栏中点击“添加组”按钮,输入合适的计算机组的名称,将其添加进来。
这样,只有指定组中的用户,使用指定组中的计算机才可以顺利的连接RD 网关,其余的用户将被拒绝。
在“设备重定向”面板中如果选择“禁用以下客户端设备类型的设备重定向”项,可以根据实际需要,选择禁用的重定向设备,包括驱动器、剪贴板、打印机、端口、支持的即插即用设备等。在“超时”面板中选择“启用空闲超时”项,输入断开会话连接前的空闲时间,默认为120分钟。这样,如果当客户端连接到RD 网关后,在预设的时间内没有任何操作,则连接会被自动断开。
点击确定按钮,保持该策略。对于默认的策略来说,可以点击右侧的“禁用”按钮,将其禁用掉。
在左侧选择“策略”-“资源授权策略”项,在右侧点击“新建策略”-“自定义”项,在打开窗口中输入策略的名称(例如“zypoy”),在“用户组”面板中添加合适的用户组。
在“网络资源”面板中选择“选择Active Directory域服务网关资源组”项,点击浏览按钮,选择一个或者多个合适的组(需要在活动目录中预先配置,在其中添加RD 会话主机等服务器)。对于没有加入到域中的主机来说,可以选择“选择现有RD网关管理的组或创建新组”项,点击浏览按钮,在打开窗口中点击“创建新组”按钮,创建新的组,输入工作组中的主机IP 将其添加进来即可。点击确定按钮,创建该策略。
按照该方法,可以创建多个资源授权策略。这样,只有符合条件的用户,才可以访问指定的资源。
配置RD 网关服务器属性
因为这里使用了多台RD网关,实现了其高可用性。所以需要登录到其他的RD服务器上,添加相同的策略并禁用默认的策略。当然,对于RD 网关服务器场来说,每次修改策略都需要手工在每台服务器上设置的话,操作起来是比较繁琐的。
可以在其中任意一台服务器上打开RD 网关管理器,选择“策略”-“连接授权策略”项,在右侧点击“配置中心 RD CAP”项,在RD 网关属性窗口中的“RD CAP 存储”面板中选择“运行NPS 的中心服务器”项,输入目标NPS服务器的地址,点击“添加”按钮,将其添加进来。这样,将RD 网关和NPS(网络访问保护)角色结合起来,将不同RD 网关服务器的授权策略集中保存到指定的NPS 服务器上。只要在任何一台RD 网关服务器上修改了策略,都会自动同步到所有的RD 网关服务器上。
对于资源授权策略来说,是无法集中管理和同步的。在“常规”面板中可以根据需要,设置允许连接的最大数量。
在“传输设置”面板中的“HTTP 传输设置”栏中可以选择指定的IP(如果配置了多块网卡的话),修改HTTPS端口(默认为TCP 443)。
选择“启用UDP 传输”项,可以启用优化传输功能,设置所需的UCP 端口(默认为UDP 3391),当用户连接成功后,可以使用该UDP 端口传输数据,这适用于网络传输环境较差的情形。
在“服务器场”面板中可以添加所有RD 网关服务器,组成服务器场,并且可在列表中直接查看状态信息。