Настройка amavisd-new
Homepage: amavisd-new
# aptitude install amavisd-new
Документация расположена в директории /usr/share/doc/amavisd-new/
Рассматривается интеграция Amavisd-new, Spamassassin и ClamAV с транспортным почтовым агентом (MTA) Postfix. Postfix может также проверять легальность почты с помощью передачи ее внешним фильтрам содержания.
Отладка amavisd-new
- Запуск amavisd-new в режиме отладки от непривилегированного пользователя
# su - amavis $ /etc/init.d/amavis debug
Установим недостающие библиотеки и утилиты
# aptitude install bzip2 lzop p7zip unrar-free arj arc nomarch zoo ripole cabextract zip
- Amavis по умолчанию работает на локальном порту 10024. Воспользуемся Примеры использования telnet для проверки ESMTP
# telnet localhost 10024 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 [127.0.0.1] ESMTP amavisd-new service ready EHLO mail.example.com 250-[127.0.0.1] 250-VRFY 250-PIPELINING 250-SIZE 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250 XFORWARD NAME ADDR PORT PROTO HELO IDENT SOURCE quit 221 2.0.0 [127.0.0.1] amavisd-new closing transmission channel Connection closed by foreign host.
Для проверки работоспособности LMTP вместо команды EHLO, в примере выше, используйте LHLO.
amavisd-new и ClamAV
Подключение ClamAV к mavisd-new. ClamAV Clam AntiVirus должен быть установлен.
- Для того чтобы amavis загрузил поддержку антивирусника, нужно раскомментировать строки в файле /etc/amavis/conf.d/15-content_filter_mode:
# Default antivirus checking mode # Please note, that anti-virus checking is DISABLED by # default. # If You wish to enable it, please uncomment the following lines: @bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
- Добавьте пользователя clamav в группу amavis, чтобы Amavisd-new имел соответствующие права доступа для сканирования файлов:
sudo adduser clamav amavis sudo adduser amavis clamav
Настройка amavisd-new 50-user
Все дополнительные настройки лучше делать в файле 50-user.
- Если сетевое имя сервера отличается от MX записи домена, вам может потребоваться установить вручную опцию $myhostname. Также, если сервер принимает почту для нескольких доменов, опцию @local_domains_acl потребуется изменить. Отредактируйте файл /etc/amavis/conf.d/50-user:
$myhostname = 'mail.example.com'; @local_domains_acl = ( "example.com", "example.org" );
Полный файл
- 50-user
use strict; # # Place your configuration directives here. They will override those in # earlier files. # # See /usr/share/doc/amavisd-new/ for documentation and examples of # the directives you can use in this file # $myhostname = 'mail.example.com'; @local_domains_acl = ( "example.com", "example.org" ); $virus_admin = 'virusalert@example.com'; #------------ Do not modify anything below this line ------------- 1; # ensure a defined return
Для применения изменений amavis должен быть перегружен
# service amavis restart
Интеграции amavisd-new и Postfix
До этого момента amavisd-new и Настройка почтового сервера Postfix работали независимо, для их интеграции нужно выполнить три пункта:
- Создание транспорта для отправка писем от Postfix на обработку amavisd
- Настройка транспорта.
- Настройка пути возврата сообщений. Отфильтрованная почта должна какким-то образом вернуться в очередь Potsfix без повторного сканирования, поэтому необходим отдельный экземпляр smtpd, не использующий content_filter.
- Создание транспорта main.cf:
# sudo postconf -e "content_filter = amavis-new:[127.0.0.1]:10024"
- Определение транспорта master.cf. Имя транспорат должно совпадать с именем в content_filter, то есть в нашем случае amavis-new:
amavis-new unix - - n - 4 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o smtp_tls_note_starttls_offer=no -o disable_dns_lookups=yes -o max_use=80
- Настройка пути возврата сообщений. В master.cf добавим строки:
127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no # -o smtpd_client_restrictions= -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
Из всех параметров абсолютно необходим пустой параметр content_filter. Эта настройка перекрывает параметр content_filter в файле main.cf. Остальные параметры, также подменяют соответствующие параметры main.cf, включая параметры для отмены ограничений.
- Добавьте две строки непосредственно после транспортного сервиса "pickup". Это предотвратит от попадания в спам сообщений, созданных в качестве отчетов о спаме.
pickup unix n - - 60 1 pickup -o content_filter= -o receive_override_options=no_header_body_checks
Логирование amavisd-new
- Настройка логирования демона amavisd-new:
# nano /etc/amavis/conf.d/20-debian_defaults ... $log_recip_templ = undef; # disable by-recipient level-0 log entries $DO_SYSLOG = 1; # log via syslogd (preferred) $syslog_ident = 'amavis'; # syslog ident tag, prepended to all messages $syslog_facility = 'mail'; $syslog_priority = 'debug'; # switch to info to drop debug output, etc ...
Просмотр лога amavisd-new:
# tail -F /var/log/syslog | grep amavis
Карантин amavisd-new
- Параметры настройки карантина.
$QUARANTINEDIR = undef; # отключаем использование каратина # для частичного отключения карантина # используйте следующие переменные: # $clean_quarantine_method, $virus_quarantine_to, $banned_quarantine_to, # $bad_header_quarantine_to, $spam_quarantine_to, # # пример: $bad_header_quarantine_to = 'undef';
- Периодическая очистки карантина при помощи cron. Удаление из карантина файлов старше 40 дней.
- cron_mailserver
# Look for and purge files older 40 days every 5 hours # 20 */5 * * * root find /var/lib/amavis/virusmails/* -mtime +40 | xargs rm &> /dev/null 20 */5 * * * root find /var/lib/amavis/virusmails/* -mtime +40 -delete &> /dev/null
Крупнейшая в Европе школа английского языка
Промокоды, акции и подарки, чтобы Ваше обучение было не только интересным, но и выгодным. Закажите пробный урок уже сейчас!
skyeng.ru
Онлайн школа английского языка
Английский по скайпу от 680р за урок, без заучивания правил. Эффективно! Удобно! Выгодно! Начните обучение прямо сейчас.
melene.ru
Школа английского языка по Skype
Персональные занятия по разумным ценам. Бесплатные ресурсы для студентов: разговорные клубы, блог, вебинары, книги, тест на определение уровня английского. Пробный урок бесплатно!
englex.ru