Почтовый сервер · 2 min read · Oct 06, 2025

Полное решение почтового сервера с виртуальными доменами и пользователями (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Страница 5

D. Права клиента

Поскольку мы собираемся использовать этот почтовый сервер в производственной среде, мы хотим ограничить, кто может отправлять почту через него. Быть открытым релеем (принимать почту от/к любому) крайне опасно и отличный способ получить метку как СПАМ-сервер.

Поскольку почтовые обменники на самом деле обрабатывают почту только для нашего домена, мы будем ОЧЕНЬ ограничительными. Следующие команды скажут почтовому обменнику разрешить электронную почту из внутренних сетей и отклонить ЛЮБУЮ электронную почту на несанкционированный адрес.

# postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, permit'

E. Простая защита от спама

Хотя DSpam будет обрабатывать подавляющее большинство наших мер против спама, есть несколько простых приемов, которые мы можем использовать на почтовых обменниках, чтобы снять часть нагрузки.

1. Postgrey

Серое списание является довольно эффективной мерой против спама, поэтому мы, конечно, хотим включить его на почтовых обменниках. Прежде всего, давайте установим Postgrey. Как всегда, Debian делает это простым для нас:

# apt-get install postgrey

Postgrey будет внедрен перед тем, как postfix отправит почту на сервер почтальона, поэтому нам нужно добавить его в самом конце smtp_recipient_restrictions в main.cf.

# postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, check_policy_service inet:127.0.0.1:60000, permit'

Откройте /etc/default/postgrey в вашем любимом редакторе и измените строку опций на следующую:

[...]  
POSTGREY_OPTS="--inet=127.0.0.1:60000 --delay=55"  
[...]  

Затем перезапустите postgrey, и входящая почта будет задержана на 55 секунд. Вы будете удивлены, насколько много спама это предотвратит…

# invoke-rc.d postgrey restart

2. Postfix RBL и другие правила

Postgrey великолепен и определенно уменьшит количество спама, которое вы видите, но есть еще несколько ограничений, которые мы можем установить на обменниках перед тем, как они пойдут в производство. Я настоятельно рекомендую ознакомиться с веб-сайтом и документацией postfix, чтобы определить, что все эти команды означают:

# postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, reject_unknown_sender_domain, reject_rbl_client zen.spamhaus.org, reject_rbl_client list.dsbl.org, reject_rhsbl_sender dsn.fc-ignorant.org, check_policy_service inet:127.0.0.1:60000, permit'

Также стоит ограничить некоторые другие области:

# postconf -e 'smtpd_data_restrictions = reject_unauth_pipelining, reject_multi_recipient_bounce, permit'

F. Заключительные слова о почтовом обменнике

Итак, на данный момент ваши два почтовых сервера обмена (MX-1, MX-2) должны быть настроены. Эти серверы имеют RBL, DNS и защиту от СПАМА Postgrey, а также защиту квот.

Есть один пункт, который стоит обсудить, и это таблица транспортировки. Что стоит иметь в виду, так это то, что этот конкретный сценарий изначально был написан с намерением мигрировать с системы доставки на основе qmail на postfix. Таким образом, мы хотели иметь возможность контролировать медленную миграцию, один домен за раз, не беспокоясь о DNS. Мы настроили два сервера почтового обмена для обработки всей входящей почты, и изначально они просто использовали агента транспортировки smtp для пересылки почты на сервер qmail (после проверки postgrey). Затем, используя SQL-запросы транспортировки, мы смогли перенаправить один домен за раз на новый формат.

Таким образом, на самом деле, вы могли бы упростить процесс транспортировки, если начинаете с нуля. Мы этого не делали, поэтому не могли.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.