概要: 垃圾邮件会分散您的注意力,并可能使您成为骗子、钓鱼者和其他恶意行为者的受害者。

In this topic, you will learn how to protect against spam using the tools that come with Plesk.

The topic provides a short description of each tool’s function and clear instructions for using it. It does not provide information about configuring the tools for maximum effectiveness, because doing so requires specialist knowledge.

概要

Plesk提供了许多旨在防止垃圾邮件的工具:

  • SpamAssassin 垃圾邮件过滤器
  • DNS 黑名单
  • (Plesk for Linux) SPF, DKIM, and DMARC
  • (Plesk for Linux) Greylisting
  • (Plesk for Linux) Mail server black and white lists

不同的工具使用不同的方法来检测垃圾邮件,有不同的缺点,且消耗的服务器资源数量也不同。您可以同时使用多个工具,这使得每个垃圾邮件更有可能被检测到,但也增加了资源消耗和误报的可能性。

在选择使用哪个工具时,请考虑您的方案:

  • 您正在接收来自一个或多个指定电子邮件地址和/或域的垃圾邮件。
  • 您正在接收来自不同电子邮件地址和/或域的垃圾邮件。
  • 您想要确保来自指定电子邮件地址和/或域的邮件从不被标记为垃圾邮件。
  • 您想要确保从服务器发送的邮件不被视为垃圾邮件,或者您的域名不能被欺骗。

根据您的方案,一些工具可能比其他工具更有用。下面将更详细地描述在这些方案中可以使用的工具。

如果本主题中描述的每个工具都已启用,则它们将按照下图所示的顺序生效。此处绿色箭头表示检查通过,红色箭头表示检查失败。

Plesk for Linux

image flowchart linux

  1. 根据邮件服务器的黑名单检查发件人的域名。如果域名在黑名单里,则该消息将被拒绝。
  2. 根据邮件服务器白名单检查发件人的IP地址。如果IP 地址在白名单里,则该消息将跳过DNSBL检查。
  3. 如果发件人的IP地址不在邮件服务器白名单上,则会根据已配置的DNSBL名单进行检查。如果在该名单里,则该消息将被拒绝。
  4. 如果邮件是第一次提交交付的,灰名单会暂时拒绝它。
  5. 如果邮件被重新提交以交付,它将接受SPF检查、DKIM检查和DMARC检查。
  6. 如果邮件已经通过了之前的所有检查,它将被SpamAssassin 扫描(除非发送者的电子邮件地址或域名在SpamAssassin 的白名单上,或者邮件的大小超过了SpamAssassin 可以检查的最大大小)。

之后,邮件将被传递到收件人的邮箱。

Plesk for Windows

image flowchart windows

  1. 根据已配置的DNSBL名单检查发件人的IP地址。如果IP地址就在名单里,则该消息将被拒绝。
  2. 信息会被SpamAssassin 扫描(除非发送者的电子邮件地址或域名在SpamAssassin 的白名单上,或者邮件的大小超过了SpamAssassin 可以检查的最大大小)。

之后,邮件将被传递到收件人的邮箱。

防止来自指定电子邮件地址或域的垃圾邮件

如果您没有收到来自一个或多个指定电子邮件地址和/或域的任何合法邮件,只有垃圾邮件,最简单的方法就是阻止所有来自该地址或域的邮件。

(Plesk for Linux) Blocking all mail from a specific domain:

  1. 登录到 Plesk
  2. 进入 工具与设置,然后点击 邮件服务器设置(在 “邮件” 下)。
  3. 转到 “黑名单” 选项卡。
  4. 单击**添加域名**(如果列表中已经包含一个或多个域名,则单击 image plus icon 图标)。
  5. 指定域名(例如 example.com),然后单击**确定**。

来自指定域的所有邮件现在都将被邮件服务器拒绝。这包括垃圾邮件和合法的邮件。

(Plesk for Linux) Marking all mail from a specific email address or domain as spam:

  1. 登录到 Plesk
  2. 进入 工具与设置,然后点击 垃圾邮件过滤器(在 “邮件” 下)。
  3. 确保选中“启用服务器范围内的SpamAssassin垃圾邮件过滤”复选框。
  4. 转到 “黑名单” 选项卡。
  5. 单击**添加地址**,指定电子邮件地址(例如,“example@example.com”或“*@example.com”将来自example.com的所有邮件标记为垃圾邮件),然后单击**保存**。

