Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Для каждой A записи должна существовать зеркальная PTR запись, то есть по имени хоста через DNS получаем IP, а по IP — обратно то же имя хоста.
# Запись A для почтового сервера всегда должна иметь зеркальную PTR запись.Нет. Более мягкое ограничение reject_unknown_reverse_client_hostname требует у клиента наличия любого PTR для его IP адреса, более строгое ограничение reject_unknown_client_hostname требует, чтобы IP клиента ресолвился в любое доменное имя, и это доменное имя ресолвилось в IP клиента. Ограничения на «то же имя хоста» нет. Пример проверки клиента: 10.11.1.1 → example.com; example.com → 10.11.1.1; 10.11.1.1 = 10.11.1.1.
[reject_unknown_client_hostname] требует, чтобы IP, с которого совершается соединение, резолвился в имя из HELO, а имя из HELO резолвилось в свою очередь обратно в искомый IP. То есть фактически эта опция требует, чтобы сервер представлялся именно тем именем, под которым он известен в интернете (прописан в DNS).
# HELO заголовок должен в точности совпадать с именем сервера из A и соответствующей PTR записи.Ничего он такого не требует и не должен, см. выше. Имя может быть любым, с HELO не сравнивается. Единственное ограничение на HELO — имя должно иметь любую A или MX запись (reject_unknown_helo_hostname).
smtpd_reject_unlisted_recipient = yesЭтот параметр установлен по умолчанию, про него можно не писать.
Либо запрещающей опцией, имеющей тот же эффект:Ещё чего. Здесь, видимо, имелось в виду reject_unlisted_recipient.
reject_unlisted_sender
[reject_unauth_destination] превращает Postfix из почтового релея (то есть сервера пересылки) в конечный пункт назначения писем, поэтому используется не часто (т.к. обычно исходящие SMTP серверы совпадают со входящими, а значит вашим пользователям нужна будет возможность посылать через SMTP сервер письма наружу для адресатов, находящихся вне обслуживаемых постфиксом доменов).Ну да, опция, установленная по умолчанию в настройке smtpd_recipient_restrictions, «используется не часто». Чтобы разрешить отсылку писем на чужие адреса, используется либо опция доверенного IP клиента (permit_mynetworks), либо авторизация паролем (permit_sasl_authenticated). Опция же smtpd_recipient_restrictions никуда не убирается, поскольку иначе вы разрешите рассылать через ваш сервер всем (open-relay).
Однако не FQDN передают только самые глупые спамеры (и продукты MS, но им, как известно, законы не писаны)
MS во всех своих инфраструктурных продуктах посылает не FQDN.
The sender MUST delay retrying a particular destination after one
attempt has failed. In general, the retry interval SHOULD be at
least 30 minutes; however, more sophisticated and variable strategies
will be beneficial when the SMTP client can determine the reason for
non-delivery.
check_helo:
accept hosts = +relay_from_hosts
accept condition = ${if eq {$interface_port}{587}{yes}{no}}
deny message = "ERR. Blacklisted HELO/EHLO received $sender_host_address (1)"
hosts = !+relay_from_hosts
condition = ${lookup{$sender_helo_name}nwildlsearch{/etc/exim4/blacklist_helo}{1}{0}}
deny message = "ERR. Bad HELO/EHLO received IP $sender_host_address (2)"
hosts = !+relay_from_hosts
condition = ${if match{$sender_helo_name}{\N^\d+$\N}{yes}{no}}
deny message = "ERR. Bad HELO/EHLO received IP $sender_host_address (3)"
hosts = !+relay_from_hosts
condition = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}
deny message = "ERR. Bad HELO/EHLO received IP $sender_host_address (4)"
hosts = !+relay_from_hosts
condition = ${if match{$sender_helo_name}{\N^\[?\d+\.\d+\.\d+\.\d+\]?$\N}{yes}{no}}
deny message = "ERR. Bad HELO/EHLO received IP $sender_host_address (5)"
condition = ${if match{$sender_helo_name} {\N\.\N}{no}{yes}}
hosts = !+relay_from_hosts
deny message = "ERR. Bad HELO/EHLO received IP $sender_host_address (6)"
condition = ${if eq{$sender_helo_name}{$interface_address}{yes}{no}}
deny message = "ERR. HELO/EHLO required by SMTP RFC IP $sender_host_address (7)"
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
!senders = :
accept
Неприступный почтовый сервер, или жизнь без спама