7

Я запускаю сканирование clamAV на коробке linux, используя эту команду:

$ 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

....

Что означают эти предупреждения, и я должен быть обеспокоен? Вентилятор ЦП периодически набирает обороты, то, что когда-либо происходит, кажется интенсивным ЦП.

3 ответа3

7

Ошибка синтаксического анализатора технически не является ошибкой ClamAV, а является ошибкой XML, обычно это проблема форматирования. Использование переполнения стека может помочь.

Но на самом деле я считаю проблемой размер файла, который вы пытаетесь отсканировать. Взгляните на страницу Man ClamAV. Вы увидите, что есть флаг --max-filesize. По умолчанию установлено значение 25 МБ (для предотвращения атак DOS).

Если я сделаю предположение, ваш XML-файл больше 25 МБ (прибл. 27MB), и когда вы пытаетесь прочитать его, он не может пройти весь путь и обрезать важную информацию, поэтому вы получаете предупреждение ClamAV о том, что оно достигло своего предела, и предупреждение XML о том, что формат неправильный.

Пытаться:

sudo clamscan --max-filesize=30M -r -l ClamScanLog -i /
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_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);)

2

Максимальный размер файла по умолчанию составляет 25M, он установлен в:

/etc/clamav/clamd.conf
MaxFileSize 25M

Он также может быть предоставлен clamscan в качестве аргумента командной строки следующим образом:

--max-filesize 100M

В файле man есть предупреждение о том, что не нужно отключать его или устанавливать слишком высоко.

Предупреждение: отключение этого предела или его слишком высокое значение может привести к серьезному повреждению системы.

Я не совсем уверен, что они имеют в виду. Единственные причины, по которым я не установил слишком высокое значение, это то, что вы не хотите использовать DOS для своей собственной системы или заполнять файловую систему, заставляя clamscan генерировать кучу временных файлов. Это довольно сильный язык, поэтому я буду постепенно увеличиваться и тестировать по ходу дела. Если вы используете clamav в качестве сканера электронной почты, вам не нужно сканировать файлы, размер которых превышает размер вашего почтового сервера, но если вы используете его для сканирования файловой системы, возможно, вы захотите увеличить его.

Также есть настройка максимального размера сканирования (это относится к сжатым файлам с большими файлами внутри --clamav должен открыть файл, затем открыть и просканировать каждый подфайл). Scanansize устанавливает максимальный предел для файла плюс все его содержимое. Вы устанавливаете это с помощью:

--max-scansize=250M

или в конфигурационном файле, указанном выше

MaxScanSize 250M

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .