Интерфейс между MTA и сканером вирусов/фильтром содержания
AMaViSd-new — сценарий, осуществляющий взаимодействие агента пересылки почты (MTA) со сканерами вирусов и SpamAssassin.
Он поддерживает все распространённые сканеры вирусов (более 20), в том числе на уровне прямого взаимодействия со службами антивирусов ClamAV, OpenAntiVirus, Trophie, AVG, f-prot и Sophos.
AMaViSd-new поддерживает все MTA по средствам фильтрования SMTP/LMTP. Использование режима фильтрования SMTP/LMTP быстрее и безопаснее, чем использование передачи через канал в клиенте AMaViS.
apt-get install amavisd-new
Файлы настройки | /etc/amavis/conf.d |
---|---|
Документация | /usr/share/doc/amavisd-new |
Карантин | /var/lib/amavis/virusmails |
Управление:
service amavis
Нужно указать правильное имя сервера в формате FQDN (вместе с доменом) в переменной $myhostname
Для работы с антивирусами нужно убрать комментарии в файле /etc/amavis/conf.d/15-content_filter_mode
с строк:
@bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
Для работы с ClamAV нужно:
1. Добавить пользователя clamav
в группу amavis
:
gpasswd -a clamav amavis
2. Убрать комментарии в файле /etc/amavis/conf.d/15-av_scanners
с строк относящихся к ClamAV
3. Добавить в файл:
AllowSupplementaryGroups true
Для работы с антиспамом, например с SpamAssassin нужно убрать комментарии в файле /etc/amavis/conf.d/15-content_filter_mode
с строк:
@bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
Для переменных:
$final_virus_destiny
$final_banned_destiny
$final_spam_destiny
$final_bad_header_destiny
Предусмотрены следующие значения:
D_DISCARD | блокировать, никаких уведомлений не отсылать |
---|---|
D_BOUNCE | блокировать, отправить уведомление отправителю письма |
D_REJECT | почта не проходит к получателям, отправитель должен получить reject |
D_PASS | пропустить письмо |
Настройка папки карантина:
$quarantine_subdir_levels | Создание структуры из 62 папок (0-9, A-Z, a-z) 0= Нет 1 = Да |
$quarantine_subdir_levels = 0
Для того, чтобы доставлять SPAM с изменённой темой письма нужно:
$sa_spam_subject_tag = '***SPAM***'; $final_spam_destiny = D_PASS;
@local_domains_acl = ( "domain.ru", "domain2.ru" );
Для того, чтобы доставлять заражённые письма с изменённой темой письма нужно:
$final_virus_destiny = D_PASS; ***INFECTED***
read_hash(\%whitelist_sender, '/etc/amavis/whitelist'); @whitelist_sender_maps = (\%whitelist_sender);
Настройки для работы с SpamAssassin.
Исправление прав на папку с правилами:
#!/bin/bash path=/var/lib/amavis/.spamassassin chmod -R 644 $path chgrp -R amavis $path chown -R amavis $path chmod 700 $path
Отправка письма из карантина получателю.
#!/bin/sh VIRUSMAILS_DIR="/var/lib/amavis/virusmails" if [ -d $VIRUSMAILS_DIR ]; then cd $VIRUSMAILS_DIR amavisd-release $1 fi
Пример использования:
amavis_reslease.sh spam-xNYUd-gWtWDk.gz
Для периодической очистки карантина можно создать задание для периодического выполнения с помощью Cron следующего скрипта:
#!/bin/bash VIRUSMAILS_DIR="/var/lib/amavis/virusmails" if [ -d $VIRUSMAILS_DIR ]; then cd $VIRUSMAILS_DIR find $VIRUSMAILS_DIR -type d -mtime +30 -exec rm -r {} \; find $VIRUSMAILS_DIR -type f -mtime +30 -exec rm -r {} \; fi
/etc/init.d/amavis debug