У меня есть настройка postfix / dkimproxy, которая работает не так, как мне нравится.
у меня есть exampledomain.org
с SPF, разрешающим почту только от server.exampledomain.org
(rDNS отображается правильно), который также имеет псевдоним smtp.exampledomain.org
.
В настоящее время веб-приложения, работающие на сервере, используют встроенную функцию Postfix. sendmail
при отправке исходящих писем. Эти письма приходят от wwwrun@server.exampledomain.org
и они должным образом подписаны DKIM. Это верно!
Когда пользователь с @exampledomain.org
(я !!) отправляет почту из Outlook, к которой он подключается smtp.exampledomain.org
и аутентифицируется после STARTTLS
команда. К сожалению, электронные письма не подписаны DKIM. Журналы показывают, что электронное письмо автоматически ретранслируется и не проходит dkimproxy
. dkimproxy настроен следующим образом
# specify what address/port DKIMproxy should listen on
listen 127.0.0.1:10027
# specify what address/port DKIMproxy forwards mail to
relay 127.0.0.1:10028
# specify what domains DKIMproxy can sign for (comma-separated, no spaces)
domain server.exampledomain.org,exampledomain.org
# specify what signatures to add
signature dkim(c=simple)
signature domainkeys(c=nofws)
# specify location of the private key
keyfile /etc/ssl/private/dkim_server/dkim_server.key
# specify the selector (i.e. the name of the key record put in DNS)
selector server
Записи DNS TXT уже установлены.
Postfix настроен с использованием большого файла master.cf, который я не буду вставлять целиком. Соответствующие строки
#
# modify the default submission service to specify a content filter
# and restrict it to local clients and SASL authenticated clients only
#
submission inet n - n - - smtpd
-o smtpd_etrn_restrictions=reject
-o smtpd_sasl_auth_enable=yes
-o content_filter=dksign:[127.0.0.1]:10027
-o receive_override_options=no_address_mappings
-o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
#
# specify the location of the DomainKeys signing filter
#
dksign unix - - n - 10 smtp
-o smtp_send_xforward_command=yes
-o smtp_discard_ehlo_keywords=8bitmime,starttls
#
# service for accepting messages FROM the DomainKeys signing filter
#
127.0.0.1:10028 inet n - n - 10 smtpd
-o content_filter=
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
Почему dkimproxy не обрабатывает почту, приходящую извне?
Вам необходимо убедиться, что Outlook подключается к порту отправки (порт 587), а не к порту 25. Это связано с тем, что конфигурация Postfix работает, подписывая почту, полученную через порт 587 (то есть от ваших клиентов, отправляющих исходящую почту), но не почту. получен через порт 25 (потому что это почта доставляется на ваш сервер другими MTA). Это реализовано content_filter
линия в main.cf
, который, как вы заметите, присутствует в submission inet
определение, но не smtp inet
определение.