FreeBSD - статьи



         

Настройка фильтров (антивирус, антиспам и форвардер) - часть 6


# from spamfilter to smtpd:10026 localhost:10027 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_recipient_restrictions=permit_mynetworks,reject -o myhostname=localhost

а к /usr/local/etc/postfix/main.cf добавляем вот это:

# первый из цепочки фильтров: content_filter = forwarder

# необходимо для корректной работы скриптов! forwarder_destination_recipient_limit = 1 genocide_destination_recipient_limit = 1 spamfilter_destination_recipient_limit = 1

forwarder.pl, antikav.pl и std2lmtp.pl можно найти вот в . в каждом скрипте вначале есть мини конфигурация, в которой необходимо как минимум прописать логин и пароль для mysql.

forwarder.pl - помощник 'старшего брата'. копирует письмо на нужный адрес в случае необходимости. если нужного адреса нет, то просто прокидывает письмо к следующему элементу в цепочке.

antikav.pl - антивирусный фильтр. с помощью модуля MIME::Tools разбирает письмо на файлы, которые кладёт в /tmp, напускает на эти файлы kavscanner и, парся его вывод, определяет что из этих файлов заражено. заражённые файлы вычленяет из письма, собирает письмо обратно с помощью всё того же MIME::Tools и отправляет следующему фильтру в цепочке.

std2lmtp.pl - вообще это мелкий скрипт, который переправляет содержимое stdin в на указанный адрес по smtp протоколу. в нашем случае этот скрипт кроме простого перенаправления, на письмо ещё и напускает указанную программу (spamc), которая в свою очередь соединяется со spamd, который является самом spamassassin, проверяет письмо на спамность и в случае необходимости помечает его. ну а наш скрипт потом результат отправляет в smtpd, который последний в цепочке фильтров и дальше уже идёт раскладка по почтовым ящикам.




  • Содержание  Назад  Вперед