过滤进入邮件的好处是显而易见的,同样的,你可以对出站的邮件进行过滤。例如,如果一个或者多个你内部网络中的用户中了邮件病毒,病毒使用预定的附件名字、附件类型或者关键字发送大量的垃圾邮件,此时你就可以通过配置ISA防火墙过滤出站邮件来阻止病毒的邮件传送。这样不仅仅阻止病毒的扩散,同样也减少了Internet带宽的消耗。 在默认SMTP虚拟服务器属性对话框,点击应用再点击确定; 注意:这儿有有个问题。因为ISA防火墙上的SMTP服务已经绑定了内部网络接口的IP地址,所以应该这里ISA是不能绑定在内部网络上进行侦听的。我已经给Tom提出了此疑问,在Tom回复后,我再修改此文章。 在中继限制对话框,我们现在可以看到Exchange服务器的IP地址显示在计算机列表中。注意我们没有选择允许所有通过验证的计算机,而不管上面的列表,这样可以阻止垃圾邮件制造者使用通过验证后使用ISA防火墙上的SMTP服务来发送邮件。点击确定; 在默认SMTP虚拟服务器属性对话框,点击应用再点击确定; 点击应用以保存修改和更新防火墙策略; 我们可以检查SMTP邮件筛选器日志文件,然后可以看到过滤邮件的日志,它提供了邮件为什么被过滤的详细说明。
我们的试验网络拓朴结构和“配置ISA防火墙作为进入的SMTP中继过滤”一文一致,在本文中,我们将讨论以下步骤来配置ISA防火墙作为进站和出站的SMTP中继过滤:
配置Exchange服务器使用ISA防火墙作为它的前端主机(Smart Host);
建立SMTP服务器发布规则,侦听ISA防火墙的内部接口;
配置ISA防火墙上的SMTP服务,为内部的邮件服务器(Exchange或其他任何邮件服务)提供出站中继;
配置ISA防火墙的系统策略,允许本地主机网络的所有出站SMTP访问;
确认对出站邮件进行了过滤;
检查通过ISA防火墙的SMTP中继发送的邮件的邮件头;
前端主机(Smart Host)是为另外一台SMTP服务器提供名字解析服务和SMTP邮件转发功能的计算机。对于将ISA防火墙作为出站中继代理的Exchange服务器来说,ISA防火墙就是Exchange服务器的的前端主机。ISA防火墙上的SMTP服务解析邮件域名,然后转发邮件到对应的SMTP服务器上。
在Exchange服务器上执行以下步骤来配置它使用ISA防火墙上的SMTP服务作为它的前端主机:
在Exchange服务器上,打开系统管理器;
在Exchange系统管理器管理控制台,展开服务器节点下的服务器名,再展开协议节点下的SMTP节点;
右击默认SMTP虚拟服务器,然后点击属性;
在默认SMTP虚拟服务器属性对话框,点击发送标签;
在发送标签,点击高级按钮;
在高级发送对话框,输入侦听SMTP连接请求的SMTP服务的IP地址,在此例中,ISA防火墙上的SMTP服务在内部网络接口的IP地址 10.0.0.1上侦听连接请求,所以我们输入它;在输入的时候,需要使用方括号“[]”来包含输入的IP地址,所以我们输入[10.0.0.1],点击确定;
在Exchange服务器上重启SMTP服务。
建立SMTP服务器发布规则,侦听ISA防火墙的内部接口
在“配置ISA防火墙作为进入的SMTP中继过滤”一文中,我们建立了SMTP服务器发布规则来在ISA防火墙的外部接口侦听进入的SMTP请求,然后转发到在ISA防火墙的内部网卡的IP地址上侦听的SMTP服务上。我们同样可以建立SMTP服务器发布规则来侦听到达ISA防火墙的内部网卡的SMTP 请求。不过非常方便的是我们可以直接修改现存的SMTP服务器发布规则,而不需要新建一条SMTP服务器发布规则。
执行以下步骤来配置SMTP服务器发布规则,以在ISA防火墙的内部网络接口上接收进入的SMTP请求:
在ISA Server 2004的管理控制台,展开服务器名,然后点击防火墙策略,右击右边面板中的允许进入SMTP中继的SMTP Relay规则;
在SMTP Relay属性对话框,点击网络标签。在网络标签,勾选内部网络,点击应用,然后点击确定;
接下来是配置ISA防火墙上的SMTP服务,让它为所有域名的出站邮件提供中继服务,这样将使ISA防火墙上的SMTP服务成为一个“开放中继”。不过,我们可以更严格的限制“开放中继”,只允许内部网络中的Exchange服务器通过它来进行中继。
注意,进站和出站邮件的中继特性是完全不同的。ISA防火墙上的SMTP服务配置为允许所有SMTP服务器发送邮件到我们指定的域名,进入的到达其他域的邮件将会被拒绝。与之相对的是,我们将允许中继Exchange服务器的邮件到任何域。只有Exchange服务器才会被允许中继邮件到所有域,其他任何主机都不允许,除非是到达我们自己域的邮件。
在ISA防火墙上执行以下步骤来允许中继Exchange服务器的邮件到所有邮件域:
在ISA防火墙计算机上,打开管理工具中的Internet信息管理器管理控制台;
在Internet信息管理器管理控制台,展开服务器名,然后右击默认SMTP虚拟服务器,点击属性;
在默认SMTP虚拟服务器属性对话框,点击访问标签;
在访问标签,点击中继限制框架中的中继按钮;
在中继限制对话框,确定只选择了只有下面的列表,点击添加按钮;
在计算机对话框,选择单一计算机,然后在下面的IP地址中输入内部网络中Exchange服务器的IP地址,在此例中是10.0.0.2,输入后点击确定;
重启IIS的SMTP服务;
配置ISA防火墙的系统策略,允许本地主机网络的所有出站SMTP访问
ISA防火墙的默认系统策略允许ISA防火墙访问默认内部网络中的SMTP服务器,这样便于ISA防火墙发出警告邮件。为了让出站的邮件发送到外部网络,我们需要修改ISA防火墙的系统策略来允许ISA防火墙访问外部网络的SMTP服务。
执行以下步骤以配置系统策略:
在ISA Server 2004的管理控制台,展开服务器名,然后防火墙策略;
在防火墙策略节点,点击任务面板的任务标签。在任务标签,点击显示系统策略规则链接;
在系统策略列表,右击Allow SMTP from ISA Server to trusted server规则,然后点击编辑系统策略;
在系统策略编辑器,确定红色箭头指向了SMTP,然后点击到标签,点击添加按钮;
在添加网络实体对话框,点击网络目录,双击外部,然后点击关闭。
此时到标签中显示出了外部和内部网络,点击确定。
确认对出站邮件进行了过滤
现在我们来测试邮件过滤的配置。在“配置ISA防火墙作为进入的SMTP中继过滤”一文中我们已经配置了SMTP邮件筛选器阻止附件包含.pif文件的邮件。因为我们的 Exchange服务器没有允许客户使用SMTP连接,我们使用Outlook MAPI客户来发送一个包含.pif文件附件的邮件。
在发送此邮件以后,我们可以在ISA防火墙的%systemdrive%\Inetpub\mailroot\Badmail目录中发现三个文件,它们就是被SMTP筛选器过滤掉的邮件,我们已经在“配置ISA防火墙作为进入的SMTP中继过滤”一文中进行了说明。
现在我们通过发送正常的邮件来测试我们的配置,我们仍然通过连接到Exchange服务器的Outlook MAPI客户来发送邮件。
在这个例子中我发送一封测试邮件到我的hotmail邮箱中,邮件头如下所示:
Received: from ISALOCAL ([24.1.226.66]) by mc9-f6.hotmail.com with Microsoft SMTPSVC(5.0.2195.6824); Sun, 26 Dec 2004 08:13:14 -0800
Received: from EXCHANGE2003BE.msfirewall.org ([10.0.0.2]) by ISALOCAL with Microsoft SMTPSVC(6.0.3790.0); Sun, 26 Dec 2004 10:13:18 -0600
Received: from EXCHANGE2003BE ([10.0.0.2]) by EXCHANGE2003BE.msfirewall.org with Microsoft SMTPSVC(6.0.3790.0); Sun, 26 Dec 2004 10:13:11 -0600
X-Message-Info: JGTYoYF78jG+oarT45PqEpoyA3I3W9mg
X-MSMail-Priority: Normal
Return-Path: tshinder@msfirewall.org
X-OriginalArrivalTime: 26 Dec 2004 16:13:11.0865 (UTC) FILETIME=[CBEB8290:01C4EB65]
我们可以看到邮件头部显示了邮件离开我们的网络时,最后一个节点是ISA防火墙的SMTP服务。邮件通过ISA防火墙上的SMTP中继服务进行转发,然后通过ISA防火墙的外部接口到达hotmail的邮件服务器。