如何使用ISA RPC Filter安全的发布Microsoft Exchange 200

12/3/2006来源:Exchange Server人气:5763

我们都知道如果在公网上直接发布RPC端口是非常危险的,但是我们的一些漫游客户希望可以使用Outlook MAPI Client连接到Exchange Server。虽然你可以让他们使用OWA进行操作,但是还是有一些功能不能够被使用,现在有了ISA RPC Filtere为我们安全的发布Exchange RPC提供很到了解决方案。

一、 ISA RPC Filter的工作原理

在我们发布Exchange RPC之前先了解一下,ISA RPC Filter是如何使Exchange RPC连接变得安全的。

首先使用TCP 135端口Outlook 建立一个连接到ISA的公网接口,请求与Exchange Server进行连接。而后ISA RPC Filter截取到这个请求,将其转发到内网的Exchange Server上。

Exchange Server收到ISA RPC Filter转发的这个请求的时候,会响应这个请求,并返回一个端口号,使Outlook Client可以发送消息。如果没有ISA RPC Filter的话,现在Outlook Client就可以和Exchange Server进行通讯了,但是现在有了ISA RPC Filter它将会捕获这个请求,并同时建立一个Dynamic Packet Filter在它的公网接口上,这个Dynamic Packet Filter将在ISA公网接口上分配一个只有Outlook Client才可以连接的端口。这时ISA会建立了一个从Exchange Server截获的端口到Dynamic Packet Filter建立端口的映射。Outlook Client将从这个映射的端口收到信件。另外,当Outlook登陆到Exchange的时候会注册一个可以从Exchange收发新邮件的新端口,这时ISA RPC Filter会故技重施按照上面的逻辑在进行映射。这时Outlook Client会收到被ISA映射过的端口,通过这个端口进行连接并收发新邮件。

从上面的原理可以看出来,所有的RPC通讯都被ISA RPC Filter严格的进行监管,只允许和Exchange Server的通讯有关的数据包通过,这就保证了RPC的通讯安全。

二、 为发布Exchange RPC配置协议

在配置Exchange 2000 RPC发布规则之前,请先确认DNS Query(UDP 53)、DNS Zone Transfer(TCP 53)和SMTP(TCP 25)这几个端口可以被使用。

1、 首先需要创建一个允许Microsoft Outlook MAPI客户端,使135端口可以通过防火墙。展开“access Policy”在“PRotocol Rules”上面点击右键,选择“New”*“Rule”

在新出现的新建规则向导设置为:

Name: Exchange Outlook MAPI

Action: allow

Applies to the following protocols: Selected Porlocols RPC

Schedile: Always

Apple the rule to request from: Any request

2、 在创建exchange RPC发布规则之前,你要先确定你的RPC Filter是启用状态,如果你的RPC Filter是禁用的,你将无法从Protocol Definition中找到Exchange RPC Server协议。打开RPC Filter方法是展开“Extensions”选择“application Filters”,在右边选择“RPC filter”右键选择启用。在确认启用“RPC filter”后,创建一个Exchange RPC Publishing规则,展开“Publishing”在“Server Publishing Rule”点击右键选择“NEW”*“Rule”

在新出现的新建规则向导设置为:

name: exchange MAPI Publishing

Internal ip: exchange 内网IP地址

External IP: 将要发布的公网IP地址

Protocol: Exchange RPC Server

Applies to requests from: Any Request

配置完成后,重新启动Firewall Service,这时测试一下你的135端口是否真的打开了,使用另外一台电脑使用拨号上网,由于是测试一定要使用比较简单的网络结构,尽量减少其他网络因素影响如:NAT,防火墙等。使用telnet External IP 135,如果提示“无法连接”,你就要找找其他的地方有什么问题,比如,前一段时间的冲击波病毒,导致很多ISP都关闭了135端口,你可以和你的专线提供商联系一下,如果你有路由或者其他防火墙有没有关闭135端口等。

三、 为发布Exchange RPC 配置身份验证

当Outlook Client登陆到Exchange 的时候,Exchange会要求Outlook Client到Active Directory去验证身份,但是Active Directory无法直接验证远程主机,所以你要配置由Exchange Server代理Outlook Client 向Active Directory进行身份验证。

具体方法是,打开Exchange Server上的注册表找到:

“HKLM\System\CurrentControlSet\Services\MSEchangeSA\Paramenters”

添加一个子键:

Value: No RFR Service 注意大小写

Type: REG_DWord

Data: 1

添加完成后重新启动Exchange Server

四、 为发布exchange RPC配置DNS

DNS配置是很多网络管理员都会忽略的问题,当你在Outlook MAPI Client配置Exchange账号,并成功的“检查名称”之后,你会发现你服务器的地址栏上变成了你Exchange Server的NETBIOS名称。这时你再使用Outlook MAPI Client连接Exchange Server的时候,Outlook MAPI Client已经开始使用Exchange Server 的NETBIOS名称在公网上进行查询。所以很多人在配置完成Exchange账号的时候,可以正确“检查名称”,但是在使用Outlook MAPI Client 进行收信的时候会提示连接失败。

在知道原因后介绍一下解决办法,一般企业的DNS会配置为两种方案一种是使用Split-Brain DNS,另一种是企业使用的内外网的DNS名称不一致。我们来分别介绍一下这两种类型的DNS如何配置。

如果你的公司使用的是Split-Brain DNS。你将有两个DNS区域使用相同的域名,这是你只需要在你的公网的DNS区域添加一个Exchange Server Computer Name为名称的主机(A)记录。使得你的内网和外网Outlook MAPI Client在都可以使用Exchange Computer Name正确解析到你的Exchange Server。

例如:你的内网的Exchange Server的名称是mail.domain.com并指向一个你内网的IP地址,那么需要保证你的外网DNS区域也可以解析mail.domain.com名称,并且该域名应该指向你的Exchange RPC Publishing rule里设置的IP地址上。

如果你的公司使用的是内外网不一致的域名,那么你就需要在你的外网的DNS区域添加一个以你的exchange server 的NETBIOS名称为主机名的主机(A)记录,你保证你的外网的Outlook MAPI Client可以正确的使用NETBIOS名称,解析到你的exchange server的地址。

五、 配置Outlook MAPI客户端

在创建账号的问题上我相信大家不会有任何问题,在这里我只说一下DNS配置的问题,在前面我们说过Outlook MAPI Client的Excahnge账号在“检查名称”后,Outlook MAPI Client将使用EXCHANGE SERVER的NETBIOS在公网进行查询。这时就会出现问题,因为NETBIOS名称不能够在公网上被解析,你必须自己配置连接的主要DNS后缀以保证你的Outlook mapi客户端可以通过NETBIOS解析到你的Exchange Server。在Windows 2000 Pro/Windows xp增加主要DNS后缀有很多方法,我在这里只介绍一种

打开“拨号网络和连接”,找到你使用的“连接”,右健属性,打开TCP/IP协议的属性,选择高级,在TCP/IP协议的高级设置对话框中,选择DNS选项卡,在DNS BUFFIX FOR THIS CONNECTION中填入你的公网的DNS区域名称。

完成后在命令行模式中使用ping命令测试以下,如果可以使用netbios名称正确的解析到你的exchange server的地址就可以了。

现在你就可以使用outlook client连接你的exchange安全的进行收信了,如有其他疑问可以在winmag论坛上发帖子,我会尽力解答的。由于是第一个写这样的文章有不对地方还望指正。

,