Как DNS-запись может сказать «у этого домена нет почтового сервера»?

8

Как правильно настроить запись DNS, в которой говорится, что «в этом домене нет почтового сервера»?

Я предполагаю, что мне нужна специальная запись MX, чтобы сделать это, иначе будет предполагаться, что запись A является ответом.

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

Брайан Филд
источник
1
Я испытываю соблазн сказать, что установить что-то вроде MX 0 localhost. этого вернет отправителю.
Зоредаче
3
Не запускайте почтовый сервер.
Майкл Хэмптон
3
@Zoredache Плохой почтовый админ! Нарушение RFC.
HopelessN00b
1
Адрес злоупотребления @ необязателен. Требуется только адрес электронной почты администратора, который не обязательно должен находиться в одном домене.
Джон Гарденер
1
Веб-сервер никогда не отвечает за обработку электронной почты. Веб-сервер фактически получал бы попытки подключения SMTP только в том случае, если бы он находился на адресе записи домена A, записи MX не было, и он прослушивал порт 25. Даже при таких обстоятельствах, поскольку веб-сервер не говорит SMTP, эти попытки подключения будет молча игнорироваться.
Джон Гарденер

Ответы:

8

Из-за отказа прямого контакта с хостом через его адресные записи, единственная запись «null MX» - «MX 0». является очевидным предпочтительным способом указать, что хост не принимает электронную почту. Это похоже на «нулевую запись SRV» («SRV 0 0 0.»), Которая специально помечает службу как недоступную (согласно SRV-RR RFC 2782).

Это было стандартизировано RFC 7505 (по состоянию на декабрь 2017 года это предлагаемый стандарт ).

"MX 0 localhost." (или эквивалентная метка, указывающая на :: 1 и 127.0.0.1) также приемлема, но больше подходит для хоста, который должен отправлять почту самому себе (например, вывод задания cron), который не принимает внешнюю почту. Такие хосты могут иметь работающий почтовый сервер, который отключен от Интернета, но другие службы доступны.

Отсутствие записи MX и блокировка порта SMTP не мешают людям тратить входящую пропускную способность, пытаясь связаться с несуществующим сервером. Описанные выше методы с одной записью MX действительно предотвращают такой трафик, поскольку записи типа адреса никогда не пробуются, когда присутствует хотя бы одна запись MX. Это, вероятно, не помешает некоторым спамерам пытаться связаться с хостом напрямую через его адресные записи. Тем не менее, поскольку он останавливает попытки законного трафика, вы сможете идентифицировать источники спама со 100% уверенностью.

Использование личных адресов не должно использоваться, потому что нельзя сказать, где они окажутся. Использование других зарезервированных адресов (например, адрес документации 192.0.2.0/24) также неуместно, за исключением случаев, когда пытаются идентифицировать и перехватить спамеров в собственной сети, когда они пытаются подключиться.

Мистер Х
источник
3

Я не знаю, что такое «стандартный» способ, но вот один, с которым я столкнулся: установить MX recordадрес обратной связи .

Я предполагаю, что любой частный IP-адрес (или иначе "недопустимый" IP-адрес 0.0.0.0) добился бы цели. Лично я считаю, что делать это паршиво, но делать то, что ты хочешь. Вы можете связать его с именем хоста, например, thisdomaindoesntacceptemail.sostopsendingitкак услуга, с почтовым администратором, который в итоге получит билет за «отказ электронной почты», потому что ваш домен не будет принимать электронную почту. :)

Однако почему бы просто не удалить MX recordи установить правила брандмауэра A recordдля блокировки SMTP и TLS (и любых других почтовых портов)?

Это поможет понять ситуацию, и любой администратор, который выполнит поиск, не увидит «нет» MX record, а отказавшиеся соединения в случае сбоя A recordустранят любые сомнения в отношении намерений вашей конфигурации, если кто-нибудь даже присмотрится более внимательно после того, как не увидит «нет» MX record.

HopelessN00b
источник
4
Если вы злой, вы можете портить SMTP-порты. > :)
Zoredache
1
@Zoredache Или для еще более запутанного зла, используйте чужой SMTP-сервер в качестве своего MX record.
HopelessN00b
@Zoredache ха-ха, я сделаю это :))
golja
2
Процитирую свой комментарий "Плохая почта администратора! RFC нарушение".
Джон Гарденер
@JohnGardeniers Будьте честны. Я сказал, что думаю, что это паршиво, и предложил лучшее решение, соответствующее RFC. Но мы здесь не для того, чтобы помешать людям сбросить ноги, если это то, что они решают сделать, после того, как у них есть возможность принять полностью осознанное решение.
HopelessN00b
3

Простая запись TXT сделает это за вас, установите для записей SPF нулевое значение с серьезным сбоем:

@ IN TXT "v=spf1 -all"
* IN TXT "v=spf1 -all"

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

Мэтт Мак
источник
1

Я думаю, что указание несуществующего DNS-имени в качестве почтового хаба домена (MX) будет достаточно.

UPD. И, наконец, есть http://tools.ietf.org/html/draft-delany-nullmx-00

UPD. 2 : Это в конечном итоге превратилось в предложенный IETF стандарт : RFC 7505: «Null MX» - запись ресурса службы не для доменов, не принимающих почту

poige
источник
RFC разрешают возврат к записи A, если записи MX не существует. en.wikipedia.org/wiki/MX_record#History_of_fallback_to_A
Zoredache
1
Да, давайте добавим еще одну неверную настройку DNS в Интернет.
Джон Гарденер
@ Zoredache, это говорит в отсутствие MX.
Пой
@JohnGardeniers, кого это волнует? Вы? Почему? Либо у вас есть лучшая идея, либо у вас действительно ужасающие видения того, почему мое было бы слишком плохо, чтобы когда-либо думать. Итак, что у тебя? Ни?
Пой
@poige Хорошо подумал с этим черновиком, но, к сожалению, он никуда не делся, так что нет «официального» способа сказать this domain doesn't accept email.
HopelessN00b