Конфигурационный файл службы Postfix позволяет произвести более тонкую настройку и собственными средствами сократить кол-во спама на уровне самой службы. В данном руководстве мы будем блокировать почту от отправителей без PTR записи, с некорректным приветствием, а также по спискам DNSBL.
1. Внесем данные настройки в конфигурационный файл (закомментируем строку):
nano /etc/postfix/main.cf
#smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
Добавим следующую конфигурацию:
nano /etc/postfix/main.cf
smtpd_client_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_pipelining
permit
smtpd_helo_restrictions =
permit
smtpd_sender_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_non_fqdn_sender
reject_unknown_sender_domain
permit
smtpd_relay_restrictions =
permit_mynetworks
permit_sasl_authenticated
defer_unauth_destination
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_non_fqdn_recipient
reject_unauth_destination
reject_unknown_recipient_domain
reject_unverified_recipient
reject_unknown_client_hostname
reject_invalid_helo_hostname
reject_non_fqdn_helo_hostname
reject_unknown_helo_hostname
reject_rbl_client b.barracudacentral.org
reject_rbl_client dnsbl.abuse.ch
reject_rbl_client bl.spamcop.net
reject_rbl_client dul.ru
permit
smtpd_data_restrictions =
permit
smtpd_end_of_data_restrictions =
permit
Для применения настроек перезапустим postfix:
systemctl restart postfix
Убирая или добавляя правила мы можем регулировать уровень требовательности к отправителю, например популярные почтовые сервисы в своем большинстве принимают почту с некорректным приветствием сервера и без сопоставления PTR записи к MX. Ниже приведено описание настроек:
- permit_mynetworks — разрешает все адреса, перечисленные в настройках mynetworks.
- allow_sasl_authenticated - Разрешает запросы от всех клиентов, успешно прошедших проверку подлинности.
- reject_unauth_pipelining — отклоняет предварительно отправленные электронные письма (пропуская правильную цепочку сеансов SMTP).
- reject_non_fqdn_sender — отклонить соединение, если адрес отправителя неверен.
- reject_unknown_sender_domain — отклоняет запрос, если Postfix не является конечным пунктом назначения для адреса отправителя, в то время как заголовок MAIL FROM не имеет: записи DNS MX и записи DNS A.
- reject_non_fqdn_recipient — отказать в соединении, если адрес получателя неверный.
- reject_unauth_destination — запрещает подключение к службе без авторизации.
- reject_unknown_recipient_domain — отклонить запрос, если домен отправителя не имеет в DNS записей: MX и A.
- reject_unverified_recipient — отклонить запрос, если известно, что почта на адрес RCPT TO была отклонена или когда адрес получателя недоступен.
- reject_unknown_client_hostname — проверяет наличие PRT-записи отправителя и наличие рабочей А-записи в соответствие PTR.
- reject_invalid_helo_hostname — проверяет синтаксис HELO-приветствия.
- reject_non_fqdn_helo_hostname — требует правильного FQDN-имени во время HELO-приветствия.
- reject_unknown_helo_hostname — запрещает представляться именами, для которых нет А-записи или MX.
- reject_rbl_client — проверяет наличие отправителя в черных списках.
- permit - Разрешить подключение. Присутствует в конце каждого блока (если письмо не попало не под одно правило запрета - доставляем).
message reject detail
---------------------
RCPT
blocked using b.barracudacentral.org (total: 99)
74 192.xxx.216.130
14 91.122.xxx.94
2 157.xx.204.210
2 94.139.xxx.39