使用Forefront TMG安全发布内网服务
2019-12-22河南郭建伟
■ 河南 郭建伟
编者按:很多企业往往希望将内网服务发布到Internet,便于用户从外网顺利访问。虽然可以利用硬件防火墙来实现该要求,不过硬件防火墙价格较高,配置和使用起来也比较繁琐。其实对于一些中小企业来说,完全可以使用Forefrong TMG软件防火墙来实现上述功能。在一定程度上Forefrong TMG甚至具有一般硬件防火墙不具备的功能。
配置所需网络环境
某企业部署了Lync 2013服务平台,存在Lync边缘服务器、Lync前端服务器和Office Web App Server、域控、证书服务器等设备,通过Forefront TMG和外网连接。
为发挥Forefront TMG功能,需指定两个公网IP,一个用于连接Lync边缘和前端服务器,另一个连接Office Web App Server服务器。点击“外部网络连接属性→Internet协议版本 4(TCP/IPv4)→高级→IP设置→添加”,添加新外网地址。
在Forefront TMG主机执行ipconfig命令,显示IP为123.xxx.xxx.100和123.xxx.xxx.101,对内连接IP为172.16.3.10。为保证内网服务器都通过Forefront TMG连接 Internet,需打开“网络连接属性窗口→Internet协议版本 4(TCP/IPv4)→使用下面的IP地址→默认网关”,输入其对内地址(如“172.16.3.10”),使 其 成 为Forefront TMG的客户端。
注意,对于Lync边缘服务器来说,需要调整的是对外网络连接。启动Forefront TMG,在配置向导界中点击“配置网络设置→下一步→边缘防火墙”项,分别选择内部网络连接和外部网络连接项目。在向导界面选择“配置系统设置”项,在“成员”列表选择“工作组→定义部署选项→使用Windows Update服务检查更新”,在下一步窗口启用Web保护、恶意软件检查等功能。
对Forefront TMG进行简单测试
在Forefront TMG控制台左侧选择“防火墙策略”项,右击选择“新建→访问规则”项,在向导界面中输入名称,在下一步窗口中选择“允许”项,之后点击“添加”按钮,在添加协议窗口中打开“通用协议”分支,在其中选择 DNS、HTTP、HTTPS、ping、POP3、SMTP等基本协议。点击“下一步”并选择“不对该规则启用恶意软件检查”项。
在下一步窗口中点击“添加”按钮,在添加网络实体窗口中的“网络”节点,选择“内部”项。在下一步窗口中一次点击“添加→网络→外部”项。之后完成该规则的创建操作。点击Forefront TMG控制台右侧的“应用”按钮,让该规则生效。之后在内网主机上访问外部网络,例如对目标主机进行ping探测,可以看到其返回信息由请求超时到正常状态,说明Forefront TMG已经发挥了作用。
配置访问策略,允许外网登录Lync平台
在本例中,Forefront TMG不仅发挥了防火墙的功能,还起到了反向代理的作用,将内网中的多个服务发布出去。
因此,对于Forefront TMG主机连接外网的第一个IP来说,需要将TCP 5061端口映射到内部Lync服务器的 TCP 5061端口上,主要保证外网用户可以顺利登录到Lync平台。与之关联的服务使用的是SIPS协议,在Forefront TMG中已经内置了对该协议的支持。
之后需要将其TCP 442端口映射到Lync边缘服务器的TCP 442端口上,主要用来实现语音和视频通讯功能,接下来需要将其TCP 444端口映射到Lync边缘服务器的TCP 444端口上,主要用来实现视频会议功能。其中后两者使用的协议在Forefront TMG中并不支持,所以需要我们进行自定义处理。
在Forefront TMG控制台左侧选择“防火墙策略”项,在右侧的“工具箱”面板中选择“协议”项,点击菜单“新建→协议”项,输入该协议的名称(例如“lyncvoice”),在下一步窗口中点击“新建”按钮,在打开窗口中的“协议类型”列表中选择“TCP”项,在“方向”列表中选择“入站”项,在“端口范围”栏中设置端口范围从442到442,点击“确定”按钮,在下一步窗口中不启用辅助连接功能。按照同样的方法,创建名为“Lyncmeet”的协议,其使用端口为TCP 444。
在Forefront TMG控制台左侧选择“防火墙策略”项,在其右键菜单上点击“新建→非Web服务器协议发布规则”项,输入其名称(例如“Lyncpub1”),点 击 下 一步按钮,输入Lync边缘服务器的对外的IP地址。在下一步窗口中的“选择的协议”列表中选择“SIPS服务器”项,点击“下一步”按钮,在“侦听来自这些网络的请求”列表中选择“外部”项。点击“地址”按钮,选择Forefront TMG主机的一个对外的IP(这里选择“123.xxx.xxx.100”)。,点 击“添加”按钮将其选中。
当应用了该规则后,可以在外网的客户机上打开“C:WindowsSystem32DriversEtc”目录,打开其中的“Hosts”文 件,在 其中 输 入“123.xxx.xxx.100 sip.xxx.com”行,添加所需域名和指定IP的对应关系。之后执行“ping sip.xxx.com” 和“telnet sip.xxx.com 5061”命令,可以检测到内网中的Lync边缘服务器。启动Lync客户端,输入合适的账号(即内网域账户邮箱名称),是可以登录到内网中的Lync平台的。
注意,外网客户机和内网Lync服务器之间的信任关系实现已经建立,即在客户端上安装对应的根证书,让两者可以互相信任。
与普通高等院校相比,公办高职院校的品牌知名度及品牌认可度都不高,这与职业学院的品牌传播缺乏系统性不无关系。虽然一些职业院校有进行品牌宣传,但是在宣传媒介的数量、宣传的方式、宣传的内容上缺乏精心的选择和策划设计,院校并没有建立起规范化的品牌传播系统,宣传主体分散在系部、党委办公室、院长办公室等平行部门,很多的宣传推广都是出于管理层的临时授意,也没有配备专门的人员对品牌传播进行管理,所以在操作上严重缺乏规范性。这种缺乏系统性的品牌传播方式导致高职院校的品牌传播效果差,严重制约着学院的品牌提升。
利用自定义协议,全面发布Lync服务
经过以上操作,虽然可以顺利登录,但是只能互发消息,如果想发送语音/视频,发起会议的话是无法进行的。这是因为仅仅映射TCP 5061端口是不够的,还需要将其他的对应端口映射出去才行,即仅仅通过Forefront TMG发布一个Lync域名是不行的,必须将多个Lync域名发布出去。
在Forefront TMG控制台左侧选择“防火墙策略”项,在其右键菜单上点击“新建→非Web服务器协议发布规则”项,输入其名称(例如“Lyncpub2”),点击“下一步”按钮,输入Lync边缘服务器的对外的IP地址。在下一步窗口中的“选择的协议”列表中选择自定义的“lyncvoice”协议,之后的配置与上述完全相同。
按照同样的方法,创建名为“Lyncpub3”的防火墙策略,在其中选择上述名为“Lyncmeet”的协议。
这样,就通过名为“sip.xxx.com”的语境,将多个Lync服务发布出去。在外网主机端上运行Lync客户端程序,可以顺利连接到内网Lync服务器,执行互发消息,发送语音/视频,开启会议等功能。当然,为了便于共享文档,在内网中还配置了Web Office Server服务器,因此需要将其也发布出去,
这里使用Forefront TMG主机对外连接的“123.xxx.xxx.101”地址来进行发布,在Forefront TMG控制台左侧选择“防火墙策略”项,在其右键菜单上点击“新建→非Web服务器协议发布规则”项,输入其名称(例如“Lyncpubwac”),点击“下一步”按钮,输入Web Office Server服务器的IP地址。在下一步窗口中的“选择的协议”列表中选择“HTTPS服务器”项,点击“下一步”按钮,在“侦听来自这些网络的请求”列表中选择“外部”项。点击“地址”按钮,选择IP为“123.xxx.xxx.101”。
在外网客户机桑打开“Hosts”文件,添加“123.xxx.xxx.101 office.xxx.com”行,建立域名和IP的绑定关系。之后在外网客户端上登录内网的Lync平台,是可以顺利共享PPT扥文档。当然,如果没有购买公网证书,仅仅在内网加设CA服务器的话,还需要在Forefront TMG控制台左侧选择“防火墙策略”项,在其右键菜单上点击“新建→非Web服务器协议发布规则”项,输入名称(例如“Lyncpubca”)及内网CA服务器的IP地址,选择“HTTP服务器”项,通过Forefront TMG的对外的“123.xxx.xxx.101”地址,将CA服务器的TCP 80端口映射出去。这样,可以实现用户证书吊销的校验操作。
使用Forefront TMG实现反向代理功能
注意,反向代理需要和Lync的前端服务器建立关联。在Forefront TMG控制台左侧选择“防火墙策略”项,在其右键菜单上点击“新建→网站规则”项,输入名称(例如“Lynfx1”),在下一步窗口中依次点击“许可→下一步→发布单个网站或负载平衡器”项,在下一步窗口中选择“使用不安全的连接连接发布的Web服务或服务器场”项,点击“下一步”,在“内站点名称”栏中输入合适的名称(例如“LyncSite1”),选择“使用计算机名称或IP地址连接到发布的服务器”项,输入Lync前端服务器的IP。
在下一步窗口中的“路径”栏中输入“/*”,表示使用所有的路径。点击“下一步”,输入合适的共用名称(如“meet.xxx.com”),在下一步窗口中点击“新建”按钮,在新建Web侦听器向导中输入名称(例如“Lynczt1”),之后选择“不需要与客户端建立SSL安全连接”项,然后在“侦听来自这些网络的请求”列表中选择“外部”项。点击“地址”按钮,选择Forefront TMG主机的一个对外的IP(这里选择“123.xxx.xxx.100”)。创建好Web侦听器后,点击“编辑”按钮,在打开窗口中选择“身份验证→高级→允许通过HTTP进行客户端身份验证”项。
返回上级向导界面,选择“无委派,但是客户端可以直接进行身份验证”项,之后完成该该策略的创建操作。选择该策略,在属性窗口中的“通讯”面板中点击“端口→将请求发送到发布的服务器的此端口”项,输入“8080”,将外网访问TCP 80端口映射到TCP 8080端口。在公共名称面板中点击“添加”按钮,依次增加“dialin.xxx.com”、“lyncdiscover.xxx.com”等域名。
在Forefront TMG控制台左侧选择“防火墙策略”项,在其右键菜单上点击“新建→非Web服务器协议发布规则”项,输入名称(例如“Lynfx2”),点击“下一步”,输入Lync前端服务器的IP地址。在下一步窗口中“选择的协议”列表中选择“HTTPS服务器”项,点击“下一步→侦听来自这些网络的请求→外部→地址”项,选择Forefront TMG主机的“123.xxx.xxx.101”外网地址。
同理,将该策略的端口由TCP 443映射为TCP 4443。之所以这样配置,是根据Lync的实际需求而定的,因为Lync的对内和对外的端口并非一致。在外网客户机上打开“Hosts”文件,添加“123.xxx.xxx.100 meet.xxx.com”,“123.xxx.xxx.100 dialin.xxx.com”,“123.xxx.xxx.100 lyncdiscover.xxx.com”等行,建立对应的域名和IP的绑定关系。在客户端上执行“telnet meet.xxx.com 80”,“telnet meet.xxx.com 443”,可以看到连接没有问题。在外网客户端上打开浏览器,访问“https://meet.xxx.com”地址,可以加入到内网中的Lync会议中。