Sun Java System Messaging Server 6 2005Q4 管理指南

使用 Symantec Anti-Virus Scanning Engine (SAVSE)

本节除了介绍如何部署 SAVSE 之外,对部署其他支持 ICAP 的反垃圾邮件/反病毒程序也很有用。本节包含以下几个部分:

SAVSE 概述

SAVSE 是 TCP/IP 服务器应用程序和通信应用程序编程接口 (API),它提供了病毒扫描服务。SAVSE 是专门为保护通过网络基础设施设备来服务或存储在网络基础设施设备中的通信而设计的,它将检测并防止包括移动代码和压缩文件格式在内的所有主要文件类型中的病毒、蠕虫和特洛伊木马。有关详细信息,请参阅 Symantec 的 Web 站点。


注 –

Messaging Server 的当前版本仅支持 SAVSE 的扫描功能。不支持修复或删除功能。


SAVSE 要求和使用注意事项

SAVSE 是获得 Symantec 的单独许可的产品。

仅支持扫描模式,而不支持 SAVSE 配置中的扫描与修复模式或者扫描与删除模式。

在哪些系统中运行 SAVSE?

SAVSE 或其他支持 ICAP 的服务器可以在其自己的单独系统上、单一系统部署中与 Messaging Server 相同的系统上或两层部署中与 MTA 相同的系统上运行。如果在 MTA 和邮件存储之间使用本地邮件传输协议 (LMTP),则必须从 MTA 中调用过滤。不能从邮件存储中调用过滤。如果在 MTA 和邮件存储之间使用 SMTP,则既可以从 MTA 也可以从邮件存储中调用过滤,并且 SpamAssassin 可以在上述系统或单独的第三方系统中运行。

如果要使用运行了 SAVSE 的多个服务器,则必须在这些服务器的前面使用负载平衡器。配置 MTA,使其仅有一个 SpamAssassin 服务器地址。

部署 SAVSE

执行以下步骤以部署 SAVSE。

SAVSE 配置示例

以下示例将测试传入到本地邮件存储的邮件并放弃附带病毒的邮件。可以按照任何顺序来执行前三个步骤。

Procedure配置 SAVSE

步骤
  1. 创建 SAVSE 配置文件。

    下一步骤中指定了此文件的名称和位置。此处使用的名称为 SAVSE.opt。此文件的示例如下所示:


    host=127.0.0.1
    port=1344
    mode=0
    verdict=virus
    debug=1
                      

    hostport 分别指定运行 SAVSE 程序的系统的名称和侦听外来请求的端口(SAVSE 的默认端口为 1344)。mode=0 指定如果系统认为邮件带有病毒,则返回一个由 verdict 指定的字符串(此示例中该字符串为 virus)。debug=1 启用调试。有关 ICAP 配置参数的说明,请参见SAVSE 选项

  2. 创建 option.dat 文件。示例:


    ! for Symantex Anti-virus Scan Engine
    spamfilter1_config_file=/opt/SUNWmsgsr/config/SAVSE.opt
    spamfilter1_library=/opt/SUNWmsgsr/lib/libicap.so
    spamfilter1_optional=1
    spamfilter1_string_action=data:,discard
                      

    spamfilter1_config_files 指定 SAVSE 配置文件。

    spamfilter1_library 指定 SAVSE 共享库的位置。

    spamfilter1_optional=1 指定 SAVSE 程序失败时,MTA 将继续运行。

    spamfilter1_string_action 指定对垃圾邮件采取的 Sieve 操作。该值指定带有病毒的邮件将被放弃。因为这是默认值,所以无需指定,除非您要更改此值。

  3. 指定要过滤的邮件。

    要过滤传入到本地邮件存储的所有邮件,请通过在 ims-ms 通道中添加 destinationspamfilter1optin spam 关键字来更改 imta.cnf 文件:


    !
    ! ims-ms
    ims-ms defragment subdirs 20 notices 1 7 14 21 28 backoff "pt5m" "pt10m"
    "pt30m" "pt1h"  "pt2h" "pt4h" maxjobs 4 pool IMS_POOL fileinto
    $U+$S@$D destinationspamfilter1optin virus
    ims-ms-daemon
  4. 重新编译配置并重新启动服务器。只需要重新启动 MTA。无需执行 stop-msg


    # imsimta cnbuild
    # imsimta restart
    
  5. 请确保已启动 SAVSE。

    SAVSE 应已自动启动,但是如果没有自动启动,则可使用与下面的命令类似的命令:/etc/init.d/symcscna start

其他可能的配置

mode 设置为 0 可以与 spamfilterX_null_option 一起使用,以进行其他操作(例如,将被确定为垃圾邮件的邮件归档至特定文件夹)。例如:

spamfilter1_null_option=data:,require "fileinto"; fileinto "VIRUS";

请注意,大多数情况下最好不要将被感染的邮件归档到一个文件夹中。

mode 设置为 1 可用于启动一个操作。例如,可以将垃圾邮件结果包含到拒绝邮件中,方法是将 mode 设置为 1,并将 MTA 中的 spamfilterX_string_action 选项设置如下:

spamfilter1_string_action=data:,require "reject"; reject "Message contained a virus [$U]";

fileinto 一样,使用 reject 操作来处理病毒并不是一个好的方法,因为它会将病毒发回给发件人。

还可以通过在 option.dat 文件中添加一行,来向垃圾邮件标题中添加标记。示例:

