Проверяет ли пересылка подтвержденный обратный DNS (fcrdns) только для поиска ip по имени хоста, а затем по имени хоста по IP, или он также сравнивается с первым именем хоста (особенно при фильтрации спама)?
Скажем, у меня есть эти записи:
MTA пытается проверить RDNS хоста и решает mail.mailserverdomain
к 127.0.0.1
, затем перевернуть 127.0.0.1
к reverse.somedomain
, а затем вперед reverse.somedomain
к 127.0.0.1
. Будет ли это действительный FCRDNS или запись PTR должна указывать на имя, указанное в HELO
команда (как почтовый сервер идентифицирует себя)?
Вопрос сводится к вопросу, если FCRNDS использует два или три запроса, поэтому последовательность будет либо:
HELO mail.senderdomain
mail.senderdomain
к IP.hostname.senderdomain
ПОТЕРПЕТЬ ПОРАЖЕНИЕ: hostname.senderdomain != mail.senderdomain
или
HELO mail.senderdomain
mail.senderdomain
к IPhostname.senderdomain
hostname.senderdomain
на тот же IPУСПЕХ: hostname.senderdomain
совпадает с соединяющимся ip и наоборот.
В качестве полезной проверки необходимо подтвердить HELO
имя хоста против ip (иначе мой почтовый сервер мог бы заявить в HELO, что это google), будет выполняться прямой поиск, который сравнивается с подключенным ip. Затем следующий шаг - обратный поиск, дающий имя хоста подключающегося ip. Теперь более короткая последовательность будет сравнивать имена хостов, а более длинная выполняет другой прямой поиск и сравнивает ips.
Если используется первая последовательность, это будет означать, что использование функциональных имен хостов, таких как mail.domain
в конфигурации почтового сервера при использовании имен хостов, которые идентифицируют хост в rDNS, например server123.domain
помечает ваше сообщение как возможное спам.
На самом деле ни то, ни другое.
FCRDNS означает «Обратный DNS с прямым подтверждением».
Это работает так: сначала ищется PTR-запись подключающегося IP-адреса. Если у него нет записи PTR, то проверка сразу же не выполняется. Почтовый сервер с этой функцией затем отклонит соединение, например, это отклонение, полученное с моего собственного почтового сервера:
Sep 18 02:48:10 grummle postfix/smtpd[16577]: NOQUEUE: reject: RCPT from unknown[204.51.178.49]: 450 4.7.1 Client host rejected: cannot find your hostname, [204.51.178.49]; from=<sent19274@eachbuyermail.net> to=<me@example.com> proto=ESMTP helo=<smtp49.rsend1.com>
Поскольку 204.51.178.49 не имеет записи PTR, обратная проверка DNS не выполняется.
Второй шаг - взять возвращенное имя хоста и найти его IP-адрес. Этот IP-адрес должен совпадать с IP-адресом, который установил соединение с сервером. Это то, что означает предварительное подтверждение. Если нет, то снова отклоняем соединение. (Так мало кто заходит так далеко, что у меня даже нет примера в журналах за последнюю неделю.)