我正在 Linux 机器上运行 clamAV 扫描,使用以下命令:
$ sudo clamscan -r -l ClamScanLog -i /
[sudo] password for e:
msxml.xml:14: parser error : Extra content at the end of the document
^
LibClamAV Warning: check_state[msxml]: CL_EPARSE @ ln304
LibClamAV Warning: cli_msxml_parse_document: encountered issue in parsing xml document
LibClamAV Warning: cli_scanxz: decompress file size exceeds limits - only scanning 27262976 bytes
....
这些警告是什么意思?我应该担心吗?CPU 风扇周期性地加速运转,无论发生什么,似乎都会占用大量 CPU。
答案1
从技术上讲,解析器错误不是 ClamAV 错误,而是 XML 错误,通常是格式问题。使用 stack overflow 可能会帮助。
但我认为真正的问题是您尝试扫描的文件大小。看看ClamAV 手册页。您会看到有一个 --max-filesize 标志。默认值为 25MB(以防止 DOS 攻击)。
如果我对此进行猜测,您的 XML 文件大于 25MB(约 27MB),并且当您尝试读取它时,它无法完全读取并切断重要信息,因此您会收到 ClamAV 警告,提示它已达到限制,并且 XML 警告提示格式不正确。
尝试:
sudo clamscan --max-filesize=30M -r -l ClamScanLog -i /
答案2
LibClamAV 警告:cli_scanxz:解压缩文件大小超出限制 - 仅扫描 27262976 字节
ClamAV 和所有其他防病毒软件一样,无法扫描超过一定容量的文件。上面的消息只是警告您 ClamAV 遇到了巨大的文件,无法扫描。如果您感兴趣,请查看文档中 ClamAV 可以正确处理的文件大小的默认值。
LibClamAV 警告:cli_msxml_parse_document:解析 xml 文档时遇到问题
如果你检查这个源代码文件使用 ClamAV,您将在线找到484
:
else if (ret == CL_VIRUS || ret == CL_ETIMEOUT || ret == CL_BREAK) {
cli_dbgmsg("cli_msxml_parse_document: encountered halt event in parsing xml document\n");
break;
} else {
cli_warnmsg("cli_msxml_parse_document: encountered issue in parsing xml document\n");
break;
}
您可能会注意到(在检查了用作返回值的标志CL_VIRUS
、CL_ETIMEOUT
和的含义后),您会发现这可能是由于对给定文件的扫描过程花费了很长时间、由于某种原因停止或CL_BREAK
不太可能是一个病毒文件(我说不太可能关于同一文件的第 481 行)。此警告消息也可能因 ClamAV 无法识别的意外原因而触发。知道(第 488 行)。请记住,所有这些警告都与解析 XML 文档有关。
LibClamAV 警告:check_state[msxml]: CL_EPARSE @ ln304
在libclamav/msxml_parser.c文件中,您可以看到,当 ClamAV 在一个 XML 文件内容节点附近遇到问题时,会引发此警告 ( state = xmlTextReaderNext(reader);
)
答案3
默认最大文件大小为25M,设置在:
/etc/clamav/clamd.conf
MaxFileSize 25M
它也可以作为命令行参数提供给 clamscan,如下所示:
--max-filesize 100M
手册文件中有一个警告,关于不要禁用它或将其设置得太高。
警告:禁用此限制或将其设置得太高可能会导致系统严重损坏。
我不太清楚他们的意思。我发现不要将这个值设置得太高的唯一原因是你不想对自己的系统进行 DOS 操作,或者让 clamscan 生成一堆临时文件来填满你的文件系统。不过,这话说得太过分了,所以我会逐渐增加这个值,并在进行过程中进行测试。如果你使用 clamav 作为电子邮件扫描器,则不需要扫描大于邮件服务器接受的文件,但如果你使用它来扫描文件系统,则可能需要将其提高。
还有一个最大扫描大小的设置(这适用于包含大文件的压缩文件——clamav 需要打开文件然后打开并扫描每个子文件) scansize 设置文件及其所有内容的最大限制。您可以使用以下方式设置:
--max-scansize=250M
或者在上面列出的配置文件中
MaxScanSize 250M