配置筛选并控制垃圾邮件

 

上一次修改主题: 2006-03-15

控制垃圾邮件是一项挑战,但是也可以采用一些方法来减少垃圾邮件:

  • 使用 Exchange 2003 筛选功能。   Microsoft® Exchange Server 2003 提供连接筛选、收件人筛选以及发件人筛选,以减少发送到组织中的用户的垃圾邮件。
  • 提醒用户不要答复或转发垃圾邮件。   指示用户不要单击包括在邮件中的任何“删除”链接,因为这些链接通常用于确认地址。

在 Exchange Server 2003 中,可以在 SMTP 虚拟服务器上配置并启用筛选,以限制对虚拟服务器的访问。筛选是在 Exchange 系统管理器中的“全局设置”下的“邮件传递属性”中配置的。虽然筛选是作为全局设置配置的,但是必须在各个虚拟服务器上启用。

使用筛选可以通过下列途径来阻止发送到 SMTP 虚拟服务器的传入电子邮件:

  • 连接筛选:基于连接方 SMTP 服务器的 Internet 协议 (IP) 地址来阻止发送到组织的邮件。可以配置全局接受列表(始终接受来自其中 IP 地址的邮件)和全局拒绝列表(始终拒绝来自其中 IP 地址的邮件)。还可以订阅第三方阻止列表提供程序,并确认连接方 IP 地址未出现在它们的被阻止 IP 地址列表中。

    note注意:
    如果要阻止特定的 IP 地址向您的 SMTP 虚拟服务器发送邮件,可以通过使用 SMTP 虚拟服务器属性的“访问”选项卡上的“连接”按钮来添加这些 IP 地址。应在网关 SMTP 虚拟服务器上配置这些限制。
  • 收件人筛选:阻止发送到组织内的特定收件人地址的邮件。

  • 发件人筛选:阻止特定的发件人发送的邮件。如果您的组织反复收到来自相同发送地址的垃圾邮件,可以选择阻止这些发件人向您的组织发送邮件。

连接筛选

Exchange Server 2003 支持基于阻止列表对连接进行筛选。连接筛选充分利用了基于 IP 地址列出已知的垃圾邮件来源、拨号用户帐户以及开放中继支持的服务器的外部服务。连接筛选是对第三方内容筛选产品的补充。通过此项功能,可以对照阻止列表提供程序针对要筛选的类别提供的列表来检查传入 IP 地址。此外,还可以使用多个连接筛选器,并设定应用各个筛选器的优先次序。

使用连接筛选,还可以执行下列操作:

  • 配置全局接受列表和全局拒绝列表。   全局接受列表是您将始终接受来自其中 IP 地址的邮件的 IP 地址列表。全局拒绝列表是您将始终拒绝来自其中 IP 地址的邮件的 IP 地址列表。在使用全局接受列表和全局拒绝列表时,可以使用也可以不使用阻止列表服务提供程序。
  • 将某个收件人地址配置为所有连接筛选规则的例外。   当邮件发送到该地址时,将自动被接受,即使其发件人出现在阻止列表中也是如此。

连接筛选规则的工作原理

创建连接筛选规则后,SMTP 将使用此规则在第三方阻止列表服务所提供的列表中执行 DNS 查找。连接筛选器检查每个传入 IP 地址是否与第三方阻止列表中的 IP 地址匹配。阻止列表提供程序将发出下面两个响应中的一个响应:

  • 找不到主机   表明 IP 地址不存在于其阻止列表中。
  • 127.0.0. x 一个响应状态代码,表明在违犯者列表中找到了与该 IP 地址匹配的条目。x 值因阻止列表提供程序的不同而不同。

如果在阻止列表中找到了传入的 IP 地址,SMTP 将返回 5.x.x 错误以响应 RCPT TO 命令(连接方服务器为识别原定邮件收件人而发出的 SMTP 命令)。

可以自定义返回给发件人的响应。此外,由于阻止列表提供程序通常包含不同的违犯者类别,因此可以指定要拒绝的匹配项。大多数阻止列表提供程序屏幕都筛选以下三种类型的违犯者:

  • 垃圾邮件来源   这些列表是通过扫描未经请求的商业电子邮件并将源地址添加到列表中来生成的。
  • 已知的开放中继服务器   这些列表是通过识别 Internet 上的开放中继 SMTP 服务器来创建的。出现开放中继服务器的最常见原因是系统管理员配置错误。
  • 拨号用户列表   这些列表是根据现有的 Internet 服务提供商 (ISP) 列表(包含拨号访问的 IP 地址)创建的,或者是通过检查可能意味着拨号连接的地址创建的。

阻止列表提供程序如何匹配违犯的 IP 地址