将会对已启用 SpamAssassin 的所有邮件账户执行该操作:所有来自指定电子邮件地址或域的邮件现在将被SpamAssassin标记为垃圾邮件。这包括垃圾邮件和合法的邮件。一旦一条邮件被SpamAssassin标记为垃圾邮件,针对该邮件采取的具体行动将取决于SpamAssassin的设置(简单地将邮件标记为垃圾邮件,将其移动到“垃圾邮件”文件夹,或将其删除)。

(Plesk for Windows) Marking all mail from a specific email address or domain as spam:

  1. 登录到 Plesk
  2. 进入 工具与设置,然后点击 垃圾邮件过滤器(在 “邮件” 下)。
  3. 确保选中“启用服务器范围内的SpamAssassin垃圾邮件过滤”复选框。
  4. 转到 “黑名单” 选项卡。
  5. 单击**添加域名**(如果列表中已经包含一个或多个电子邮件地址,则使用 image plus icon 图标),指定电子邮件地址(例如,“example@example.com”或“*@example.com”将来自example.com的所有邮件标记为垃圾邮件)。
  6. 指定如何处理列表中包含的电子邮件地址中的邮件(标记为垃圾邮件或删除),然后单击**确定**。

将会对已启用 SpamAssassin 的所有邮件账户执行该操作:所有来自指定电子邮件地址或域的邮件现在将被标记为垃圾邮件或删除。这包括垃圾邮件和合法的邮件。

防止来自所有来源的垃圾邮件

如果您收到来自各种电子邮件地址和/或域的垃圾邮件,您可以使用许多工具来防止。这些工具都可以协同工作,因为不同的工具使用不同的方法来识别垃圾邮件。

(Plesk for Linux) Blocking Mail With Forged Sender Address

垃圾邮件通常会伪装,好似是从合法的企业或组织发送的。我们有理由假设,我们有理由假设,任何不是来自它假装来自的发件人的邮件都是不合法的。SPF(发件人策略框架)、DKIM(域密钥识别邮件)和DMARC(基于域的消息身份验证、报告和一致性)是用于识别此类邮件的三种机制。为了获得最佳结果,建议将这三种方法串联使用。

  • SPF依赖于域名所有者来创建一个TXT DNS记录,其中列出了被授权发送邮件的所有域名和IP地址。接收邮件服务器会验证发件人的IP地址是否对应于其中一个授权域的A或AAAA记录,并/或在TXT记录中列出的那些域中查找发件人的IP地址。如果没有匹配项,则SPF检查失败。
  • DKIM依赖于域所有者来配置其邮件服务器来签名所有发送的邮件。“发件人”字段必须签名,消息的其他部分也可以签名(例如,在发送过程中检测对消息内容的篡改)。该机制还依赖于所有者来创建一个包含相应公钥的TXT DNS记录。接收邮件服务器将根据公钥验证签名。如果验证不成功,则DKIM检查失败。
  • DMARC依赖域所有者创建一个TXT DNS记录,指定接收邮件服务器在SPF和/或DKIM检查失败时应该采取的操作。

因此,SPF和DKIM 会被用来识别非法邮件,DMARC 会建议如何处置。

了解更多关于在Plesk中使用DKIM、SPF和DMARC的信息

这种方法的好处是:

  • 该方式有效地过滤掉了具有伪造发件人地址的邮件。

此方法的缺点是:

  • 该方式依赖于域所有者来正确地配置其邮件服务器和DNS记录,并指定其DMARC策略。
  • 这样可能会干扰合法邮件的交付(例如,当邮件通过未进行配置正确重写发件人地址的邮件服务器进行转发时)。
  • 这无法阻止从配置正确的邮件服务器(例如,流行的免费电子邮件提供商,如Gmail,或Outlook)发送垃圾邮件。

使用SPF检查阻止垃圾邮件:

  1. 登录到 Plesk
  2. 进入 工具与设置,然后点击 邮件服务器设置(在 “邮件” 下)。
  3. 选中“启用SPF垃圾邮件保护以检查接收邮件”复选框,然后单击**确定**。

所有接收邮件现在都将根据本地SPF策略、本地SPF猜测规则和电子邮件来自的域的SPF策略进行SPF检查。对于每一个收到的电子邮件,Plesk邮件服务器将根据检查结果进行拒绝或添加一个SPF头。

