这个clamAV消息是什么意思?


7

我正在使用此命令在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
你不应该对粉丝感到惊讶。病毒扫描 CPU密集型的。
蒂尔曼施密特

@TilmanSchmidt也许你想发一个答案吗?听起来你有一些有用的话要说。
jorfus 2016年

一切都说了。我认为另一个答案不会增加任何相关内容。
蒂尔曼施密特2016年

Answers:


8

解析器错误在技术上不是ClamAV错误,而是XML错误,通常是格式问题。使用堆栈溢出可能帮助

但我认为真正的问题是你要扫描的文件大小。看看ClamAV Man页面。你会看到有一个--max-filesize标志。默认值为25MB(防止DOS攻击)。

如果我对此进行猜测,那么你的XML文件大于25MB(大约27MB),当你试图读取它时,它无法完全通过并切断重要信息,因此你有ClamAV警告它达到了它的极限以及格式不正确的XML警告。

尝试:

sudo clamscan --max-filesize=30M -r -l ClamScanLog -i /

1
实际上我猜测XML错误消息和“大小超出限制”消息来自不同的文件。
蒂尔曼施密特2015年

3

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_VIRUSCL_ETIMEOUTCL_BREAK用作返回值),你会发现,这可能是造成或者通过扫描进程在给定的文件花了很长的时间,停止出于某种原因,或者是不太可能是病毒文件(我说不太可能是关于同一文件的481行)。由于ClamAV不知道的意外原因,也可以触发该警告消息(第488行)。请记住,所有这些警告都与解析XML文档有关。

LibClamAV警告:check_state [msxml]:CL_EPARSE @ ln304

libclamav / msxml_parser.c文件中,您可以看到当ClamAV遇到一个XML文件内容节点周围的问题时会引发此警告(state = xmlTextReaderNext(reader);


给我个机会!这实际上是不正确的。ClamAV可以扫描更大的文件。它只是配置为不这样做,以防止DOS攻击。XML解析消息是一个单独的问题。
蒂尔曼施密特2015年

@TilmanSchmidt感谢您的评论。你说它设置为扫描更大的文件:你在比较中使用更大的术语来表示我必须提到的值,但是我没有做的事情(即使我读了默认设置的值,但我没有提到它因为我从来没有提到我没有从官方消息来源读到的东西)。那么为什么更大的原因呢?你可以在downvoting之前要求澄清; 你忘记了我在源代码中潜水的努力。特别是另一个答案集中在尺寸上,并说同样的事情,除非你有个人的东西。问候

Downvoting不是个人的事情,你不应该这样做。您的回答表明ClamAV 无法扫描超过某个不正确的卷的文件。另一个答案正确地说明它是一个可配置的限制,其唯一目的是限制资源消耗。你也误解了我的评论。我并没有说被设置为扫描更大的文件,但相反:它设置扫描更大的文件。
蒂尔曼施密特2015年

@TilmanSchmidt这更像是你做过的哲学干预:如果某些东西设置为限制,这个东西可以在不破坏设置的情况下克服其限制吗?我提到了设置问题,但我不想谈论它的原因。提到限制足以解释警告,而添加原因只是进一步的信息。有一个愉快的晚上/天

一点也不。程序可以执行的操作与程序可以配置的内容之间存在很大差异,即使它能够执行此操作也是如此。声明ClamAV 无法正确处理大文件意味着限制是由ClamAV的某些不足引起的,这是不正确的。用户(可能是在不知情的情况下)通过配置设置请求限制,并且尊重它正在处理文件。这不是哲学。它对如何处理该消息具有实际影响。
蒂尔曼施密特2015年

2

默认最大文件大小为25M,设置为:

/etc/clamav/clamd.conf
MaxFileSize 25M

它也可以作为命令行参数提供给clamscan,如下所示:

--max-filesize 100M

man文件中有一条警告,说明没有禁用它或设置得太高。

警告:禁用此限制或将其设置得太高可能会导致严重的系统损坏。

我不太确定他们的意思。我发现没有设置得太高的唯一原因是你不想通过让clamscan生成一堆临时文件来管理你自己的系统或填满你的文件系统。这是非常强大的语言,所以我会逐渐增加并测试我的去向。如果您使用clamav作为电子邮件扫描程序,则无需扫描大于邮件服务器接受的文件,但如果您使用它来扫描文件系统,则可能需要将其提升。

还有一个最大扫描大小的设置(这适用于内部有大文件的压缩文件--clamav需要打开文件然后打开并扫描每个子文件)scansize设置文件的最大限制及其所有内容。你设置:

--max-scansize=250M

或者在上面列出的配置文件中

MaxScanSize 250M
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.