设置连接筛选器之后,当电子邮件发送到您的组织时,Exchange 将与阻止列表提供程序联系。提供程序在其 DNS 中检查是否存在 A(主机)记录。Exchange 以特定格式查询此信息。例如,如果连接地址是 192.168.5.1,而阻止列表提供程序的组织是 contoso.org,则 Exchange 将查询是否存在以下记录:

<reverse IP address of the connecting server>.<dns name for the block list organization> IN A 127. 0.0.x

在本例中为:

1.5.168.192..contoso.org

如果在提供程序的列表中找到了此 IP 地址,则提供程序将返回 127.0.0.x 状态代码,以指示违犯的 IP 地址和违犯类型。所有阻止列表提供程序都返回响应代码 127.0.0.x,其中 x 指示违犯类型。x 值因阻止列表提供程序的不同而不同。

了解阻止列表提供程序响应代码

前面已提到,如果阻止列表提供程序找到了匹配项,将总是返回状态代码 127.0.0.x。状态代码是显式的返回代码或位掩码,后者是多功能返回代码。如果阻止列表提供程序返回一个值,则可以指定进行筛选所要依据的值。但是,如果阻止列表提供程序返回一个位掩码,则必须了解位掩码的工作原理才能指定要筛选的匹配项。

位掩码是一种用于验证是否为条目设置了特定位的方法。位掩码与传统掩码不同,前者检查特定位的值,而后者检查的则是一定范围的值。请考虑下面的示例。

假定阻止列表提供程序对阻止列表中的每个匹配项返回下表中列出的状态代码。

阻止列表状态代码的示例

类别 返回的状态代码

已知的垃圾邮件来源

127.0.0.3

拨号用户帐户

127.0.0.2

已知的中继服务器

127.0.0.4

但是,如果某个 IP 地址同时存在于两个列表中,则阻止列表提供程序对最后八位字节的值进行求和。因此,如果某个 IP 地址同时包含在已知中继服务器列表中和已知垃圾邮件来源列表中,则阻止列表提供程序将返回状态代码 127.0.0.7,其中 7 是分别针对已知的未经请求的商业电子邮件来源和已知的中继服务器来源返回的状态代码中最后一个八位字节的组合值。

如果希望仅根据已知的未经请求的商业电子邮件来源进行筛选,则应输入位掩码值 0.0.0.3;之后,阻止列表将根据任何可能的值(在本例中为 127.0.0.3、127.0.0.5、127.0.0.7 和 127.0.0.9)来进行筛选。

下表列出了与每个示例状态代码关联的位掩码值。

阻止列表状态代码和相应的位掩码值示例

类别 返回的状态代码 位掩码值

已知的垃圾邮件来源

127.0.0.3

0.0.0.3

拨号用户帐户

127.0.0.2

0.0.0.2

已知的中继服务器

127.0.0.4

0.0.0.4

已知的中继服务器和拨号用户帐户

127.0.0.6

0.0.0.6

在此表的最后一个类别(“已知的中继服务器和拨号用户帐户”)中,仅当 IP 地址同时出现在已知的中继服务器列表和拨号用户帐户列表中时,位掩码 0.0.0.6 才返回该地址的匹配项。如果 IP 地址仅出现在其中一个列表中,则位掩码 0.0.0.6 将不会返回匹配项。不能使用位掩码在多个列表中查找单个匹配。

note注意:
位掩码仅根据单个值进行检查。如果设置了一个位掩码值,并且只有当某个 IP 地址同时出现在两个列表中时才返回该掩码值,则该掩码将只匹配同时出现在这两个列表中的 IP 地址。如果要在其中的一个列表中查找 IP 地址,请输入这些设置的状态代码。

指定连接筛选规则的例外

可以允许将邮件传递给特定的收件人,而不考虑他们是否出现在阻止列表中。如果希望允许合法的组织通过联系邮局主管帐户来与您的管理员进行通信,则此例外很有用。例如,如果某个合法公司由于疏忽而将其服务器配置为允许开放中继,将导致从该公司发往您的用户的电子邮件被阻止。但是,如果将连接筛选配置为允许将邮件传递到组织中的邮局主管帐户,则被阻止的公司中的管理员可以将邮件发送到您的邮局主管帐户,以报告其情况或询问为何拒绝其邮件。

启用连接筛选

若要启用连接筛选,请执行下列操作:

  1. 使用“邮件传递属性”对话框上的“连接筛选”选项卡来创建连接筛选器。有关详细说明,请参阅如何创建收件人筛选器
  2. 在 SMTP 虚拟服务器级别应用该筛选器。有关详细说明,请参阅如何将收件人筛选器应用于 SMTP 虚拟服务器

其中的每个步骤将在以下各节进行详细说明。

配置连接筛选

