Здравствуйте, установил postfix в связке с amavis и clamav в логах выводит следующие сообщения:Feb 22 15:07:54 mail amavis[11083]: (11083-02) (!)run_av (ClamAV-clamscan) FAILED - unexpected exit 2, output="LibClamAV Error: hm_addhash_str: invalid hash c054d3413083f5r74bcfe9e23523134d\nLibClamAV Error: cli_loadhash: Malformed hash string at line 108735\nLibClamAV Error: cli_loadhash: Problem parsing database at line 108735\nLibClamAV Error: Can't load daily.mdb: Invalid argument passed to function\nLibClamAV Error: cli_tgzload: Can't load daily.mdb\nLibClamAV Error: Can't load /var/lib/clamav/daily.cld: Malformed database\nERROR: Malformed database"
Feb 22 15:07:54 mail amavis[11083]: (11083-02) (!)ClamAV-clamscan av-scanner FAILED: /usr/bin/clamscan unexpected exit 2, output="LibClamAV Error: hm_addhash_str: invalid hash c054d3413083f5r74bcfe9e23523134d\nLibClamAV Error: cli_loadhash: Malformed hash string at line 108735\nLibClamAV Error: cli_loadhash: Problem parsing database at line 108735\nLibClamAV Error: Can't load daily.mdb: Invalid argument passed to function\nLibClamAV Error: cli_tgzload: Can't load daily.mdb\nLibClamAV Error: Can't load /var/lib/clamav/daily.cld: Malformed database\nERROR: Malformed database" at (eval 129) line 905.
Feb 22 15:07:54 mail amavis[11083]: (11083-02) (!!)AV: ALL VIRUS SCANNERS FAILED
Feb 22 15:08:09 mail amavis[10978]: (10978-06) (!)ClamAV-clamd av-scanner FAILED: run_av error: ask_daemon_internal: Exceeded allowed time at (eval 129) line 611.\n
Feb 22 15:08:09 mail amavis[10978]: (10978-06) (!)WARN: all primary virus scanners failed, considering backups
Feb 22 15:08:09 mail amavis[10973]: (!)policy protocol: INVALID AM.PDP ATTRIBUTE LINE: CONTSCAN /var/spool/amavisd/tmp/amavis-20160222T144841-10986-YtpKLVsB/parts\n
Подскажите в чем причина?
>Can't load /var/lib/clamav/daily.cld: Malformed database\nERROR: Malformed database
>Can't load /var/lib/clamav/daily.cld: Malformed database\nERROR: Malformed databaseпроизвести очистку баз ClamAV(удалить базы в var/lib/clamav/) и обновить по новой(freshclam), так же желательно чтобы ClamAV был тоже свежим
>>Can't load /var/lib/clamav/daily.cld: Malformed database\nERROR: Malformed database
>>Can't load /var/lib/clamav/daily.cld: Malformed database\nERROR: Malformed database
> произвести очистку баз ClamAV(удалить базы в var/lib/clamav/) и обновить по новой(freshclam),
> так же желательно чтобы ClamAV был тоже свежимСпасибо за ответ с этой частью логов разобрался. В логах осталось следующее:
Feb 22 17:29:04 mail.astal.kz amavis[2844]: (!)policy protocol: INVALID AM.PDP ATTRIBUTE LINE: CONTSCAN /var/spool/amavisd/tmp/amavis-20160222T162455-02841-q3D6u9Ql/parts\n
Feb 22 17:33:52 mail.astal.kz amavis[2841]: (02841-04) (!)ClamAV-clamd av-scanner FAILED: run_av error: ask_daemon_internal: Exceeded allowed time at (eval 129) line 611.\n
Feb 22 17:33:52 mail.astal.kz amavis[2841]: (02841-04) (!)WARN: all primary virus scanners failed, considering backupsКак можно исправить это?
> Как можно исправить это?ругается что за отведенное время сканнер не выполнил ничего и пытается на бекапный сервис перейти. какие версии используете? clamav и amavis в студию
>> Как можно исправить это?
> ругается что за отведенное время сканнер не выполнил ничего и пытается на
> бекапный сервис перейти. какие версии используете? clamav и amavis в студию# /usr/sbin/amavisd -V
amavisd-new-2.10.1 (20141025)# clamscan --version
ClamAV 0.99/21402/Tue Feb 23 04:01:13 2016
amavisd.conf в студию, как вызываете clamav (через сокет? clamd.conf путь сокета какой) и как AM.PDP политики настроены. или отключить их. случаем не в chroot окружении работает clamd?
> amavisd.conf в студию, как вызываете clamav (через сокет? clamd.conf путь сокета какой)
> и как AM.PDP политики настроены. или отключить их. случаем не в
> chroot окружении работает clamd?точно ответить на Ваши вопросы не могу т.к. первый раз использую amavis и clamd,
clamd работает не через окружение chroot, политики вообще никакие не настраивал, все по дефолту. Если есть ссылки на полезные материалы можете их выложить?Конфиги:
# cat /etc/clamd.d/scan.conf
LogSyslog yes
# Path to a local socket file the daemon will listen on.
# Default: disabled (must be specified by a user)
LocalSocket /var/run/clamd.scan/clamd.sock# Sets the group ownership on the unix socket.
# Default: disabled (the primary group of the user running clamd)
LocalSocketGroup amavis
# Run as another user (clamd must be started by root for this option to work)
# Default: don't drop privileges
User clamscan# Initialize supplementary group access (clamd must be started by root).
# Default: no
AllowSupplementaryGroups yes
# cat /etc/clamd.d/amavisd.conf
# Use system logger.
LogSyslog yes# Specify the type of syslog messages - please refer to 'man syslog'
# for facility names.
LogFacility LOG_MAIL# This option allows you to save a process identifier of the listening
# daemon (main thread).
PidFile /var/run/clamd.amavisd/clamd.pid# Remove stale socket after unclean shutdown.
# Default: disabled
FixStaleSocket yes# Run as a selected user (clamd must be started by root).
User amavis# Path to a local socket file the daemon will listen on.
LocalSocket /var/run/clamd.amavisd/clamd.sock
amavisd.conf конф состоит из Perl файла с настройками, то что вы предоставили эти настройки ClamAVв amavisd.conf найти секцию и посмотреть правильный путь до сокета и так же $interface_policy{'SOCK'}:
### http://www.clamav.net/
['ClamAV-clamd',
\&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
Литература:
1- https://www.ijs.si/software/amavisd/amavisd-new-docs.html
2- /var/log/maillog
>[оверквотинг удален]
> в amavisd.conf найти секцию и посмотреть правильный путь до сокета и так
> же $interface_policy{'SOCK'}:
> ### http://www.clamav.net/
> ['ClamAV-clamd',
> \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],
> qr/\bOK$/, qr/\bFOUND$/,
> qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
> Литература:
> 1- https://www.ijs.si/software/amavisd/amavisd-new-docs.html
> 2- /var/log/maillogСпасибо огромное за Ваши ответы. В моем случае в конфиге amavisd.conf необходимо было заменить строчку:
\&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamd.amavisd/clamd.sock"],
на
\&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamd.scan/clamd.sock"],