ВНИМАНИЕ! Найден критический баг в сканировании exe файлов после установки патча clamav-libunrar3.patch на Clamav, он заключается в том, что после сканирования саморасспаковывающихся exe архивов созданных RAR 2/3.x не возвращается позиция на начало файла в дескрипторе, соответсвенно следущая проверка не выполняется, так как ей достается конец. Всем, кто использует данную связку советую наложить этот fix на ранние патчи или взять новые версии патча, архивов или rpm пакетов приведенных в этой статье. Выражаю большую благодарность Ruwa(Russu Valery) за найденный баг!
Всем известно, что в антивирусную программу clamav встроена проверка RAR архивов версии 2, однако большенство пользователей используют для создания своих архивов RAR версии 3 и практически уже никто не использует 2-ю версию, разработчики clamav не хотят встраивать поддержку 3-ей версии из-за лицензионных разногласий между новой версией libunrar, со своей более строгой лицензией, и clamav, который написан под GPL. Пока идут дебаты на тему включать или не включать libunrar v.3 в clamav, мною была предпринята попытка реализовать эту функциональность самостоятельно, поэтому далее будет описан процесс, как скрестить libunrar v.3 с последней версией clamav(на данном этапе - 0.80).
Устанавливаем следующим образом :
install -s -D -m 755 libunrar3.so /usr/lib/libunrar3.so
install -D -m 644 dll.hpp /usr/include/libunrar3/dll.hpp
На этом установку libunrar можно считать законченой. Для систем на базе rpm пакетов, можно скачать готовые rpm'ки:
TAR_BZ2:
RPMS:
SRPMS:
TAR_BZ2:
После того, как выкачен свеженький clamav из CVS , нужно наложить этот патч - clamav -libunrar 3.patch , затем обязательно выполнить 3и команды:
Aclocal
Autoconf
Automake
Далее как обычно, конфигурим, собираем и устанавливаем clamav ...
Мною подготовлены рабочие rpm пакеты, которые не требуют каких либо настроек и работать начинают сразу после установки, но в них отсутствует сборка milter плагина для sendmail'а, при желании ее можно включить, если будете пересобирать из srpm, для этого в spec файле надо убрать строчку с _without_milter.
RPMS :
SRPMS:
После установки rpm пакетов даем следущие команды:
service freshclam start
service clamd start
и на этом можно считать установку законченной...
Теперь немного о том, что сделано:
- Проверка саморасспаковывающихся exe архивов созданных RAR 2/3.x
- Проверка обычных rar архивов созданных RAR 2/3.x
- Непроверяются запароленые архивы, битые, неизвестного формата и
многотомные, им выставляется флаг, что они нормальные:)...
Все архивы, которые касаются данной темы и новые обновления, вы можете скачать отсюда:
Качаем патчи для clamav и unrar
cd /usr/ports/archivers/unrar
make fetch
make extract
cd /usr/ports/archivers/unrar/work/unrar
patch<unrar-3.4.3_fix.patch
gmake -f makefile.unix lib
cp /usr/ports/archivers/unrar/work/unrar/libunrar3.so /usr/local/lib
cp /usr/ports/archivers/unrar/work/unrar/dll.hpp /usr/local/include
cp /usr/ports/archivers/unrar/work/unrar/dll.hpp /usr/local/include/libunrar3
cp /usr/ports/archivers/unrar/work/unrar/libunrar3.so /usr/lib
cp /usr/ports/archivers/unrar/work/unrar/dll.hpp /usr/include
cp /usr/ports/archivers/unrar/work/unrar/dll.hpp /usr/include/libunrar3
это что бы не ошибиться...
cd /usr/ports/archivers/unrar
make clean
...
cd /usr/ports/security/clamav
make fetch
make extract
cd /usr/ports/security/clamav/work/clamav-0.84/libclamav
patch<clamav-0.84-libunrar3.patch
cd /usr/ports/security/clamav/work/clamav-0.84
/usr/local/bin/aclocal19
/usr/local/bin/autoconf259
Где то тут чего то предупреждал...
/usr/local/bin/automake19
именно эти версии automake и autoconf, со старыми и не пошло!!!....
cd /usr/ports/security/clamav
make install clean
Создал файл test.com с таким содержанием :)
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
Запаковал winrar 3.30 с максимальным сжатием test.rar
Скормил постфиксу ...
clamd.log
Thu May 5 10:41:10 2005 -> /tmp/clamfilter.ocqRJ5: Eicar-Test-Signature FOUND
Thu May 5 10:42:41 2005 -> /tmp/clamfilter.u27f2l: Eicar-Test-Signature FOUND
Thu May 5 10:44:58 2005 -> /tmp/clamfilter.4txXyB: Eicar-Test-Signature FOUND
FreeBSD 4.11
Автор: Алексей Пименов & McMCC