Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
vvk
7 лет назад

Как не надо настраивать DNS и почту на примере nic.ru

Столкнулись с проблемой прохождения почты от nic.ru, при разбирательстве всплыла интересная проблема с их стороны.

Предыстория

У нас используются SSL-сертификаты, которые были получены через nic.ru. Настало время их продлять, в связи чем была отправлена заявка в nic.ru. Заявки они принимают через email, и для SSL у них адрес приёма - ssl@nic.ru.

Для обработки заявок у них внутри используется система OTRS. При получении запроса на ssl@nic.ru создаётся тикет и клиенту отправляется автосгенерированное письмо с номером заявки.

Вот с этим письмом как раз и обнаружилась проблема - наш почтовый сервер его не принимал вот с таким сообщением:

Oct  9 15:31:00 mail1 postfix/smtpd[12586]: NOQUEUE: reject: RCPT from ext2.msk-relay.otrs.hostcomm.ru[89.104.90.14]: 450 4.1.8 <otrs@otrs.nic.ru>: Sender address rejected: Domain not found; from=<otrs@otrs.nic.ru> to=<XX@XX.ru> proto=ESMTP helo=<ext2.msk-relay.otrs.hostcomm.ru>

Что мы тут видим: письмо отклонено по той причине, что сработала проверка на существование домена, который указан в MAIL FROM на этапе SMTP-сессии (так называемый конверт, envelope-from). А именно, домен otrs.nic.ru, указанный в конверте, не резолвится.

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

Дальнейшее развитие ситуации

Позвонили в nic.ru и обрисовали проблему, причём на тех. спеца удалось выйти практически сразу, без прохождения сотен линий поддержки, что конечно является несомненным плюсом.

Первая реакция nic.ru - "а у нас домен otrs.nic.ru резолвится!". Логично, ведь с этим OTRS работают операторы, и внутри корпоративной сети у них всё работает.

Разбирательство

Дальше, чтобы показать им наличие проблемы, было проведено небольшое расследование.

Самая первая проверка:

% host otrs.nic.ru.
Host otrs.nic.ru. not found: 3(NXDOMAIN)

Далее смотрим подробно с помощью dig:

% dig otrs.nic.ru. a

; <<>> DiG 9.11.0-P3 <<>> otrs.nic.ru. a
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 18745
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;otrs.nic.ru.           IN  A

;; ANSWER SECTION:
otrs.nic.ru.        264 IN  CNAME   otrs1.int.nic.ru.

;; AUTHORITY SECTION:
int.nic.ru.     263 IN  SOA dns.infra.nic.ru. noc-dns.nic.ru. 650127673 10800 3600 1209600 3600

;; Query time: 0 msec
;; SERVER: 172.18.36.1#53(172.18.36.1)
;; WHEN: Mon Oct 09 16:51:33 +05 2017
;; MSG SIZE  rcvd: 118

Ага, а тут уже есть нечто интересное - CNAME-запись: otrs.nic.ru. 264 IN CNAME otrs1.int.nic.ru.
Также здесь мы видим в AUTHORITY SECTION:, что за зону int.nic.ru. авторитативным сервером указан хост dns.infra.nic.ru.

Далее спросим у этого авторитативного сервера, какие ns-ы отвечают за зону int.nic.ru.:

% dig @dns.infra.nic.ru. int.nic.ru. ns     

