Оптимальные параметры установлены для Postfix «smtpd_recipient_restrictions»

8

мы унаследовали DNS от другого интернет-провайдера, и теперь наш почтовый сервер подвергается бомбардировке примерно 1000 писем в минуту, 99,99% этих писем являются спамом. Мы пытаемся оптимизировать фильтрацию / отклонение спама без особой удачи.

Какой, по вашему мнению, оптимальный набор smtpd_recipient_restrictions?

Конфигурация системы: Ubuntu + Amavis + Postfix + MySQL + Fail2Ban-Postfix

Любые советы приветствуются!

UDPATE, 2012-08-08

При изменении конфигурации posftix в качестве следующих параметров и настройке сервиса Potrgey уровень спама снизился в 10 раз

smtpd_recipient_restrictions = 
permit_mynetworks, 
permit_sasl_authenticated, 
reject_non_fqdn_hostname, 
reject_invalid_hostname, 
reject_non_fqdn_sender, 
reject_unknown_sender_domain, 
reject_non_fqdn_recipient, 
reject_unknown_recipient_domain, 
check_policy_service inet:127.0.0.1:10023, 
reject_rbl_client zen.spamhaus.org, 
check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf,
reject_unauth_pipelining, 
reject_unauth_destination

введите описание изображения здесь

Игорь
источник
1
Я хочу купить этот домен! Пожалуйста, разместите предложение.
mailq
Что вы пытаетесь решить? В чем твоя проблема? Вы только говорите, что отклоняете Спам. Но это не проблема. Это решение.
mailq
@mailq: ни в коем случае не извиняюсь
Игорь
@mailq: идея состоит в том, чтобы более эффективно отклонять спам, снижать нагрузку на систему
Игорь

Ответы:

6

У вас порядок правил очень плохой. Если вы хотите сохранить их все и больше ничего не добавлять, порядок должен быть:

smtpd_recipient_restrictions = 
permit_mynetworks, 
permit_sasl_authenticated, 
reject_unauth_pipelining, 
reject_invalid_hostname, 
reject_non_fqdn_sender, 
reject_unknown_sender_domain, 
reject_unauth_destination, 
reject_unknown_recipient_domain, 
reject_rbl_client zen.spamhaus.org,
check_recipient_access proxy:mysql:/etc/postfix/mysql-virtual_recipient.cf, 
reject_non_fqdn_recipient

И если этого все еще недостаточно, читайте об этом postscreenв http://www.postfix.org/POSTSCREEN_README.html .

mailq
источник
извините, но порядок имеет значение или нет? в некотором смысле postfix проверяет сначала «allow_mynetworks» и, наконец, «reject_non_fqdn_recipient».
Игорь
1
Определённо! Заказ имеет значение. Слева направо (или вверх-вниз). Как описано в postfix.org/SMTPD_ACCESS_README.html
mailq
5

Я бы предложил smtpd_recipient_restriction, похожую на следующую:

smtpd_recipient_restricdtions = 
# Whitelisting or blacklisting:
check_recipient_access proxy:mysql:/etc/postfix/mysql-virtual_recipient.cf,
# Everyone should play after rules:
reject_non_fqdn_recipient,
reject_non_fqdn_sender,
reject_unknown_recipient_domain,
reject_unknown_sender_domain,
reject_unauth_pipelining,
# Mails from your users:
permit_mynetworks,
permit_sasl_authenticated,
# This will block mails from domains with no reverse DNS record. Will affect both spam and ham mails, but mostly spam. 
reject_unknown_reverse_client_hostname,
# Instead of reject_unknown_reverse_client_hostname you can also use reject_unknown_client_hostname, which is an even harder rule. 
# Reject ugly HELO/EHLO-hostnames (could also affect regular mails):
reject_non_fqdn_hostname,
reject_invalid_helo_hostname,
# Reject everything you're not responsible for:
reject_unauth_destination,
# Only take mails for existing accounts:
reject_unverified_recipient,
# DNS lookups are "expensive", therefore should be at bottom
reject_rbl_client zen.spamhaus.org

Подробную информацию о smtpd_recipient_restrictions можно найти здесь: http://www.postfix.org/postconf.5.html#smtpd_recipient_restrictions

Может быть, вы также хотите использовать postgrey , postscreen , postfwd или какой-либо другой демон политики .

А также убедитесь, что вы используете свой amavisd-new в режиме предварительной очереди.

sebokopter
источник
Это плохо. Вторая строка блокирует почту для любого исходящего получателя. Таким образом, вы не можете отправлять почту со своего сервера во внешний мир. Запросы MySQL одинаково дороги как DNS-запросы. Таким образом, вы также должны переместить MySQL запросы вниз.
mailq