若要配置连接筛选,请执行下列任务:

  • 创建全局接受列表和全局拒绝列表。
  • 创建连接筛选规则。
  • 创建连接筛选规则的例外。

有关创建全局接受列表和全局拒绝列表的详细说明,请参阅下列主题:

有关创建连接筛选规则的例外的详细说明,请参阅下列主题:

将连接筛选器应用于适当的 SMTP 虚拟服务器

创建连接筛选器以及该筛选器的任何例外之后,必须将它应用于相应的 SMTP 虚拟服务器。通常,将连接筛选器应用于 SMTP 虚拟服务器(存在于接受入站 Internet 电子邮件的网关服务器上)。使用以下过程可以将连接筛选器应用于 SMTP 虚拟服务器。

有关详细说明,请参阅如何将连接筛选器应用于 SMTP 虚拟服务器

收件人筛选

使用收件人筛选,可以筛选发送到组织中不存在的收件人的邮件,或者添加通常被垃圾邮件发件人视为目标的特定收件人地址。

启用收件人筛选

若要启用收件人筛选,请执行下列操作:

  1. 使用“邮件传递属性”对话框中的“收件人筛选”选项卡创建收件人筛选器。
  2. 在 SMTP 虚拟服务器级别应用该筛选器。

其中的每个步骤将在以下各节进行详细说明。

发件人筛选

Exchange Server 2003 中的发件人筛选功能与 Exchange 2000 Server 中的相同;使用它可以筛选特定的发件人发送的邮件。可以阻止域中的任何用户或特定的发件人发送的邮件。

启用发件人筛选

若要启用发件人筛选,请执行下列操作:

  1. 使用“全局设置”中的“邮件传递属性”对话框中的“发件人筛选”选项卡创建发件人筛选器。
  2. 在 SMTP 虚拟服务器级别应用该筛选器。

了解如何应用启用的筛选器和 IP 限制

Exchange 2003 支持下列筛选器和 IP 限制:

  • 连接筛选
  • 收件人筛选
  • 发件人筛选
  • 基于虚拟服务器的 IP 限制

虽然连接筛选、收件人筛选和发件人筛选都是在“邮件传递属性”中配置的,但是它们必须分别在各个 SMTP 虚拟服务器上启用。与此不同,IP 限制是直接在每个 SMTP 虚拟服务器上配置的。

