WinWebMail是一种简单易用的邮件系统,经过不断的升级,现在最新的3.7版已经能够很好的支持各种常用的邮件服务功能。如:有比较完善的防垃圾邮件功能;与一些杀毒软件结合可以实现邮件防毒功能等。其中特别是邮件防毒功能非常实用,不像有些邮件系统使用防毒功能需要另外购买组件,还对杀毒软件的种类有较多限制。WinWebMail的邮件防毒功能可以方便的与许多常见的杀毒软件配合使用,也不需要单独增加组件,对于小型邮件系统不会额外增加成本。
目前WinWebMail可以与这些杀毒软件配合实现邮件防毒功能:McAfee 8.0和8.5、Symantec & Norton AntiVirus 8.x、BitDefender、KILL 安全胄甲、Panda Antivirus Platinum 熊猫卫士、Sophos Anti-Virus、F-Prot Antivirus for Windows、RAV AntiVirus Command Line、F-Secure Anti-Virus
、金山毒霸 V, VI, 2000, .NET, 2001, 2002、Trend ServerProtect v5 中文企业版、Trend PC-Cillin 2004 简体中文版。可供选择的杀毒软件种类众多,基本上函盖了服务器常用的一些杀毒软件产品。关于WinWebMail可以支持的杀毒软件产品详情请访问WinWebMail网站中“邮件防毒功能”页面:http://www.winwebmail.com/antivirus.html。
下面我谈谈WinWebMail与Kill安全胄甲配合实现邮件防毒功能中的一个问题。
比较流行的Kill安全胄甲基本上都是一些个人版,常见的有6.0、7.1等。WinWebMail通过命令行方式调用Kill命令行引擎Inocmd32.exe实现邮件防毒功能。6.0版中此文件的默认路径是:C:\Program Files\KILL\ScanEngine,7.1版中此文件的默认路径是:C:\Program Files\CA\SharedComponents\ScanEngine。
使用Kill 6.0实现邮件防毒功能的设置方法是:在WinWebMail管理程序主菜单上选择“系统设置”,在弹出的系统设置窗口中选择“超期设置”标签,选中“启用邮件防毒功能”,然后点击后面的“设置”按钮。在弹出的防毒设置窗口中,“杀毒产品名称”项选择“Kill 安全胄甲”,执行程序路径选择Inocmd32.exe的路径。保存后即具备了邮件防毒功能。可以下载eicar(一个无害的病毒测试程序),将这个测试程序的不同形式文件添加到邮件附件中发送,发件人均会收到系统自动回复的“病毒警告”邮件(需要在防毒设置窗口中选中“发现病毒邮件时通知发件人”)。为防止Kill误删WinWebMail路径下的邮件数据文件和临时文件,还需要在Kill实时监控选项中将WinWebMail的目录设置为排除。
按照以上方法设置后,在使用Kill7.1作为杀毒引擎时却不会收到系统自动回复的“病毒警告”邮件,说明WinWebMail的邮件防毒功能没有正常工作。详细检查了WinWebMail的各项设置没有发现问题,Kill命令行引擎文件Inocmd32.exe的路径也没有错误。打开WinWebMail的防毒设置配置文件“WinWebMail\adminmsg\KILL 安全胄甲.eav”可以看到其内容为:
Inocmd32.exe
-ARC -NEX -SFI -NOS %s
is infected by virus:
is infected by virus:
在命令行方式下运行6.0版的Inocmd32.exe文件,显示如下:
Usage:Inocmd32.exe [ -options ] file|directory|drive ...
-options:
: MOD <mod> Scan mode
<mod> can be one of: Secure or Reviewer (default Secure)
: ACT <action> Infected file action
<action> can be one of: Cure, Rename, Delete or Move
: EXE Specified files
(based on the InoculateIT 'Specified' extension list)
: EXC Exclude files
(based on the InoculateIT 'Exclude' extension list)
: ARC Scan archive files
: NEX Detect compressed files by content, not file extension
: NOS No subdirectory traverse
: FIL:<pattern> Only scan files that match <pattern> (shell wildcard)
: SCA <action> Special Cure Action (ACT must be set to Cure)
<action> can be one of: CB (Copy Before),
RF (Rename if cure fails) or MF (Move if cure fails)
: MCA <action> Macro Cure Action
<action> can be either: RA (remove all) or RI (remove infected)
: SPM <mode> Special Mode
<mode> can only be: H (heuristics)
: SFI Stop at first infection in archive
: SMF Scan migrated files
: INC Incremental scan
: SRF Skip regular file scanning of archives
: BOO Boot sector scan
: MEM Scan memory (currently running programs)
: LIS:<file> Create scan report file <file>
: APP:<file> Append scan report to file <file>
: VER Verbose mode
: QUI Count of scanned files rather than list
: SIG Display signature version numbers
: SIG:<dir> Display signature version numbers of
engine located in <dir>
: HEL or ? Display this help
file|directory|drive ...: Specify at least one file, directory or drive to scan
InoculateIT Signature version: vet.dat 30.07.3641 2007/05/18
Vet Signature version: vet.dat 30.07.3641 2007/05/18
在命令行方式下运行7.1版的Inocmd32.exe文件,显示如下:
InoculateIT 引擎版本: 30.07.00 2007-03-29
InoculateIT 特征码版本: vet.dat 30.07.3641 2007-05-18
Vet 引擎版本: 30.07.00 2007-03-29
Vet 特征码版本: vet.dat 30.07.3641 2007-05-18
用法:Inocmd32.exe [ -options ] file|directory||驱动器 ...
-options:
ENG <engine>
<engine> 可以是以下之一: Ino 或 Vet
MOD <mod> 扫描模式
<mod> 可以是以下之一: 安全或评论 (默认为安全模式)
ACT <action> 对受感染文件的操作
<action> 可以是以下之一: 报告、修复、重命名、删除或移动
EXE 指定的文件
(基于 Local Scanner 的 '指定' 扩展名列表)
EXC 排除的文件
(基于 Local Scanner 的 '排除' 扩展名列表)
ARC 扫描存档文件
NEX 按内容而不是按文件扩展名删除压缩文件
NOS 不遍历子目录
FIL:<pattern> 仅扫描同 <pattern> (shell 通配符) 匹配的文件
SCA <action> 特殊修复操作 (ACT 必须被设为修复操作)
<action> 可以是以下之一: CB (首先复制)、
RF (修复失败则重命名) 或 MF (修复失败则移动)
MCA <action> 宏修复操作
<action> 可以是以下之一: RA (全部删除) 或 RI (删除被感染的宏)
SPM <mode> 特殊模式
<mode> 可以是: H (启发式)
SFI 在存档包中检测到首个感染文件时停止
SMF 扫描迁移的文件
SRF 跳过对存档包的常规文件扫描
ARF 将扩展名过滤器应用于存档内容
BOO 启动扇区扫描
MEM 扫描内存 (当前运行的程序)
LIS:<file> 创建扫描报告文件 <file>
APP:<file> 将扫描报告文件附加到 <file> 文件之后
SYS 启用系统修复功能
对找到的任何已感染的并且同系统修复关联的文件,
调用系统修复功能。有关特定病毒的详细信息,
请访问
www.ca.com 上的病毒百科全书
同系统修复的可行性有关。在某些时候请多加注意
系统修复需要重启才能生效。
VER 详细模式
COU:<n> 发送消息,每 <n> 个扫描的文件
COU 每扫描 1000 个文件给出一条消息
SIG 显示特征码版本号
SIG:<dir> 显示位于 <dir> 下的引擎的
特征码版本号
HEL 或 ? 显示本帮助
文件|目录|驱动器 ...:
请至少指定一个要扫描的文件、目录或驱动器
这两个版本中相应命令行开关项的解释完全一致,看来也不是配置文件的问题。这样看来应该是Kill的问题。上bbs.5dmail.net问了一下,WinWebMail是通过分析Kill命令行引擎的杀毒日志来识别邮件中的病毒。看来可能是Kill改变了杀毒日志的保存格式,导致WinWebMail无法正确工作了。
所以目前对于WinWebMail而言,只能和Kill6.0版配合实现邮件防毒功能,不能和Kill7.1版配合实现。
上次分析发现由于Kill6.0与7.1版命令行引擎杀毒日志的保存格式不一样造成WinWebMail无法正确识别,从而无法实现邮件防毒功能。但是仔细分析了这两个版本的所有日志文件,发现并没有命令行引擎的杀毒日志。那么有可能WinWebMail并不是分析日志文件,而是直接分析命令行引擎杀毒输出结果来实现邮件防毒功能。
下面是Kill6.0版命令行引擎杀毒结果:
C:\Program Files\KILL\ScanEngine>Inocmd32.exe -ARC -NEX -SFI -NOS c:\temp\eicar.com.txt
File c:\temp\eicar.com.txt is infected by virus: the EICAR test string
Total Files Scanned: 1
Total Viruses Found: 1
Total Infected Files Found: 1
Scan Mode: Secure
*** End Of Summary ***
下面是Kill7.1版命令行引擎杀毒结果:
C:\Program Files\CA\SharedComponents\ScanEngine>Inocmd32.exe -ARC -NEX -SFI -NOS c:\temp\eicar.com.txt
文件 c:\temp\eicar.com.txt 被以下病毒感染: the EICAR test string
扫描的文件总数: 1
找到的病毒总数: 1
找到的受感染文件总数: 1
扫描模式: 安全
*** 概要结束 ***
从这两个结果可以发现Kill的确修改了命令行杀毒引擎的输出结果信息,把Kill6.0版的英文结果改为了Kill7.1版的中文结果。
还记得WinWebMail的防毒设置配置文件“WinWebMail\adminmsg\KILL 安全胄甲.eav”中有一句“is infected by virus:”,这应该就是WinWebMail识别病毒的关键字。而Kill6.0杀毒输出结果信息中有一句“File c:\temp\eicar.com.txt is infected by virus: the EICAR test string”,里面就含有这个关键字。在Kill7.1中这一句改为“
文件 c:\temp\eicar.com.txt 被以下病毒感染: the EICAR test string”。
停止WinWebMail的服务程序,把“KILL 安全胄甲.eav”中的关键字“is infected by virus:”都改为“被以下病毒感染:”。然后重启WinWebMail的服务程序,发送一封带有病毒附件的测试邮件,接收端的确没有收到刚才发送的测试邮件。在发送一份正常邮件,这次正常收到。
通过以上测试说明WinWebMail是通过分析Kill命令行杀毒引擎的输出结果信息来实现邮件防毒功能。直接修改WinWebMail的防毒设置配置文件就可以让WinWebMail支持Kill7.1版。不过这样修改之后WinWebMail不能在发现病毒邮件时通知发件人,这的确是一个小小的遗憾。
前面进行的所有测试都遗漏了一点,即使用的WinWebMail是3.6.2.1版。这是一个比较早的版本,当时的正式名称是EasyWebMail,从3.7版以后开始改名为WinWebMail。
前面测试中修改了WinWebMail的防毒配置文件后,已经可以正常过滤邮件中的病毒,但是无法将识别出的病毒信息反馈给发件人。将WinWebMail升级到最新的3.7.3.1版(2006年11月28日发布)后。再次发送带有病毒附件的测试邮件,这次发件人收到的WinWebMail返回的“病毒邮件警告”。
至此WinWebMail3.7.3.1版与Kill7.1版配合实现邮件防毒功能完全可以正常使用。