Назад | Перейти на главную страницу

Эффективная настройка dkimproxy в многодоменном сценарии

У меня есть настройка 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 определение.