Глава 1. Как быстро прикрутить drweb к Postfix

(на примере Mandrake Linux)

Результатом всего этого будет следующее: все письма с вирусами вместо доставки получателю, будут размещаться в каталоге /var/drweb/infected/ и администратору будет слаться мыло с сообщением об этом.

  1. Выясняем какая у нас версия glibc:

    # urpmq glibc -r

  2. Заходим на http://www.drweb.ru/unix/. В зависимости от версии качаем текущую версию drweb в tar.gz для определенной нами версии glibc. Например, для glibc 2.3 на момент написания данной статьи так:

    wget -c ftp://ftp.drweb.ru/pub/unix/drweb-4.29.2-glibc.2.3.tar.gz
    

  3. Там же выбираем drweb-postfix и качаем текущую версию. Например, так:

    wget -c ftp://ftp.drweb.ru/pub/unix/drweb-postfix-4.29.12-F-linux.tar.gz
    

  4. Разворачиваем оба архива:

    # tar -xzf ./drweb-4.29.5-glibc.2.3.tar.gz
    # tar -xzf ./drweb-postfix-4.29.12-F-linux.tar.gz
    

  5. Сначала устанавливаем drweb: для этого в его развернутом каталоге запускаем скрипт:

    # install.sh

    На вопрос о путях отвечаем Enter (ставится в /opt/drweb). На вопрос о языке отвечаем 1 (русский).

  6. Добавляем в автозагрузку демон drwebd

    # chkconfig drwebd on

  7. запускаем демон

    # /etc/init.d/drwebd start

  8. Обновляем базу данных вирусов

    # /opt/drweb/update/update.pl

    и вставляем следующую строку в /etc/crontab для регулярного авто-обновления базы (раз в 3 часа, например :-) )

    5 */3 * * * root /opt/drweb/update/update.pl

  9. Теперь заходим в развернутый каталог drweb-postfix и копируем в нужные каталоги (/etc и /opt) все что там есть. Например, так:

    # cd ../drweb-postfix
    # cp -Rf ./* /
    

  10. Создаем системного пользователя drweb, который не имеет прав входа в систему. Например, так: Генерируем пароль

    # export MY_PWD=`md5sum /var/log/messages |gawk '{ print  $1 }'`
    

    Добавляем юзера

    # useradd -c "DrWeb Antivirus" -d "/var/drweb" -p "$MY_PWD" -u 333 -s "/bin/false"  drweb
    

  11. Меняем права каталогу /var/drweb/ рекурсивно

    # chown -R drweb.drweb /var/drweb

  12. Правим файлик /etc/drweb/drweb_postfix.conf В нем меняем на свои следующие переменные (например, так):

    AdminMail = drweb@localhost 
    FilterMail = drweb@localhost
    RedirectMail = drweb@localhost
    

  13. Правим файлик /etc/postfix/master.cf. Заменяем строку:

    smtp    inet    n       -       y       -       -       smtpd
    

    на строку:

    smtp    inet    n       -       y       -       -       smtpd -o content_filter=filter:dummy
    

    и добавляем в конец следующее:

    filter    unix  -   n   n   -   16   pipe
        flags=R user=drweb argv=/opt/drweb/drweb-postfix -f ${sender} -- ${recipient}
    

  14. Перегружаем Postfix:

    /etc/init.d/postfix restart

  15. Смотрим на появление отфильтрованных вирусов в /var/drweb/infected/ :-) и покупаем ключик у drweb, чтобы включить лечение и другие возможности. Однако, для фильтрации зараженных писем достаточно evaluation key.