使用DKIM检查阻止垃圾邮件:

  1. 登录到 Plesk
  2. 进入 工具与设置,然后点击 邮件服务器设置(在 “邮件” 下)。
  3. 在“DKIM垃圾邮件保护”下,选中“验证接收邮件”复选框,然后单击**确定**。

所有接收邮件现在都将接受DKIM检查。Plesk邮件服务器将为每个接收电子邮件添加一个DKIM标头。请注意,即使DKIM检查失败了,这本身也不会阻止电子邮件的发送。要采取进一步的行动,必须在Plesk服务器上启用DMARC检查,并且电子邮件来自的域必须发布其DMARC策略。

使用DMARC策略阻止垃圾邮件:

  1. 登录到 Plesk
  2. 进入 工具与设置,然后点击 邮件服务器设置(在 “邮件” 下)。
  3. 如上所述同时启用SPF和DKIM检查。
  4. 选中“启用DMARC以检查接收邮件”复选框,然后单击**确定**。

所有接收邮件现在都将接受SPF和DKIM检查,每封电子邮件的结果将取决于它来源的域名已发布的DMARC策略。

(Plesk for Linux) Rejecting Mail With Forged Sender Address

By default, when an incoming email fails the DMARC check, and the DMARC policy advises that the email should not be accepted for delivery, it is dropped silently. That is, the Plesk mail server replies to the client with a 2yz response code, and then discards the email without trying to deliver it to the recipient(s). You can configure the Plesk mail server to explicitly reject emails that fail the DMARC check with a 5yz response code.

Rejecting emails that fail the DMARC check:

  1. 通过 SSH 登录您的 Plesk 服务器。

  2. 运行以下命令:

    plesk bin settings -s mail_dmarc_reject_at_smtp=true && plesk repair mail -y
    

The Plesk mail server will now reject emails that fail the DMARC check with a 5yz response code.

使用 DNS 黑名单阻止垃圾邮件 (DNSBL)

许多组织正在维护已知来源的垃圾邮件的IP地址列表。您可以将Plesk配置为使用`一个或多个此类列表<https://www.dnsbl.info/dnsbl-list.php>`__来阻止来自这些IP地址的所有邮件。

注解: Plesk 不会对您应该使用哪个DNSBL列表提出任何建议。

了解更多关于在Plesk中使用DNSBL列表的信息

这种方法的好处是:

  • 您可以使用已知垃圾邮件发送者的现成列表。

此方法的缺点是:

  • DNSBL列表是手动更新的。一旦服务器开始发送垃圾邮件,在其IP地址被列入之前可能需要一段时间。
  • DNSBL列表对同时作为合法邮件和垃圾邮件来源的邮件服务器没有例外。使用DNSBL列表可能会导致合法的邮件无法发送。
  • 使用DNSBL列表,您则将接受或拒绝邮件的控制权移交给了第三方。

使用DNSBL列表阻止垃圾邮件:

  1. 登录到 Plesk
  2. 进入 工具与设置,然后点击 邮件服务器设置(在 “邮件” 下)。
  3. 选择 “启用基于DNS blackhole lists 的垃圾邮件防护功能” 复选框。
  4. 指定所需的DNSBL列表的DNS区域(例如 “dnsbl.example.com”),然后单击**确定**。

来自已配置黑名单中包含的所有服务器的所有接收邮件现在将被邮件服务器拒绝。这包括垃圾邮件和合法的邮件。

(Plesk for Linux) Blocking Spam Using Greylisting

当启用灰色列表时,Plesk邮件服务器将“暂时拒绝”所有j接收邮件,而不试图区分合法邮件和垃圾邮件。合法的、正确配置的邮件服务器将在一段时间后再次尝试发送暂时拒绝的邮件(在第二次尝试发送时,邮件将被Plesk邮件服务器接受)。恶意的或被黑客入侵的PHP脚本发送的垃圾邮件将不会实现。

了解更多关于如何在Plesk中使用灰名单的信息

这种方法的好处是:

  • 灰色名单可以过滤一些接收的垃圾邮件,减少阻止任何合法邮件的可能性。