; <<>> DiG 9.11.0-P3 <<>> @dns.infra.nic.ru. int.nic.ru. ns
; (3 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44403
;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 4
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;int.nic.ru.            IN  NS

;; ANSWER SECTION:
int.nic.ru.     300 IN  NS  dns2.infra.nic.ru.
int.nic.ru.     300 IN  NS  dns3.infra.nic.ru.
int.nic.ru.     300 IN  NS  dns1.infra.nic.ru.

;; ADDITIONAL SECTION:
dns1.infra.nic.ru.  43200   IN  A   89.104.90.24
dns2.infra.nic.ru.  43200   IN  A   89.104.94.10
dns3.infra.nic.ru.  43200   IN  A   77.222.41.180

;; Query time: 41 msec
;; SERVER: 77.222.41.180#53(77.222.41.180)
;; WHEN: Mon Oct 09 17:01:22 +05 2017
;; MSG SIZE  rcvd: 150

Спросим у dns1.infra.nic.ru. A-запись хоста otrs1.int.nic.ru.:

% dig @dns1.infra.nic.ru. otrs1.int.nic.ru. a

; <<>> DiG 9.11.0-P3 <<>> @dns1.infra.nic.ru. otrs1.int.nic.ru. a
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 47858
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;otrs1.int.nic.ru.      IN  A

;; AUTHORITY SECTION:
int.nic.ru.     300 IN  SOA dns.infra.nic.ru. noc-dns.nic.ru. 650127668 10800 3600 1209600 3600

;; Query time: 36 msec
;; SERVER: 89.104.90.24#53(89.104.90.24)
;; WHEN: Mon Oct 09 17:03:02 +05 2017
;; MSG SIZE  rcvd: 99

Облом, сервер не отдаёт A-запись. Очевидно, что по задумке зона int.nic.ru. предназначена только для внутреннего использования, и записи из неё наружу не отдаются.

Hint

Чтобы упростить процедуры выяснения, что куда резолвится, можно использовать опцию +trace у dig. Это позволяет наглядно проследить логику работы резолвера:

% dig +trace otrs1.int.nic.ru. a             
                                                                                   
; <<>> DiG 9.11.0-P3 <<>> +trace otrs1.int.nic.ru. a
;; global options: +cmd
.           3955    IN  NS  e.root-servers.net.
.           3955    IN  NS  c.root-servers.net.
.           3955    IN  NS  d.root-servers.net.
.           3955    IN  NS  k.root-servers.net.
.           3955    IN  NS  j.root-servers.net.
.           3955    IN  NS  l.root-servers.net.
.           3955    IN  NS  h.root-servers.net.
.           3955    IN  NS  f.root-servers.net.
.           3955    IN  NS  g.root-servers.net.
.           3955    IN  NS  b.root-servers.net.
.           3955    IN  NS  m.root-servers.net.
.           3955    IN  NS  i.root-servers.net.
.           3955    IN  NS  a.root-servers.net.
.           220851  IN  RRSIG   NS 8 0 518400 20171018170000 20171005160000 46809 . KL9N9hZL0+qAz3HTc+Vs9PY/BP+1atOJvb+WF6MK9UzIGRa92Kbc1yMn 0qeRFkXIVG6KuKU0kymWepJiy8BvnNhI7VlIa6n/YrX377q0KT3SHBW0 CHD6r/0io5CHtcmpgaD7P6nNmOJ7b7liytsuspQLZ8AbCJqJwuJh7WC2 vg+NmmVo9Scre3zTVEyG/WFYcnVPrZBpB3biYeW5kNapodhEmjTI38vI pkEWr9bXTv8YdjN8ASEsCVuWPldO/Ipd6ZiSYb0WodA5RV5xplNk+/5v 41bnGquU7UHVa4MEMvNUc7HEp2BM7+tjsufZ9/AyUIbRithk/SGIl4Km ZaOGIA==
;; Received 1097 bytes from 172.18.36.1#53(172.18.36.1) in 5 ms

ru.         172800  IN  NS  a.dns.ripn.net.
ru.         172800  IN  NS  b.dns.ripn.net.
ru.         172800  IN  NS  d.dns.ripn.net.
ru.         172800  IN  NS  e.dns.ripn.net.
ru.         172800  IN  NS  f.dns.ripn.net.
ru.         86400   IN  DS  33094 8 2 7228B0DCE8E4DEDA575C7DB69CBF55C43FCCC4BB60FBCC717DDABED1 D17338E1
ru.         86400   IN  RRSIG   DS 8 1 86400 20171022050000 20171009040000 46809 . EUc6ZNfPlp50ikOpUJmJTNpChNE89TIMQ5VD8z7i4iXU94zyub7NQeCe nRFYdVNuAFV6kevheydJUCOb9LUHSO9Xe7BKSbiuITYd7WpoQvLd+PM+ pb9rsyGy4mqUMzixJ2DNllea2efr/IUgiGnu5EIVQOnPb+lHE39rKiRl 9ak8m+LeMKQSusAnBglSEaKmp57eyMgMIVc5yEi+9rLIPdCjmKiQMmEX XxM79+pyajji+5BZMcuRqL6EPSILrV6V7+yQRYXoYqrS03BqFb/P/OP5 Zh3RP1dW6fRt3Sco7V9j01hxpRR6ID9BeoW2OC8w6WQ5dRxVYUcyysQX tnXWZg==
;; Received 692 bytes from 199.7.83.42#53(l.root-servers.net) in 50 ms

nic.ru.         345600  IN  NS  ns5.nic.ru.
nic.ru.         345600  IN  NS  ns6.nic.ru.
nic.ru.         345600  IN  NS  ns7.nic.ru.
nic.ru.         345600  IN  NS  ns9.nic.ru.
nic.ru.         345600  IN  NS  ns4-cloud.nic.ru.
nic.ru.         345600  IN  NS  ns8-cloud.nic.ru.
tdui9d4jkuds8b9t86gj39pgflcnlgm5.ru. 3600 IN NSEC3 1 1 3 00FF TEGFE4HCE6I000OFKHF21ET33KU8RGJM  NS SOA RRSIG DNSKEY NSEC3PARAM
tdui9d4jkuds8b9t86gj39pgflcnlgm5.ru. 3600 IN RRSIG NSEC3 8 2 3600 20171031024624 20170926183416 16149 ru. tACqWYnEhfsshLtbc0YQkkiVDcxcrhu9QLcEtHTsa74s3fRAeU/49Id9 Z3nLv4N1xAX3Sh60m31U80fC/wymOaGG0QTX9d8oqHJw1/iwd1FkoWMO JLCEXNLkvlO+P5sQHLtgwnQ0gbRqF3ZZxeZB1IAWWJCwOCt1MCSYm4pH 7Mk=
oh3edjhuiabtdd2dd85qthokhepilm8v.ru. 3600 IN NSEC3 1 1 3 00FF OIEPCS7E34RFVQ0FO308VCBTOMQ2TFPI  NS DS RRSIG
oh3edjhuiabtdd2dd85qthokhepilm8v.ru. 3600 IN RRSIG NSEC3 8 2 3600 20171106080424 20171001103147 16149 ru. vEo08i7PkAwZp3pYmvN2Ldo4WZeINsAX9ZIyC56xJK9A5ns3/7P9bHoF ThFh3qfXp3XK9ZWPvrJlrSu8ugKAxQNULfEd+R15KATcm8CmC5tyu0DB B0G67Gt/0wAP/xEmrTY+ywzOGE/o0vcBZsCbpFfX/T+DZEs6rrznFZr8 Eno=
;; Received 916 bytes from 193.232.142.17#53(e.dns.ripn.net) in 89 ms

int.nic.ru.     300 IN  NS  dns3.infra.nic.ru.
int.nic.ru.     300 IN  NS  dns1.infra.nic.ru.
int.nic.ru.     300 IN  NS  dns2.infra.nic.ru.
;; Received 156 bytes from 31.177.71.100#53(ns7.nic.ru) in 68 ms

int.nic.ru.     300 IN  SOA dns.infra.nic.ru. noc-dns.nic.ru. 650127673 10800 3600 1209600 3600
;; Received 99 bytes from 89.104.94.10#53(dns2.infra.nic.ru) in 34 ms

Здесь мы видим, что процесс резолвинга завершился ответом dns2.infra.nic.ru, который отдал только SOA, а A-запись не отдал. Запустите для интереса команду типа dig +trace ya.ru. a - там будет видна A-запись, что показывает успешный результат.

Вывод

  1. Даже крупные компании типа nic.ru допускают глупые ошибки конфигурирования.
  2. Отправка почты с какой-либо системы нуждается в тщательной настройке и проверке, с учётом влияния настроек DNS.

Финал

После вышеописанного объяснения nic.ru признали наличие проблемы, но сказали что исправлять ничего не будут, и посоветовали просто прописать их в вайтлист, что собственно мы и сделали.


Данный пост участвует в программе 50/50.
19
0.600 GOLOS
На Golos с September 2017
Комментарии (3)
Сортировать по:
Сначала старые