Здравствуйте, я молдавский вирус.
По причине ужасной бедности моего создателя
и низкого уровня развития технологий в нашей стране
я не способен причинить какой-либо вред вашему компьютеру.
Поэтому очень прошу: сами сотрите какой-нибудь важный
для вас файл, а потом разошлите меня по почте другим адресатам.
Заранее благодарен за понимание и сотрудничиство
Как установить avast для фильтрации входящей почты на сервер RHEL и интегрировать его с postfix
Возникла у нас гениальная идея - поставить на входной почтовый сервер avast антивирус, вместо касперского.
Заказали лицензию, пока она идет я решил попробовать поставить с триальным ключем. Давно я так не радовался :)
Документации на сайте нет вообще, документация внутри RPM пакета предназначена для сборки из исходников и сильно не бьет с реальностью...
1) Инсталяция:
Нам нужно три пакета: libavastengine, avast4server, avast4mail
Скачиваем их:
wget
http://files.avast.com/files/linux/i586-pc-linux-gnu/libavastengine-4.7.6-1.i586.rpmwget
http://files.avast.com/files/linux/i586-pc-linux-gnu/avast4server-3.2.1-1.i586.rpmwget
http://files.avast.com/files/linux/i586-pc-linux-gnu/avast4mail-3.2.1-1.i586.rpm И устанавливаем:
yum localinstall --nogpgcheck libavastengine-4.7.6-1.i586.rpm
yum localinstall --nogpgcheck avast4server-3.2.1-1.i586.rpm
yum localinstall --nogpgcheck avast4mail-3.2.1-1.i586.rpm
Теперь нужно получить ключ лицензии, или запросить у Аваста временную лицензию. Запрос временной лицензии производится по адресу:
http://www.avast.com/linux-unix-trial-license-request.php Полученный файл License.dat помещаем в директорию /var/lib/avast4/
Теперь можно запустить демон avastd:
>service avastd start
Все, антивирус у нас работает. Дальше - дискотека.
Настройка почтового фильтра
Теперь нам необходимо уговорить антивирус фильтровать входящую почту. На сайте аваста документация по этому вопросу отсутствует. В пакете avast4mail есть файл /usr/share/doc/avast4mail-3.2.1/INSTALL, который описывает процесс настройки и интеграции почтового фильтра, но с ним надо обращаться с большой осторожностью. Фишка в том, что он описывает сборку пакета из исходников, а если мы устанавливаем RPM пакет, то часть действий уже были проделанны при инсталяции. Что бы узнать, что именно проделал RPM дадим команду:
rpm -q --scripts avast4mail
Получаем:
postinstall scriptlet (using /bin/sh):
if [ ! -n "`/usr/bin/id -g avmail 2>/dev/null`" ]; then
/usr/sbin/groupadd -g 412 -f avmail 2>/dev/null
fi
if [ ! -n "`/usr/bin/id -u avmail 2>/dev/null`" ]; then
/usr/sbin/useradd -g avmail -c avastmail -d /var/run/avastmail -s /sbin/nologin -u 412 avmail 2>/dev/null
fi
/bin/chown root:avmail /usr/bin/avastfilter
/bin/chmod 2711 /usr/bin/avastfilter
/bin/chown avmail:avmail /var/lib/avastmail/tmp
/bin/chmod 1770 /var/lib/avastmail/tmp
/bin/chown avmail:avmail /var/run/avastmail
/bin/chmod 0750 /var/run/avastmail
preuninstall scriptlet (using /bin/sh):
if [ $1 -eq 0 ]; then
if [ -n "`/usr/bin/id -u avmail 2>/dev/null`" ]; then
/usr/sbin/userdel avmail 2>/dev/null
/usr/sbin/groupdel avmail 2>/dev/null
fi
fi
Отсюда вывод, что действия из раздела BUILD AND INSTALL AVAST4FILTER: нам проделывать не нужно.
Теперь попробуем провести интеграцию с postfix:
Создадим резервную копию конфига:
>cp master.cf master.cf.no-avast
И переписываем так:
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd -o content_filter=filter:dummy
filter unix - n n - 10 pipe
flags=R user=avmail argv=/usr/bin/avastfilter -c /etc/mail/avastfilter.conf -f ${sender} ${recipient}
localhost:10025 inet n - n - - smtpd -o content_filter=
Теперь отредактируем конфиг /etc/mail/avastfilter.conf
Откомментируем строку
MTIFACE="inet:10025@localhost"
И, наоборот, закомментируем
#MTIFACE=""
Раскомментируем
HELONAME="localhost"
Впрочем с моими настройками postfix так не заработало, пришлось вместо localhost писать имя хоста.
Убедимся, что закомментированы
#CHROOTDIR=/var
#USER="avmail"
#GROUP="avmail"
Теперь последний шаг - настройка /etc/avastd.conf
Лезем в секцию [mail] и производим там массовое раскомментирование:
# avast! mail scanner
[mail]
daemoncount = 3
maxdaemoncount = 10
listen = /var/run/avastmail/mailscanner.sock
timeout = 300
user = avmail
group = avmail
rootdir = /var
# avast! engine paths :
datadir = /var/lib/avast4
; tempdir = /var/tmp/avast4
tempdir = /var/lib/avastmail/tmp
licensefile = /var/lib/avast4/License.dat
# scanner work area :
workdir = /var/lib/avastmail/tmp
subdirs = false
; ;excludedir = /var/workarea/excludedir
# scanner flags :
testall = true
testfull = false
ignoretype = false
# scanner packers :
archivetype = A
summaryarchive = false
maxpackerdepth = 0
# determine packer bomb :
maxfilesizetoextract = 30000
maxcompressionratio = 50
compressioncheckthreshold = 10000
maxtotalcompressionratio = 80
totalcompressioncheckthreshold = 200
# log scan results :
loginfected = true
logerrors = true
logclean = false
Обратите внимание на параметр workdir - его надо не просто расскоментировать, но и поправить: workdir = /var/lib/avastmail/tmp
перезапускаем антивирус:
/etc/init.d/avastd restart
и перезапускаем postfix:
/etc/init.d/postfix restart
И смотрим приходящие письма. Если в них появились строки типа:
X-Antivirus: avast! (VPS 101207-0, 07.12.2010), Outbound message
X-Antivirus-Status: Clean
То значит все получилось!!!!!
По моему - писец для коммерческого продукта.
Upd - немного поправил