Postfix и поддомены

Postfix и поддомены

Я установил Postfix на машине с Ubuntu 20.04. Однако я не уверен, где мне использовать поддомен, а где домен. Давайте назовем их mail.example.comи example.comсоответственно.

Система является нулевым клиентом, отправляющим электронные письма, но не получающим их (реализовано через inet_interfaces = loopback-only) /etc/postfix/main.cf. Я намерен отправлять сообщения [email protected]исключительно из .

  • Запись MX — @ IN MX 0 mail.example.com.
  • Записи для обоих @указывают mailна сервер Postfix.
  • Сертификаты TLS, упомянутые в, /etc/postfix/main.cfотносятся к mail.example.com: smtpd_tls_cert_file=/etc/letsencrypt/live/mail.example.com/fullchain.pemи smtpd_tls_key_file=/etc/letsencrypt/live/mail.example.com/privkey.pem.
  • С smtp_generic_maps = hash:/etc/postfix/genericпереписываю user@hostnameв .[email protected]/etc/postfix/main.cf
  • Я добавил masquerade_domains = example.comin /etc/postfix/main.cf, чтобы заменить mail.example.comin [email protected]на example.com. Почему-то это не работает. Письма все равно приходят от отправителя [email protected].

Соответственно, вопросы следующие:

  • Обязательно ли использовать @или mailв записи MX?
  • Должны ли сертификаты TLS ссылаться на mail.example.comили на example.com?
  • Следует ли /etc/postfix/genericсначала конвертировать user@hostnameв [email protected]или сразу в [email protected]?

решение1

Самый правильный способ сделать это в настоящее время — создать учетную запись на соответствующем почтовом сервисе, который полностью настроен для обслуживания example.com. (Конечно, это может быть ваш собственный сервер, это не имеет значения.) Затем на вашем нулевом хосте вы настраиваете только почтовый сервер как смарт-хост с аутентификацией SASL.

Хотя настроить Postfix таким образом вполне возможно (есть множество руководств, включая собственное Postfix), я думаю, что Postfix — это излишество для такого использования. Рассмотрите возможность использования nullmailer, которое подходит как раз для систем, которые ничего не делают с почтой, кроме как создают некоторые системные уведомления.

Если это невозможно, настройте DNS следующим образом:

  • example.comЗапись MX указывает на его собственную почтовую службу. Она не имеет ничего общего с поддоменами.
  • nullhost.example.com. MX 10 ., т.е. указывают в никуда. Это явное указание на то, что вы не собираетесь получать почту для [email protected]. Это не обязательно, если вы защищаете службу smtpd пустого хоста от внешних подключений (брандмауэр tcp/25, только прослушивание localhost:25и т.д.); однако явное всегда лучше неявного.
  • этот нулевой хост собирается отправить почту, которая устанавливается example.comкак домен отправителя, поэтому его почта должна подчиняться настройкам DMARC для этого домена. В противном случае корректно работающие получатели будут отбрасывать его почту.

Этот последний пункт, DMARC, может значительно усложнить ситуацию. Если он установлен безопасно, что означает, что запись выглядит как _dmarc.example.com. TXT "v=DMARC1; p=reject; pct=100; ...", вам нужно будет настроить подписывание SPF и DKIM на нулевом хосте. SPF прост, просто добавьте "a:nullhost.example.com" в запись SPF TXT. DKIM сложен, вам нужно будет создать дополнительную пару ключей DKIM, выбрать селектор ( nullhostвероятно, подойдет), установить его публичную пару в DNS как nullhost._domainkey.example.com. TXT "... key data ...". Затем настройте подписывание с соответствующим закрытым ключом непосредственно на нулевом хосте (и используйте выбранный селектор), я бы использовал opendkim для этого. Я упоминал, что использование смарт-хоста является предпочтительным методом?


И ваши вопросы.

  • Вы не сервер (вы сказали, что эта система не должна получать почту). Поэтому вам не нужен никакой сертификат сервера TLS. Вы можете настроить все с помощью сертификата клиента TLS, так что когда вы подключаетесь к своему смарт-хосту или к другим серверам через TLS, вы сможете представить его. Но зачем вам это делать?
  • Запись «apex» @ MX, также известная как example.com. MX, должна быть направлена ​​на example.comмайл еИксchanger (система, которая получает почту для [email protected]). Это не имеет ничего общего с почтой для любого поддомена. Каждый поддомен является почтовым доменом сам по себе.
  • Как настроить переписывание адресов — решать вам. Единственное, что видит внешний мир — это конечный результат. Так зачем же делать это в два этапа?

Связанный контент