此方法的缺点是:

  • 使用灰名单意味着所有合法邮件都会延迟后发送。延迟的时长是在源邮件服务器端进行配置的,不能在Plesk中进行管理。若电子邮件包含时间敏感信息,可能不利,也可能会引发电子邮件是否会被发送的担忧。
  • 在某些情况下,灰名单可能会导致合法邮件发送失败(例如,当从未配置在临时拒绝后重新尝试交付的邮件服务器发送合法邮件时)。
  • 灰名单不会阻止从配置正确的邮件服务器(例如,流行的免费电子邮件提供商,如Gmail,或Outlook)发送垃圾邮件。

使用灰名单阻止垃圾邮件:

  1. 登录到 Plesk
  2. 进入 工具与设置,然后点击 垃圾邮件过滤器(在 “邮件” 下)。
  3. 选择 “启用服务器级灰名单垃圾邮件过滤功能”复选框,然后点击**确定**。

所有接收消息,包括合法的和垃圾邮件,第一次抵达时将被Plesk邮件服务器暂时拒绝。

使用 SpamAssassin 阻止邮件

SpamAssassin通过大量预先配置的过滤器(例如,邮件是否包含与垃圾邮件相关的特定单词)来识别垃圾邮件。每次触发一个单独的过滤器时,该消息的SpamAssassin分数就会增加。如果分数达到或超过某一阈值,则该邮件将被标记为垃圾邮件或被删除。

了解更多关于在Plesk中使用SpamAssassin的信息

这种方法的好处是:

  • SpamAssassin并不依赖于第三方的行为。一个垃圾邮件假装来自一个没有SPF/DMARC策略的域,并且来自一个没有在任何DNSBL列表中出现的服务器,仍然可能被识别为垃圾邮件。
  • SpamAssassin是高度可配置的,尽管微调需要专业知识。

此方法的缺点是:

使用 SpamAssassin 阻止邮件:

  1. 登录到 Plesk
  2. 进入 工具与设置,然后点击 垃圾邮件过滤器(在 “邮件” 下)。
  3. 选择“启用服务器范围内的 SpamAssassin垃圾邮件过滤”复选框(在 Plesk for Windows 中 “启用服务器范围内的SpamAssassin 垃圾邮件过滤”)。
  4. (可选)要能够为个别邮件帐户启用、禁用和配置SpamAssassin,请选中“将个别设置应用于垃圾邮件过滤”复选框。
  5. (可选)要使过滤器更加严格,请降低“邮件必须接收认定为垃圾邮件的分数”字段的值。如果您想使过滤器不那么严格,那就增加值。使过滤器更严格,既降低了垃圾邮件通过的概率,也增加了误报的概率(当使过滤器不那么严格时,反之亦然)。默认的“7.0”值在大多数情况下是最优的。
  6. (Optional, Plesk for Linux) To reduce the amount of RAM SpamAssassin will consume on average, decrease the value of the “The maximum number of worker spamd processes to run” field. This may increase the time incoming mail sits in the queue waiting to be scanned by SpamAssassin before delivery. “One” is the lowest possible value, “five” is the highest.
  7. 点击 确定

所有一定大小(默认为256kB)的邮件将被扫描。怀疑为垃圾邮件的邮件将会修改其主题行(默认情况下,将添加文本”***SPAM***” )。

防止接收邮件被标记为垃圾邮件

用于打击垃圾邮件的工具并非绝对正确。有时,合法的邮件可能会被拒绝或标记为垃圾邮件。如果您经常面临来自某些电子邮件地址、域、IP地址或子网的合法邮件被拒绝或标记为垃圾邮件的情况,您可以微调您的工具,以减少发生此类事件的可能性。

注解: 如果在服务器上启用了SPF、DKIM和/或DMARC检查,则无法针对各个域或电子邮件地址有选择性地禁用它们。这同样适用于灰名单。

白名单IP地址和子网

您可以将单个IP地址或整个子网添加到邮件服务器白名单中。如下:

  • 来自白名单IP地址的邮件总是会被接受以发送。即使可以在一个或多个DNSBL列表中找到该IP地址,此类邮件也不会被拒绝。
  • 暂时被灰名单拒绝或者被SpamAssassin标记为垃圾邮件的来自白名单IP地址的邮件仍然有可能基于SPF/DKIM/DMARC检查的结果被拒绝。

