控制垃圾邮件:Lotus Domino 中的高级 SMTP 设置第 2 部分 |
级别: 初级 Edmund Stanton, 企业软件工程师, IBM Corporation 2004 年 12 月 02 日 了解如何使用 Server 文档和 Notes.ini 变量控制垃圾邮件。预先介绍一下 Lotus Notes/Domino 7 中的反垃圾邮件控制,并看一下有哪些改进。本文是关于控制垃圾邮件的 Lotus Domino 方法的系列文章的第 2 部分。<!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --><!--END RESERVED FOR FUTURE USE INCLUDE FILES--> 在正在进行的控制多余和别人自动发放的电子邮件的战斗中,一些公司花费了数百万、甚至数十亿美元来开发阻止垃圾邮件渗入用户收件箱的技术。虽然垃圾邮件可能是无法阻止的,但 Lotus Notes 和 Domino 已经实现了一些帮助组织控制垃圾邮件的措施。在本系列文章的 第 1 部分中,我们讨论了 Configuration Settings 文档、服务器邮件规则,以及入站 SMTP 命令和扩展。其中的每一项措施都可以帮助阻止发送到用户的多余的电子邮件。在本系列文章的最后部分中,我们将查看影响 SMTP 和邮件路由器的 Server 文档中的设置,以及 Domino 服务器 Notes.ini 变量。最后,我们将预先介绍一些 Lotus Notes/Domino 7 反垃圾邮件特性,比如白名单、服务器邮件规则增强等等。 本系列文章适用于经验丰富的 Domino 管理员。如果您没有足够丰富的经验,请参阅本系列文章的 第 1 部分。 在前面的文章中,我们介绍了 Configuration Settings 文档入站转发控制、DNS 黑名单过滤器和其他 SMTP 控制。但是 Configuration Settings 文档不是惟一帮助控制垃圾邮件的文档。Server 文档的 SSL 设置也可以帮助控制垃圾邮件。 通过标准 TCP/IP 通道传输的 SMTP 会话容易被,因为 uuencoded 传输易于截取。为了保护 SMTP 通信,服务器可以使用传输层安全性(TLS)(更常见的是称为 SSL 加密)来提供隐私和身份验证。可以通过 Server document Ports - Internet Ports - Mail 选项卡启用 SSL,如图 1 中所示。 图 1. 为 SMTP 入站启用 SSL 一些服务器通过仅发送和接收通过 SSL 端口(端口 465 为默认端口)的 SMTP 流量,来支持 SMTP 通信的 SSL。然而,因为这需要发送和接收服务器都支持通过 SSL 的 SMTP,该解决方案通常是不可行的。 要通过 TCP/IP 的 SMTP 传输提供 SSL 安全性,Lotus Domino 需要支持使用协商 SSL。在协商 SSL 模式中,每台发送和接收主机都要使用 RFC 2487 和 RFC 3207 中定义的 SMTP STARTTLS 扩展,来通知可以与 SSL 连接进行协商。接收服务器显示 STARTTLS 关键字来响应发送服务器的 EHLO 命令。发送服务器发出 STARTTLS 命令来请求建立安全连接。成功完成初始 TLS 握手后,将继续在握手双方之间建立 SSL 通道。发送和接收服务器都必须有 SSL 证书。 以上 SSL 端口信息还是名为“Enforce server access settings”字段的设置。启用该字段时,由 Server 文档 Security 选项卡上的服务器访问设置控制对 SMTP 监听器的访问。没有访问该服务器的访问权限的用户和服务器不能向 SMTP 端口发送邮件。要使该选项有效,必须对该端口启用身份验证。
除了通过 Notes GUI 配置 SMTP,还可以通过服务器 Notes.ini 变量应用一些 SMTP 设置。下一节中将列出一些 Notes.ini 变量,可以使用它们来帮助阻止垃圾邮件,以及配置 SMTP 和 Router 限制。本文列出的所有 Notes.ini 设置都仅应用于 Domino 服务器。 SMTPStrict821AddressSyntax=value SMTPGreeting=string SMTPStrict821LineSyntax=value SMTPNonStandardLineTermination=value SMTPNotesPort=portname SMTP_Config_Update_Interval=value SMTPAllowConnectionsAnonymous=value SMTPTimeoutMultiplier=value RouterDSNForNULLReversePath=value SMTPVerifySendersDomainTimeout=value SMTPErrorLimit=value RouterDisableDSNRelayReports=value RouterDisableMailToGroups=value SMTPLookupNoDircat=value SMTPMaxCommandLength=value SMTPMaxForRecipients=value SMTPMaxSessions=value SMTPVerifyAuthenticatedSender=value SMTPSmartHostAllDisableGroupExpansion=value
这一节将描述 Lotus Domino 7 中的一些新功能。下面描述的功能将反映 Lotus Notes 和 Domino 7 的 Beta 2 版本中的一些可用功能。然而,这些功能可能不会出现在这些产品的最终版本中。而且,这些功能的用户界面可能会有所改变,所以本文中的说明与您的屏幕中所出现的说明可能不完全相同。 Lotus Domino 7 对垃圾邮件控制进行了扩展,包括 DNS 白名单过滤器。白名单允许接收指定域的消息。IBM 支持私有黑名单和白名单过滤器。使用这些新的配置设置时,重要的是在启用黑名单和白名单时,了解如何减少垃圾邮件,知道 Domino 检查的顺序。 如果启用私有白名单过滤器,当 Domino 接收 SMTP 连接时,它会将 IP 地址/主机名称与该名单进行比较。应该使用“Whitelist the following hosts”字段输入要列入白名单的 IP 地址或主机名称。还可以使用星号(*)作为通配符。私用白名单的成员仍旧受连接、转发、发件人和收件人控制。列出白名单并不能确保邮件一定会发送到收件人手里。 图 2. 私有白名单过滤器 还可以设置“Desired action when a connecting host is found in the private whitelist”字段。可以选择跳过所有黑名单过滤器来避免任何过滤查找。配置这项操作时,Domino 不记录任何其他日志。在引入私有白名单过滤器之前,要从黑名单过滤器处理中排除某一台主机,必须将客户机邮件服务器定义为转发例外。 另一个选项是记录私有白名单中发现的连接 IP 地址/主机名称。最后一个选项是记录和标记消息。标记消息会向消息添加注释 $DNSWLSite,可以用它来进一步对消息进行过滤。 如果连接主机没有列在私有白名单中,那么 Domino 会搜索私有黑名单过滤器,如果启用了该过滤器的话。Domino 将 IP 地址/主机名称与该名单进行比较。还有一些使用注释 $DNSBLSite 记录和标记消息的选项。第三个选项是记录和拒绝消息。配置这些选项之后,如果 Domino 发现连接主机在私有黑名单中,那么它会拒绝连接并向该主机返回定制的 SMTP 错误消息。 图 3. 私有黑名单过滤器 Domino 检查了私有过滤器后,它会将 IP 地址与 DNS 过滤器进行比较。管理员应该使用 DNS 白名单过滤作为帮助标识合法电子邮件的方式。IronPort Systems 推荐的 Bonded Sender Program 允许合法电子邮件的创始人发布金融担保,以确保其电子邮件推广的真实。如果收件人觉得他们从担保发件人那里收到他人自动发放的电子邮件,那么他们可以向其 ISP、企业或 IronPort 投诉,并从保证金中得到一定的赔偿。这种基于市场的机制使电子邮件发件人能够确保其邮件到达他们的终端用户,且为公司 IT 经理和 ISP 提供了一种确保只阻止多余邮件的客观方式。Bonded Sender Program 作为 DNS 白名单进行操作。还有与 Bonded Sender Program 相似的其他程序,这些不在本文的讨论范围内。您可以搜索 Web 来获取其他程序的信息。 如果启用了 DNS 白名单过滤器,如图 4 中所示,那么 Domino 会将 IP 地址/主机名称与列出的 DNS 白名单站点进行比较。还可以指定在 DNS 白名单中发现连接主机时的操作。可以选择跳过所有黑名单过滤器来避免任何过滤查找。完成这项操作后,Domino 不记录任何其他日志。 图 4. DNS 白名单过滤器 还有记录私有白名单中发现的连接 IP 地址/主机名称的选项。最后一个选项是记录和标记消息。标记消息会向消息添加注释 $DNSWLSite,这可以用来进一步对消息进行过滤。 图 5. $DNSWLSite 的文档属性 SMTP 任务将维护统计信息,以保持总命中数(SMTP.DNSWL.TotalHits)以及每白名单站点命中数(SMTP.DNSWL.<WhitelistSite>.Hits)的累积计数。统计信息是 SMTP stat 包的一部分,可以通过显示 stat SMTP 命令,利用 Domino Administrator 客户机或服务器控制台来查看这些信息。也可以进一步扩展统计信息来了解在一个配置的 DNSWLs (SMTP.DNSWL.<WhitelistSite>.[IP address].Hits) 中发现给定 IP 地址的次数。要收集扩展的信息,可以启用 Notes.ini 变量: SMTPExpandDNSWLStats=value 使用该设置为 DNS 或私有黑名单站点中发现的每个连接主机生成 DNS 和私有白名单过滤器的统计信息。如果将该变量设为 0,那么 SMTP 服务器将无法生成特定于主机的 DNS/私有黑名单过滤器统计信息。如果将该变量设为 1,那么 SMTP 服务器将生成特定于主机的 DNS/私有黑名单过滤器统计信息,指明每 DNSWL 站点、每连接主机的 IP 地址的总命中数。 如果没有这项设置,那么 SMTP 任务将维护跟踪连接主机的总数量的统计信息,所有这些主机都将在组合站点的 DNSBL 中找到,该任务还将维护每个已配置站点的 DNSBL 上发现的连接主机数的统计信息。 Lotus Domino 7 还对配置服务器邮件规则进行了一些新的增强。IBM 添加了两个新的搜索条件来标识特定邮件消息。Lotus Domino 7 可以基于黑名单标记和白名单标记过滤邮件。当在黑名单或白名单中发现了连接主机时,还有一个对消息进行标记的选项。现在可以隔离具有黑名单标记的消息或具有白名单标记的日志消息。 Lotus Domino 7 还为配置服务器邮件规则添加了一个新的操作。即可以指定停止处理的操作。该操作可以停止对包含停止处理操作的规则之后的所有规则的处理。可以单独使用停止处理操作,即作为服务器邮件规则中的惟一操作,或者可以将其与规则中的其他操作一起使用。当多个规则都可以应用于消息时,这非常有用,但需要执行第一个操作之后再停止邮件规则执行。 Lotus Domino 7 支持 IPv6 for SMTP。通过硬件和操作系统供应商以及 Internet 对 IPv6 的支持仍然处于早期阶段。对于大多数组织来说,转至 IPv6 标准是一个渐进的过程。IPv6 是新形成的标准。实现(或正在实现)IPv6 的供应商已经使用不同的方法使用该标准。如何在企业中启用和配置 IPv6 取决于使用的客户机和服务器平台。要启用 IPv6,需要将以下设置添加到服务器的 Notes.ini 文件中: TCP_EnableIPV6=value 可以在运行 IMAP、POP3、SMTP、LDAP 或 HTTP 的 Domino 服务器中启用 IPv6 支持。如果将该变量设为 0,那么 Domino 将使用 IPv4 标准。将该变量设为 1,则允许 Domino 使用 IPv6 标准。默认情况下,该变量被设为 0。 即使在 Lotus Domino 中启用了 IPv6,也可以继续连接使用 IPv4 标准的 IP 地址。AAAA 记录在 DNS 中存储 IPv6 地址。在 Domino 服务器中启用 IPv6 并向 DNS 中添加 AAAA 记录之后,其他启用 IPv6 的 Domino 服务器只能够通过 IPv6 连接到该服务器。不支持 IPv6 的服务器可以运行禁用 IPv6 支持的 Lotus Domino,这是默认操作。只有当 IPv6 服务器的 DNS 包含 A 记录时,这些服务器才可以成功连接到启用 IPv6 的 Domino 服务器。 Domino Domain Monitoring (DDM) 是 Lotus Domino 7 中的新功能,它允许您查看多个域中的多台服务器的状态。DDM 使用了您配置的探测器来监视服务器的活动。其中一个探测器是监视本地邮件发送的邮件探测器。它发送消息给已知目的地,并验证其发送。如果过多邮件处于待决状态,或者如果邮件没有到达其目的地,那么 DDM 可以向您发送警告。还可以使用 SMTP 探测器来验证邮件是否发送到 SMTP 收件人。DDM 可以发出传送状态通知报告。Event Resolution Center 数据库(Ddm.nsf)将合并单个存储库中探测器收集的信息。 有关 Lotus Notes/Domino 7 中 Domino Domain Monitoring 和其他新功能的详细信息,请参阅 developerWorks: Lotus 中的“ New features in Notes/Domino 7”一文。
IBM 研究人员还在从事 Lotus Domino 当前版本中未包含的其他反垃圾邮件技术的研究。一项称为 SpamGuru 的技术框架允许组合这些技术中的一项或多项来过滤邮件。该框架中正在开发的一项技术是 Bayesian spam filter。Bayesian 过滤器使用统计方法来确定特定邮件是否是垃圾邮件。通过将邮件的特征与好的邮件或垃圾邮件的主体进行比较,并通过“分值”计算和指出邮件是垃圾邮件的可能性,可以使用“得分(score)”潜在地改变邮件的处理。 Bayesian 过滤器继续通过训练过程了解新的垃圾邮件。好的/垃圾邮件的主体可以不断更新,从而影响将来的计算。这种了解是通过允许用户(邮件收件人)“投票选择”一些特定邮件为好的邮件或垃圾邮件来完成的。未来的计算过程中会考虑具有特定特征的邮件的投票数,允许过滤器动态适应新的垃圾邮件内容和用户对垃圾邮件的定义。 有关 SpamGuru 架构和 Lotus Domino 如何成为自适应的垃圾邮件过滤器的概述,请参阅“ SpamGuru: An Enterprise Anti-Spam Filtering System”。 IBM Research 上有其他阅读材料。 注意:当前,IBM 没有预先规定将 SpamGuru 技术与 Lotus Notes 和 Domino 集成的时间期限。
IBM 已经在 Lotus Domino 6 和 7 中研究和配置了许多设置来阻止垃圾邮件。大多数用户不了解他们为什么以及是如何收到垃圾邮件的,这就是为什么阻止垃圾邮件到达前端将可以减少用户管理这些邮件所花费的时间。IBM 将继续增强 Lotus Domino 来保持最新的反垃圾邮件技术。
|