spamfilter1_string_action=data:,addtag "[SPAM detected!]";

无需考虑邮件是否被确认带有病毒而尽管采取操作的情况下,可以将 mode 设置为 2。随后可以被测试的标题字段的添加是明显的 mode 2 应用程序:

spamfilterX_string_action=data:,require ["addheader"];addheader "$U"

SAVSE 选项

SAVSE 选项文件是更为通用的 ICAP 选项文件。其名称和位置由 option.dat 中的 spamfilterX_config_file 进行设置。它由形式为 option=value 的行组成。必需的一个选项为 HOST。必须将其设置为运行 ICAP 过滤服务器的系统的名称。必须设置此选项,即使 ICAP 服务器正在本地主机上运行。选项文件如下所示:

表 14–6 ICAP 选项

选项 

说明 

默认值 

debug

从 ICAP 界面模块启用或禁用调试输出。0 或 1。 

field

指定 ICAP 结果的前缀。SAVSE 结果字符串类似于如下所示: 

Virus-Test: False Virus-Test: True; W32.Mydoom.A@mm.enc

此选项提供一种更改结果中 Virus-Test: 部分的方法。请注意,如果指定 field 的值为空,则将删除 ":"。

Virus-test 

host

运行 ICAP 过滤服务器的系统的名称 

localhost 

mode

控制 ICAP 过滤器结果向结论信息的转换。即,指定在处理邮件后要返回的字符串信息。可以使用以下四种模式。有关详细说明,请参见ICAP mode 选项

0—如果邮件包含病毒,则返回结论字符串(由 verdict 选项指定)。MTA 选项 spamfilterX_string_action 可用于指定返回 verdict 字符串时要执行的操作。如果 verdict 选项为空或未指定,则返回空结论。MTA 选项 spamfilterX_null_action 可用于指定返回结论为空并要覆盖“放弃邮件”的默认操作时所要采取的操作。

如果邮件不带有病毒,则返回默认字符串。默认字符串是不可配置的,并且始终意味着不采取任何操作并照常传送。 

1—如果发现邮件包含病毒,则返回 ICAP 结果字符串。如果邮件不带有病毒,则返回默认字符串。默认字符串始终意味着不采取任何操作并照常传送。以下是两个 ICAP 结果字符串的示例:

VIRUS TEST: FALSEVIRUS-TEST: TRUE; W32.Mydoom.A@mm.enc

2—无条件返回 ICAP 结果字符串;不返回默认结论或空结论,并且从不使用 verdict 选项。此设置可用于只需要进行操作而无需考虑邮件是否已被确定为带有病毒。随后可以被测试的标题字段的添加是明显的 mode 2 应用程序:

spamfilterX_string_action=data:,require ["addheader"];addheader "$U"

3—如果发现邮件包含病毒,则返回 ICAP 结果字符串;否则,返回由 verdict 选项指定的 verdict 字符串。此设置用于在发现病毒时进行一种操作;而在未发现病毒时进行另一种操作。可以通过使用 spamfilterX_verdict_nspamfilterX_action_n 匹配对来控制针对 ICAP 结果字符串所采取的操作。可以通过使用 spamfilterX_string_action 来控制针对 verdict 字符串所采取的操作。

port

指定运行 ICAP 服务器的端口号。

1344 

SOCKS_HOST

字符串。指定中间 SOCKS 服务器的名称。如果指定了此选项,则间接通过指定的 SOCKS 服务器建立 ICAP 连接。 

"" 

SOCKS_PORT

整数。指定运行中间 SOCKS 服务器的端口。 

1080 

SOCKS_PASSWORD

字符串。指定通过 SOCKS 服务器建立连接所使用的密码。是否需要用户名/密码取决于 SOCKS 服务器配置。 

"" 

SOCKS_USERNAME

字符串。指定通过 SOCKS 服务器建立连接所使用的用户名。 

"" 

verdict

指定用于 MODE 0 和 3 的结论字符串。 

"" 

ICAP mode 选项

处理完邮件后,与 SASVE 相同,ICAP 反病毒程序将确定邮件是否带有病毒。mode 允许您指定由 ICAP 程序返回的表示结论的字符串。字符串选项为空字符串默认字符串ICAP 结果字符串verdict 字符串(使用 verdict 选项指定)。请注意,默认字符串既不是空字符串、ICAP 结果字符串,也不是由 verdict 指定的字符串,而是由程序返回的其他不可配置的字符串。下表概述了 mode 操作。

表 14–7 针对 ICAP mode 选项返回的结论字符串

verdict\ 设置

是否包含病毒? 

mode=0

mode=1

mode=2

mode=3

verdict=""(未设置)

是 

空 

ICAP 结果 

ICAP 结果 

ICAP 结果 

否 

默认 

默认 

ICAP 结果 

默认 

verdict=字符串

是 

verdict string

ICAP 结果 

ICAP 结果 

ICAP 结果 

否 

默认 

默认 

ICAP 结果 

verdict string

第一列表示是否设置了 verdict 选项。第二列表示邮件是否包含病毒。mode 列表示针对各种 mode 返回的字符串。例如,如果未设置 verdict,并将 mode 设置为 0,且邮件不带有病毒,则 ICAP 程序返回默认字符串。如果将 verdict 设置为 WARNING VIRUS!,并将 mode 设置为 0,且邮件带有病毒,则 ICAP 程序返回字符串 WARNING VIRUS!