Ключевые слова:postfix, spam, mail, (найти похожие документы)
From: Andrey V. Mozgovoi <brain at m9.ru>
Newsgroups: email
Date: Mon, 20 Aug 2004 14:31:37 +0000 (UTC)
Subject: Замечания по борьбе со спамом в postfix.
postfix: Было много спама... теперь меньше ;)
-------------------
...спам начал достовать...
Прочитал все доки на opennet.ru по ключевому клову "spam" и вот чуток
поправил конфиг файл.
MTA Postfix-2.1.x
[code]
strict_rfc821_envelopes = yes
disable_vrfy_command = yes
smtpd_client_restrictions = reject_rbl_client blackholes.mail-abuse.org,
reject_rbl_client dialups.mail-abuse.org,
reject_rbl_client relays.ordb.org,
reject_rbl_client dul.ru,
reject_rbl_client opm.blitzed.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client dul.dnsbl.sorbs.net,
reject_rbl_client dnsbl.njabl.org,
reject_rbl_client dynablock.njabl.org,
reject_rbl_client combined.njabl.org,
permit_mynetworks,
reject_unknown_client,
permit
smtpd_helo_required = yes
smtpd_helo_restrictions = reject_invalid_hostname,
permit_mynetworks,
check_helo_access hash:/etc/postfix/helo_checks,
reject_non_fqdn_hostname
smtpd_sender_restrictions = reject_non_fqdn_sender,
reject_unknown_sender_domain,
check_sender_access hash:/etc/postfix/sender_checks
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unauth_destination
smtpd_data_restrictions = reject_unauth_pipelining,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unknown_sender_domain,
permit
[/code]
* за детальным разбором welcome to man postconf
Конечно хочется видеть результат работы.
1) устанавливаем pflogsumm для делатьного отчета
(http://jimsun.linxnet.com/postfix_contrib.html)
2) и рисуем графики с помощью mailgraph
(http://people.ee.ethz.ch/~dws/software/mailgraph/)
По поводу mailgraph, класная штука, но требуется маленький тюнинг ;)
1) Если вы используете drweb, откройте файл mailgraph.pl в своем любимом
редакторе, найдите по контексту "drweb" и замените регулярное выражение на:
if($text =~ /infected with/) {
event($time, 'virus');
}
* то выражение, которое распространяется в дистрибутиве расчитано на старые версии.
Еще рекомендую прямо под этим кодом добавить:
elsif($text =~ /rejected by daemon filtering rule/) {
event($time, 'spam');
}
* все что режется фильтрами настроеными в drwebd, так же является спамом
и это надо считать.
2) Дальше находим в коде строки:
## uncomment the following lines if you want to graph
## mail rejected because of a RBL as spam:
Раскомментариваем то, что нам предлагают, правда чуть-чуть изменяя:
elsif($text =~ /NOQUEUE: reject:/) {
event($time, 'spam');
}
* т.к. все что отброшена нашим MTA тоже спам.