此部分说明了在 SMTP 会话期间检查所配置并启用的 IP 限制和筛选器的顺序。

  1. SMTP 客户端尝试连接到 SMTP 虚拟服务器。
  2. 对照 SMTP 虚拟服务器的 IP 限制(使用 SMTP 虚拟服务器“属性”的“访问”选项卡上的“连接”按钮配置),检查连接方客户端的 IP 地址:
    • 如果连接方 IP 地址存在于受限制的 IP 列表中,则连接立即断开。
    • 如果连接方 IP 地址不存在于受限制的IP 列表中,则连接被接受。
  3. SMTP 客户端将发出 EHLO 或 HELO 命令。
  4. SMTP 客户端发出如下所示的 MAIL FROM:命令:
    MAIL FROM:ted@contoso.com
  5. 然后,对照全局接受列表(在 Exchange 系统管理器中的“邮件传递属性”对话框中的“连接筛选”选项卡上配置)检查 SMTP 客户端的 IP 地址。
    • 如果连接方 IP 地址存在于全局接受列表中,则不检查全局拒绝列表。此过程跳过步骤 6,而直接进入步骤 7。
    • 如果连接方 IP 地址不存在于全局接受列表中,则执行步骤 6 和 7。
  6. 对照全局拒绝列表(在 Exchange 系统管理器中的“邮件传递属性”对话框中的“连接筛选”选项卡上配置)检查 SMTP 客户端的 IP 地址。
    • 如果 SMTP 客户端的 IP 地址存在于全局拒绝列表中,则连接断开。
    • 如果 SMTP 客户端的 IP 地址不存在于全局拒绝列表中,则会话继续。
  7. 发件人筛选对照其阻止发件人列表(在 Exchange 系统管理器中的“邮件传递属性”对话框中的“发件人筛选”选项卡上配置)检查 MAIL FROM 命令中指定的发件人。
    • 如果发件人出现在阻止发件人列表中,将出现下列两种情况之一(具体出现哪种情况,取决于发件人筛选是如何配置的):
      - 如果发件人筛选配置为断开连接,则连接断开。
      - 如果发送人筛选配置为接受邮件而不通知发件人,则会话继续;但邮件将发送到 Badmail 目录,而不会传递给原定的收件人。
    • 如果发件人未出现在发件人筛选列表中,则 SMTP 虚拟服务器会发出如下所示的响应:
      250 2.1.0 ted@contoso.com...Sender OK
  8. 连接方 SMTP 服务器发出如下所示的 RCPT TO 命令:
    RCPT TO:kim@example.com
  9. 连接筛选规则对照其阻止列表服务提供程序提供的任何阻止列表检查连接方 IP 地址。
    • 如果 SMTP 客户端的 IP 地址存在于接受列表中,则绕过连接筛选规则。此过程进入步骤 10。
    • 连接筛选按照连接筛选中配置的顺序检查每个服务提供程序的阻止列表。如果连接筛选在提供程序的阻止列表中找到了匹配项,则 SMTP 虚拟服务器将返回错误代码,然后发送自定义错误消息(在连接筛选规则中配置)。找到匹配项后,将不会检查其他任何服务提供程序列表。
    • 如果 SMTP 客户端的 IP 地址未出现在阻止列表服务提供程序的阻止列表中,则会话将继续。
  10. 连接筛选检查原定收件人是否出现在连接筛选例外列表中。
    • 如果收件人出现在此列表中,则接受通信,并且不对 RCPT TO 命令应用其他检查。此过程跳过步骤 11 和 12 而直接进入步骤 13。
    • 如果收件人未出现在例外列表中,则对照其他筛选器检查该收件人。
  11. 如果收件人未出现在连接筛选中配置的例外列表中,则对照在收件人筛选中配置的任何被阻止的收件人检查该收件人。
    • 如果收件人是被阻止的收件人,则 SMTP 虚拟服务器返回无效收件人错误。
    • 如果收件人不是被阻止的收件人,则会话继续。
  12. 如果收件人不是被阻止的收件人,则检查 Active Directory 以确保原定收件人存在于 Active Directory 中。
    • 如果原定收件人不是 Active Directory 中的有效收件人,则 SMTP 虚拟服务器返回无效收件人错误。
    • 如果收件人是 Active Directory 中的有效收件人,则会话继续。
  13. 对于 RCPT TO 命令中指定的其他每个收件人,应用步骤 10 到步骤 12。
  14. 然后,连接方服务器发出如下所示的 DATA 命令:
    DATA
    To:Kim Akers
    From:ted@contoso.com<Ted Bremer>
    Subject:Mail Message
  15. 然后,发件人筛选检查“发件人”地址是否与被阻止的发件人不匹配。
    • 如果 DATA 命令中指定的发件人是被阻止的发件人,则会出现以下两种情况之一:
      - 如果发件人筛选配置为断开连接,则 SMTP 虚拟服务器会返回 5.1.0“发件人被拒绝”错误并断开连接。
      - 如果发送人筛选配置为接受邮件而不通知发件人,则会话继续;但邮件将发送到 Badmail 目录,而不会传递给原定的收件人。
    • 如果 DATA 命令中指定的发件人不是被阻止的发件人,则接受邮件并对邮件排队以便进行传递。

识别带欺骗性质的邮件

可以教导用户如何识别带欺骗性质的邮件。与 Exchange 2000 不同,Exchange 2003 不将匿名电子邮件解析为其默认配置中的相应显示名。因此,如果邮件来自伪造的地址,则 Exchange 2003 不会将发件人的电子邮件地址解析为全局地址列表中的相应显示名。

为了说明 Exchange 2003 如何防止电子欺骗,假定有一个名为 Ted Bremer 的内部用户,他从您的域 example.com 内部发送邮件。该电子邮件显示他的发送地址为 Ted Bremer,这是在 Active Directory 中针对 ted@example.com 配置的显示名。(这是因为当 Ted Bremer 发送邮件时,他是通过身份验证的用户。)Exchange 经过验证确认 Ted Bremer 的凭据具有“代理发送”权限,于是便将他的电子邮件地址解析为 Active Directory 中的相应显示名。当未经授权的用户通过伪造 Ted 的地址来假冒 Ted,然后将邮件发送到域中的另一个用户时,便发生了电子欺骗。

Exchange 2003 不解析来自组织外的电子邮件地址。因此,当匿名用户试图假冒 Ted 的身份发送邮件时,Exchange 不会将“发件人”一行中的发送地址解析为相应的显示名。事实是,出现在电子邮件“发件人”一行中的将是 ted@example.com。如果用户了解这一区别,便至少能够识别带欺骗性质的邮件。

但是,Exchange 2000 服务器默认情况下解析匿名电子邮件。如果组织包含 Exchange 2000 服务器,并且这些服务器解析匿名电子邮件,并将其发送到 Exchange 2003 服务器,则地址将解析为 GAL 中的相应显示名。要防止这一情况,应对 Exchange 2000 服务器进行配置,使其不解析匿名邮件。

有关详细说明,请参阅如何验证 Exchange 2003 是否配置为不解析匿名邮件如何将 Exchange 2000 配置为不解析外部电子邮件地址