Рекомендую к прочтению также вот этот документ (Установка связки Postfix, MySQL, SpamAssassin, Maia в FreeBSD.), как более свежий :)
Сначала устанавливаем postfix+msql+courier-imap+cyrus-sasl 2 по статье
"Настройка postfix с возможностью шифрования и защиты от вирусов и спама"
http://www.opennet.ru/base/net/postfix_tls.txt.html
Ссылка по теме:
http://www.deepnet.ru/docs/source/postfix_pgsql.shtml
Clamav
/usr/ports/security/clamav (без милтера)
make install
добавить в rc.conf
clamav_clamd_enable="YES"
clamav_freshclam_enable="YES"
/usr/local/etc/clamd.conf
LogFile /var/log/clamav/clamd.log
LogFileMaxSize 2M
LogTime yes
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/tmp
DatabaseDirectory /var/db/clamav
LocalSocket /var/run/clamav/clamd
FixStaleSocket yes
MaxThreads 10
ReadTimeout 120
IdleTimeout 30
MaxDirectoryRecursion 15
FollowDirectorySymlinks yes
SelfCheck 1800
User vscan
AllowSupplementaryGroups yes
ScanPE
ScanOLE2
ScanMail
ScanHTML
ScanArchive
ArchiveMaxFileSize 15M
ArchiveMaxRecursion 10
ArchiveMaxFiles 1500
ArchiveMaxCompressionRatio 300
/usr/local/etc/freshclam.conf
DatabaseDirectory /var/db/clamav
UpdateLogFile /var/log/clamav/freshclam.log
PidFile /var/run/clamav/freshclam.pid
DatabaseOwner vscan
AllowSupplementaryGroups yes
DatabaseMirror database.clamav.net
Checks 48
#NotifyClamd
Создаем файл virus.com со следующим содержанием:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
# clamscan virus.com
РАБОТАТЬ НЕ БУДЕТ, нет пользователя vscan в cистеме
Ставим SpamAssassin
/usr/ports/mail/p5-Mail-SpamAssassin
#make
x AS_ROOT (потом исправим )
x SSL (в принипе тоже не использую)
x RAZOR
x SPF_QUERY
x TOOLS
#make install
редактируем /usr/local/etc/rc.d/sa-spamd.sh
command_args="-d -r ${pidfile}" исправляем на
command_args="-x -d -m 5 -r ${pidfile}"
Дока по теме где-то там
#perldoc Mail::SpamAssassin::Conf
добавляем в /etc/rc.conf
spamd_enable="YES"
# mkdir -p /var/spool/filter/spamassassin/
# chmod -R 777 /var/spool/filter
создаем файл
/usr/local/etc/mail/spamassassin/local.cf
##############################################
#
##############################################
lock_method flock
trusted_networks 192.168/16 127/8
trusted_networks 127.
whitelist_from *@google.com
##############################################
rewrite_header subject [Possible SPAM]:
required_hits 6.0
required_score 6.0
report_safe 2
use_bayes 1
bayes_auto_learn 1
bayes_auto_learn_threshold_nonspam 0.1
bayes_auto_learn_threshold_spam 12.0
skip_rbl_checks 0
use_razor2 1
use_dcc 1
use_pyzor 1
use_auto_whitelist 1
##############################################
auto_whitelist_path /var/spool/filter/spamassassin/auto_whitelist
bayes_path /var/spool/filter/spamassassin/bayes
auto_whitelist_file_mode 0770
bayes_file_mode 0770
##############################################
ok_languages ru en
ok_locales ru en
report_charset windows-1251
##############################################
score FROM_ILLEGAL_CHARS 1.5
score HEAD_ILLEGAL_CHARS 1.5
score SUBJ_ILLEGAL_CHARS 1.5
score FORGED_IMS_TAGS 0.5
#
##############################################
score BAYES_00 -9.8
score BAYES_20 -2.856
score BAYES_40 -0.002
score BAYES_60 0.002
score BAYES_80 3.314
score BAYES_99 10.8
Команда spamassassin -D --lint
выводит текущую конфигурацию (смотрим косяки)
Обучение спамфильтра
sa-learn --spam --dir /home/user/spam
sa-learn --ham --dir /home/user/ham
Хочу еще раз заметить, что работать не должно,
нет юзера vscan.
Ставим Amavisd-new
/usr/ports/security/amavisd-new
добавить в /etc/rc.conf
amavisd_enable="YES"
amavis_milter_enable="YES"
Проверить наличие файлов amavisd.sh и amavis-milter.sh
в папке /usr/local/etc/rc.d
Добавим в файл /usr/local/etc/rc.d/amavisd.sh строку
amavisd_flag="-u vscan"
Правим /usr/local/etc/amavisd.conf
исправляем $mydomain
$virus_admin
раскомментируем и правим
$final_virus_destiny = D_DISCARD;
$final_banned_destiny = D_BOUNCE;
$final_spam_destiny = D_DISCARD;
$final_bad_header_destiny = D_DISCARD;
раскомментируем секцию ClamAV
Обратить внимание на banned extenion.
(иначе не все вложения будут приниматься )
Проверим /etc/master.passwd пользователь vscan
/etc/group группа vscan
Есть? Вот и чудненько.
/var/spool/filter/spamassassin/
/var/spool/filter
/var/db/clamav
/var/log/clamav
/var/run/clamav/ хозяин vscan
Добавим в файл /usr/local/etc/postfix/master.cf
(ВНИМАНИЕ!!! вначале строк с -o символ табуляции)
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
# -o relay_recipient_map=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
# -o smtpd_recipient_restrictions=permit_mynetworks,reject_maps_rbl,reject
-o mynetwork=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_errror_limit=1000
Добавим в файл /usr/local/etc/postfix/main.cf
content_filter = smtp-amavis:[127.0.0.1]:10024
12 комментариев:
Подскажи, а где упоминания о spamd в master.cf? Или он как подругому работает с постфиксом?
/usr/ports/security/amavisd-new
работает с постфиксом. В статье все написано.
Благодарю что отклюкнулись.
Да работает, но в первых он относит к спаму практически все сообщения, т.е. если написать на ящих находящийся на твоем же домене (не на собственный а на другой) и просто указать в загаловке TEST ну и в теле тоже, но напишет что это спам. И еще интересный один момент, отключаем спамассасин из rc.d - фильтр спама по прежнему работает. Откуда и возникает вопрос, как работает спамассасин с постфиксом, посредством amavis-new или амавис сам является фильтром спама?
Так же еще есть небольшой вопрос, поставил лимит на прием в main.cf постфикса 15м (message_size_limit = 15728640), лимит остался 5 мегов, квоты отключены.
Заранее благодарен.
-Спамассасин с постфиксом работает посредством amavis-new.
-Вообще в настройках статьи письма со спамом не доходят до получателя, отсюда вопрос где вы прочитали, что ваше письмо спам?
-После изменения в файле main.cf сделайте postfix reload
Прочел что письмо спам естесственно в логах maillog, письма не доходят, маркирются как SPAM практически все (может где стоит слишвом жесткая палитика фильтра?).
В конфиге амавис (т.е. amavisd.conf) не нужно вносить никаких дополнительных настроек за исключением описанных в статье?
Возможно спамассасин неообходимо учить (sa-learn), ежели да, то возможно есть обученный вариант программы.
Пришлите на мыло кусок maillog
Поскажите что за ошибка?
postfix/smtpd[4226]: warning: valid_hostname: invalid character 237(decimal): ???????_????
Конечно подскажу
Очепятка
s/$final_banned_destiny = D_BOUNSE;/$final_banned_destiny = D_BOUNCE;/
Спасибо, исправил.
Почему письма из yahoo.com,gmail.com,mail.ru,yandex.ru
определяется как spam и не доходит до пользователя
не могу знать, добавь в белый список
Отправить комментарий