(Plesk for Linux) Adding IP addresses to the mail server white list:

  1. 登录到 Plesk
  2. 进入 工具与设置,然后点击 邮件服务器设置(在 “邮件” 下)。
  3. 转到 “白名单” 选项卡。
  4. Click Add Network (or the image plus icon icon if there are already one or more IP addresses included in the list).
  5. 指定IP地址或IP地址范围,然后单击**确定**。

来自已添加的IP地址的邮件将不再被拒绝,除非发件人的域已被添加到邮件服务器的黑名单中,并且将跳过DNSBL检查。但该邮件仍然有可能被其他工具拒绝或标记为垃圾邮件。

白名单域和电子邮件地址

即使您已将垃圾邮件地址添加到邮件服务器的白名单中,电子邮件仍然可能被SpamAssassin标记为垃圾邮件。要阻止SpamAssassin扫描指定电子邮件地址或域名(电子邮件地址、域名和IP地址)的邮件,请将其添加到SpamAssassin白名单中。

(Plesk for Linux) Adding email addresses and domains to the SpamAssassin white list:

  1. 登录到 Plesk
  2. 进入 工具与设置,然后点击 垃圾邮件过滤器(在 “邮件” 下)。
  3. 转到 “白名单” 选项卡。
  4. Click Add Address.
  5. Upload a file containing the list of email addresses you want to whitelist. Alternatively, you can select the “From a list” radio button and enter one or more email addresses (for example, “example@example.com”, or “*@example.com”, and then click Save.

来自添加的电子邮件地址和域名的邮件将不再被SpamAssassin扫描。

(Plesk for Windows) Adding email addresses and domains to the SpamAssassin white list:

  1. 登录到 Plesk
  2. 进入 工具与设置,然后点击 垃圾邮件过滤器(在 “邮件” 下)。
  3. 转到 “白名单” 选项卡。
  4. Click Add Network (or the image plus icon icon if there are already one or more IP addresses included in the list).
  5. 指定 IP 地址、IP 地址范围和电子邮件地址(例如,mail@example.com)或域(例如,*@example.com),然后单击**确定**。

来自添加的IP地址和域名的邮件将不再被SpamAssassin扫描。

防止发送邮件被标记为垃圾邮件

您可以使用SPF和DKIM来减少发送邮件被收件人拒绝或被视为垃圾邮件的可能性。这还可以保护您的域名不被他人欺骗。这两种工具都可以开箱即用,而不需要进行进一步的配置。

默认会配置发送邮件的SPF。这可以防止垃圾邮件发送者欺骗Plesk服务器上的任何域名,并减少接收邮件服务器将接收邮件视为垃圾邮件的可能性(前提是接收邮件服务器配置为运行SPF检查)。

相应的TXT DNS记录包含在Plesk DNS区域模板中,因此也包含于在Plesk中创建的每个域的DNS区域中。默认的SPF记录具有以下值:

v=spf1 +a +mx +a:<hostname> -all

该工具会指示收件人邮件服务器拒绝来自在Plesk中托管的域的接收邮件,除非该邮件来自与该域的A和MX记录关联的IP地址,或与Plesk服务器本身的A记录关联。

注解: 您可以对单个域(通过编辑该域的SPF记录)和服务器上托管的所有域(通过编辑DNS模板并将更改传播到所有域)更改此策略。但是,不建议您这样做,除非您熟悉`SPF记录语法 <http://www.open-spf.org/SPF_Record_Syntax/>`__。配置错误的SPF记录可能会导致邮件服务器拒绝来自该域的邮件。

若要为单个域的发送邮件禁用SPF,请删除该域的SPF记录。要禁用服务器上托管的所有域的发送邮件的SPF,请从DNS模板中删除SPF记录,并将更改传播到所有域。

默认会在服务器上为发送邮件启用DKIM签名。还支持在Plesk中具有DNS和邮件主机的新域上启用该签名功能。

相应的TXT DNS记录包含在Plesk DNS区域模板中,因此也包含在在Plesk中创建的每个域的DNS区域中。所有从属于相关域的邮件帐户发送的邮件都会使用在相应的TXT DNS记录中找到的DKIM私钥进行签名。这降低了接收邮件服务器将此类邮件视为垃圾邮件的可能性(前提是接收邮件服务器已被配置为运行DKIM检查)。

注解: 默认情况下,使用外部DNS服务器的域无法启用DKIM。对于这些域,您需要手动启用 DKIM