我是新手,这个文档对我反击垃圾邮件,有很大的帮助,希望对大家有用!

Mail::SpamAssassin::Conf - SpamAssassin配置指南

中国反垃圾邮件联盟 王兴宇 译

2007/11/27

名称

Mail::SpamAssassin::Conf - SpamAssassin 配置指南

英文版原地址 -

http://spamassassin.apache.org/full/3.2 … _Conf.html

--------------------------------------------------------------------------------

修订与译者注

•2004/11/13 第一次发布,适用于 SpamAssassin 3.0.x 版本

•2007/11/5 更新至 SpamAssassin 3.2.x 版本,并修改了大量用语

中文版翻译 - 中国反垃圾邮件联盟 (http://anti-spam.org.cn) 王兴宇

如果译文中有任何错误,欢迎给我发邮件指出,不胜感激。如果希望讨论 SpamAssassin 的相关内容,请到中国反垃圾邮件联盟论坛的 SpamAssassin 版讨论。

译文版本 - 2.0 (最后更新日期:2007/11/27)

名词注释:

邮件服务器和中继服务器

•邮件服务器,即 MX (Mail Exchange),是域或主机的 MX 记录所指向的主机,从功能上来说,邮件服务器(MX)是指接收从其它使用 SMTP 协议发过来邮件的主机。

•中继服务器,即 Relay,是指用来从上游接收邮件,然后将其发送到下游的主机。

通常,邮件服务器(MX)和中继服务器是同一个主机,并使用同一个 IP 地址,但是经常也会有分别处于不同主机和 IP 的情况。

本文中,个别情况下,邮件服务器也统称这两种情况,请依据上下文语义判断。

正常邮件和垃圾邮件

•正常邮件,即 ham ,是指被认定为非垃圾邮件的电子邮件。

•垃圾邮件,即 spam ,是指被认定为垃圾邮件的电子邮件。

 

--------------------------------------------------------------------------------

格式

  # 注释文本  rewrite_header Subject          *****SPAM*****  full PARA_A_2_C_OF_1618         /Paragraph .a.{0,10}2.{0,10}C. of S. 1618/i

  describe PARA_A_2_C_OF_1618     Claims compliance with senate bill 1618(根据上议院第1618号法令)  header FROM_HAS_MIXED_NUMS      From =~ /\d+[a-z]+\d+\S*@/i

  describe FROM_HAS_MIXED_NUMS    From: contains numbers mixed in with letters(From: 信头中混和了数字)  score A_HREF_TO_REMOVE          2.0  lang es describe FROM_FORGED_HOTMAIL Forzado From: simula ser de hotmail.com(西班牙语:“信件假称其来自Hotmail.com”)  lang pt_BR report O programa detetor de Spam ZOE [...] ( 波兰语: 检测到了垃圾邮件)

--------------------------------------------------------------------------------

描述

SpamAssassin 使用传统的UNIX风格的配置文件,并从 /usr/share/spamassassin 和 /etc/mail/spamassassin 目录中读取这些配置文件。

以下地址列出了 SpamAssassin 配置中最重要的选项,建议初次使用者首先阅读:

  http://wiki.apache.org/spamassassin/Imp … onfigItems

--------------------------------------------------------------------------------

文件格式

以 # 开始的一行是注释。注意:如果 # 字符用于规则或配置选项中,必须使用斜线转义,即:\#

文件中的空白字符是无所谓的,但是最好不要放在行首,因为将来可能使用行首空白来表示续行。

不过在当前,每个规则或配置必须放在一行,多行仍然不被支持。

文件和目录的路径中能使用 ~ 字符来表示用户的主目录,但是不支持其它的 shell 风格的路径扩展,如通配符或 ~user/。

以下在适当的情况下,默认值会被列在括号中。

 

 

--------------------------------------------------------------------------------

使用者参考

以下选项能被用于站点级配置(local.cf)和用户级配置(user_prefs)中,通过它们可以定制 SpamAssassin 处理进入的邮件的方式。

 

评分选项

required_score n.nn (默认值: 5)

设定一个邮件被判定为垃圾邮件的分数线。n.nn 可以是整数或者实数。 默认值为5.0,这是很严厉的设置了,它适用于单个用户使用;但是对于应用于整个服务器,应该设置得更保守一些(更高一些),比如设置为8.0或10.0等等。通常不推荐设置为自动删除或丢弃那些被判定为垃圾邮件的邮件,否则可能招致用户的强烈抗议;除非评分特别的高,比如15.0或者更高,才可以考虑直接删除。这个选项以前称之为 required_hits ,现在虽然还可以用,但是不推荐使用旧的名称。

score 测试规则名 n.nn [ n.nn n.nn n.nn ]

指定一个测试规则的评分(命中后的评分)。评分可以是正的或者负的整数或实数。测试规则名是一个测试规则的名称,如: FROM_ENDS_IN_NUMS 。

如果只列出了一个评分,那么测试后总是返回该评分。

如果列出了4个评分,那么 SpamAssassin 在不同的使用情况下返回不同的评分。第一个评分用于贝叶斯测试和网络测试都被取消的情况下(0号评分集);第二个评分用于贝叶斯测试被取消,但使用网络测试的情况下(1号评分集);第三个评分用于使用贝叶斯测试,但网络测试被取消的情况下(2号评分集);第四个评分用于贝叶斯测试和网络测试都使用的情况下(3号评分集)。

设置一个测试规则的评分为0会取消该规则的测试。

如果评分使用括号“()”括起来,那么该行所有其后的评分都被增加同等的比例。例如,“(3)”表示在所有的评分集中提高该评分3点。“(3) (0) (3) (0)”表示只提高0号和2号评分集3点评分。

如果一个测试规则没有给定评分,它将会被指定一个默认评分1.0;除非是以“T_”开头的测试规则(用于指出该测试规则还在试验中),它会被指定为评分0.01。

注意,以“__”开头的测试规则名是一个间接规则,它被用于组成元匹配规则和作为其它规则的前置测试,这些规则不会被计算评分也不会列在“命中的测试”报告中。注意,虽然间接规则的评分不会被计算,但是设置间接规则的评分为0会取消该规则的测试。

 

白名单和黑名单选项

whitelist_from 邮件地址

它用于指定通常被误判为发送的垃圾邮件的发信地址。

并不推荐使用这个选项,垃圾邮件或钓鱼邮件的发送者非常简单的就可以制造一些让它盲目信任的邮件。推荐的解决方法是使用 whitelist_auth 或其它认证的白名单方式替代,或使用 whitelist_from_rcvd。

白名单和黑名单都可以使用通配符。如 friend@somewhere.com 、 *@isp.com 或 *.domain.net 都是可以的。需要注意的是只支持 * 和 ? (匹配单个字符),但是不支持其他的元字符匹配。由于一些安全的原因,这里也不支持正则表达式。

可以在一行中使用空格分隔开写入多个邮件地址,也可以使用多个 whitelist_from 行来指定。

信头的白名单检查按照如下顺序:如果信头设置了 Resent-From 地址,那么就检查它;否则检查来自下列信头的全部地址:

        Envelope-Sender

        Resent-Sender

        X-Envelope-From

        From此外,如果SMTP通讯中的信封信息可用的话,那么“信封发件人(envelope sender)”也会被检查。参见 envelope_sender_header 。

范例:

  whitelist_from joe@example.com fred@example.com

  whitelist_from *@example.com

unwhitelist_from 邮件地址

它用于覆盖一个默认的 whitelist_from 选项。举例说,在 local.cf 中指定了一个站点级通用的白名单地址 whitelist_from ,用户可以在他的 user_prefs 中可以使用这个选项来覆盖那个通用的白名单地址选项。这个选项所匹配的邮件地址也必须同样被前面的 whitelist_from 选项所匹配。

范例:

  unwhitelist_from joe@example.com fred@example.com

  unwhitelist_from *@example.com

whitelist_from_rcvd 邮件列表地址 中继服务器的反向解析名

它是对 whitelist_from 的补充,用来对“Received”信头进行检查。 第一个参数是一个白名单的地址,第二个参数用于匹配该邮件的中继服务器的反向DNS解析名称。

第二个参数用于在邮件从互联网发送到你的内部网的邮件服务器(MX)时进行的反向DNS查询匹配。它可以是一个完全限定的主机名或主机名的域部分,换言之,如果连接到你的邮件服务器(MX)的主机的IP可以被反向解析为“sendinghost.spamassassin.org”,那么你可以写为 sendinghost.spamassassin.org 或 spamassassin.org 。

注意,这需要你的 internal_networks 被正确配置。简言之,除非在一个复杂的网络里,设置这个参数可以得到不错的效果。

同时,也要求你的邮件服务器(MX)可以对连接进来的服务器的IP地址进行反向查询,且将查询结果记录在“Recevied”信头中。

范例:

  whitelist_from_rcvd joe@example.com  example.com

  whitelist_from_rcvd *@axkit.org      sergeant.org

def_whitelist_from_rcvd 邮件列表地址 中继服务器的反向解析名

类似于 whitelist_from_rcvd,但是它用于在 SpamAssassin 发行包中指定默认白名单。这个白名单的评分较低,它常常是垃圾邮件发送者假称的地址。

whitelist_allows_relays 邮件地址

指定 whitelist_from_rcvd 中的哪些邮件地址可以不使用 white_from_rcvd 中对应的邮件中继发信,而使用其它的中继服务器发信。默认情况下,发信地址在 white_from_rcvd 中,但是中继服务器却不是列出的那个,这种情形会触发一个测试伪造的规则。将该地址放入到 white_allows_relay 中防止触发。

白名单和黑名单都可以使用通配符。如 friend@somewhere.com , *@isp.com ,或 *.domain.net 都是可以的。需要注意的是只支持 * 和 ? (匹配单个字符),不支持其他的元字符匹配。由于安全的原因,这里不支持正则表达式。

可以在一行中使用空格分隔写入多个邮件地址,也可以使用多个 whitelist_allows_relays 行来指定。

这里列出的邮件地址不必被前面的 whitelist_from_rcvd 所完全匹配,它只需要匹配信头中的地址就行。

范例:

  whitelist_allows_relays joe@example.com fred@example.com

  whitelist_allows_relays *@example.com

unwhitelist_from_rcvd 邮件地址

它用于覆盖 whitelist_from_rcvd 选项。举例说, SpamAssassin 发行包中的默认 whitelist_from_rcvd 能够被 local.cf 中的这个选项覆盖,或者用户也可以在他的 user_prefs 中使用这个选项来覆盖 whitelist_from_rcvd 。

所匹配的地址也必须同样被前面的 whitelist_from_rcvd 选项所匹配。

范例:

  unwhitelist_from_rcvd joe@example.com fred@example.com

  unwhitelist_from_rcvd *@axkit.org

blacklist_from 邮件地址

它用于指定那些通常被漏判为正常邮件的垃圾邮件发送地址。格式与 whitelist_from 相同。

unblacklist_from 邮件地址

它用于覆盖 blacklist_from 选项。举例说, SpamAssassin 发行包中的默认 blacklist_from 能够被 local.cf 中的这个选项覆盖,或者用户也可以在他的 user_prefs 中使用这个选项来覆盖 blacklist_from 。

所匹配的地址也必须同样被前面的 blacklist_from 选项所匹配。

范例:

  unblacklist_from joe@example.com fred@example.com

  unblacklist_from *@spammer.com

whitelist_to 邮件地址

如果给定的地址出现在信头中的收信人那里(Resent-To, To, Cc, 明显的信封收件人等),邮件将作为正常邮件处理。 它常用于整个站点使用了 SpamAssassin 但是某些用户不希望他们的任何邮件被过滤。与 whitelist_from 的格式相同。

有三个级别的接收白名单:whitelist_to 、 more_spam_to 和 all_spam_to 。 在第一个接收白名单中的用户仍然可能会被过滤一些垃圾邮件,但是在 all_spam_to 的用户不会被过滤任何垃圾邮件。

白名单信头检查将按照如下顺序,如果设置了 Resent-To 或 Resent-Cc 就使用它们;否则检查来自下列信头中的全部地址:

        To

        Cc

        Apparently-To

        Delivered-To

        Envelope-Recipients

        Apparently-Resent-To

        X-Envelope-To

        Envelope-To

        X-Delivered-To

        X-Original-To

        X-Rcpt-To

        X-Real-To

more_spam_to 邮件地址

参见上面。

all_spam_to 邮件地址

参见上面。

blacklist_to 邮件地址

如果给定的地址出现在信头的收件人中(Resent-To, To, Cc, 明显的信封收件人等),邮件将被作为垃圾邮件处理。与 blacklist_from 的格式相同。

whitelist_auth 邮件地址

它用于指定通常被误判为发送的垃圾邮件的发信地址。与 whitelist_from 和 whitelist_from_rcvd 不同的是,在监测白名单前会首先会检查邮件是否是授权的发信人。

授权检查是通过安装的发信人授权检查模块之一进行的: SPF (使用 Mail::SpamAssassin::Plugins::SPF)、 Domain Keys (使用 Mail::SpamAssassin::Plugins::DomainKeys) 或 DKIM (使用 Mail::SpamAssassin::Plugins::DKIM)。注意,使用这个选项前这些插件必须激活并可以正常工作。