Рейтинг:0

Почему сервер постфиксной ретрансляции не подписывает ретранслируемые сообщения с помощью DKIM?

флаг ua

У меня есть почтовый сервер postfix на Ubuntu 18, который действует как почтовый сервер ретрансляции для пары виртуальных машин и как сервер imap/smtp для наших колледжей. Если я отправляю электронное письмо из почтового клиента с smtp напрямую через сервер ретрансляции, электронное письмо правильно подписывается сервером.

Однако если я отправлю электронное письмо с виртуальной машины через постфиксный сервер виртуальной машины, который пересылает все на сервер ретрансляции, то сообщение не будет подписано. Вот соответствующая часть почта.лог сервера ретрансляции:

29 марта 15:43:15 zg-3 postfix/pickup[6925]: D6775A2CE0: uid=1002 from=<[email protected]>
29 марта 15:43:15 zg-3 postfix/cleanup[9282]: D6775A2CE0: message-id=<[email protected]>
29 марта 15:43:15 zg-3 postfix/qmgr[28882]: D6775A2CE0: from=<[email protected]>, size=1005, nrcpt=1 (очередь активна)
29 марта 15:43:18 zg-3 postfix/smtp[9292]: D6775A2CE0: to=<[email protected]>, relay=mail.destination.org[109.61.0.141]:25, задержка=2.4, задержки= 0.01/0.01/0.16/2.2, dsn=2.0.0, статус=отправлено (250 2.0.0 от MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Хорошо: в очереди как 31688123853)
29 марта 15:43:18 zg-3 postfix/qmgr[28882]: D6775A2CE0: удалено

Мой /etc/opendkim/trusted.hosts:

127.0.0.1
локальный хост
*.mydomain.org

Мой /etc/opendkim/key.table:

default._domainkey.mydomain.org mydomain.org:default:/etc/opendkim/keys/mydomain.org/default.private

И у меня есть ключ в правильном файле (обратите внимание, что электронное письмо, отправленное напрямую, использует

тот же ключ для правильной подписи):
$ ls -l /etc/opendkim/keys/mydomain.org/default.*
-rw------- 1 opendkim opendkim 1675 25 июня 2018 г. /etc/opendkim/keys/mydomain.org/default.private
-rw------- 1 root root 495 25 июня 2018 г. /etc/opendkim/keys/mydomain.org/default.txt

Мой /etc/postfix/main.cf:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
биф = нет

# добавление .domain - это работа MUA.
append_dot_mydomain = нет

# Раскомментируйте следующую строку, чтобы сгенерировать предупреждение об "отложенной почте"
#delay_warning_time = 4 часа

readme_directory = нет

myhostname = zg-3.mydomain.org
alias_maps = хеш:/и т.д./псевдонимы
alias_database = хэш:/и т.д./псевдонимы
мое происхождение = mydomain.org
мой пункт назначения = zg-3.mydomain.org, localhost.mydomain.org, локальный хост
ретранслятор =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 zg-2.mydomain.org zg-3.mydomain.org lu1.mydomain.org 172.16.0.0/16
# 50 МБ
message_size_limit = 52428800

### TLS-параметры
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=да
smtpd_tls_session_cache_database = btree:${каталог_данных}/smtpd_scache
smtp_tls_session_cache_database = btree:${каталог_данных}/smtp_scache

### SMTP-аутентификация Dovecot
smtpd_sasl_type = голубятня
smtpd_sasl_path = частный/авторизация
smtpd_sasl_auth_enable = да
# В версии Postfix до 2.10 используйте smtpd_recipient_restrictions
#smtpd_relay_restrictions = Permit_myNetworks, Permit_Sasl_аутентифицированный, reject_unauth_destination
smtpd_recipient_restrictions = allow_mynetworks, allow_sasl_authenticated, reject_unauth_destination
# Конфигурация Milter
# OpenDKIM
milter_default_action = принять
milter_protocol = 6
smtpd_milters = локальный:/opendkim/opendkim.sock
non_smtpd_milters = локальный:/opendkim/opendkim.sock

почтовый ящик_размер_лимит = 0
виртуальный_почтовый_лимит = 0
получатель_разделитель = +
inet_interfaces = все

### Настройка виртуальных почтовых ящиков
home_mailbox = Почтовый каталог/
virtual_mailbox_domains = /etc/postfix/vhosts
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = хеш:/etc/postfix/vmaps
виртуальный_минимум_uid = 1000
виртуальные_uid_maps = статические: 1002
виртуальные_гид_карты = статические: 1002

виртуальный_транспорт = голубятня
spamassassin_destination_recipient_limit = 1
dovecot_destination_recipient_limit = 1

Мой /etc/postfix/master.cf:

# Конфигурационный файл главного процесса Postfix. Для получения подробной информации о формате
# файла, см. справочную страницу master(5) (command: "man 5 master").
#
# Не забудьте выполнить "постфиксную перезагрузку" после редактирования этого файла.
#
# ================================================ ==========================
# тип сервиса private unpriv chroot wakeup maxproc command + args
# (да) (да) (да) (никогда) (100)
# ================================================ ==========================
smtp инет п - - - - smtpd
  -o content_filter=спамассасин
#smtp inet n - - - 1 постскрин
#smtpd проход - - - - - smtpd
#dnsblog unix - - - - 0
#tlsproxy unix - - - - 0 tlsproxy
представление inet n - - - - smtpd
  -o syslog_name=postfix/submission
  # SSL/TLS
  -o smtpd_tls_wrappermode=да
  # СТАРТЛС
  # -o smtpd_tls_security_level=шифровать
  -o smtpd_sasl_auth_enable=да
  -o smtpd_client_restrictions=permit_sasl_authenticated,отклонить
  -o milter_macro_daemon_name = ПРОИСХОЖДЕНИЕ
smtps инет п - - - - smtpd
  -o syslog_name=postfix/smtps
  # SSL/TLS
  -o smtpd_tls_wrappermode=да
  # СТАРТЛС
  # -o smtpd_tls_security_level=шифровать
  -o smtpd_sasl_auth_enable=да
  -o smtpd_client_restrictions=permit_sasl_authenticated,отклонить
  -o milter_macro_daemon_name = ПРОИСХОЖДЕНИЕ
#628 инет n - - - - qmqpd
пикап fifo n - - 60 1 пикап
очистка unix n - - - 0 очистка
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr unix - - - 1000? 1 тлсмгр
переписать unix - - - - - тривиально-переписать
отказ unix - - - - 0 отказ
отложить unix - - - - 0 отказов
трассировка unix - - - - 0 отказов
проверить unix - - - - 1 проверить
прошить unix---1000? 0 флеш
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
реле unix - - - - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - - - - showq
ошибка unix - - - - - ошибка
повторите попытку unix - - - - - ошибка
отбросить unix - - - - - отбросить
локальный unix - n n - - локальный
виртуальный unix - n n - - виртуальный
лмтп unix - - - - - лмтп
наковальня unix - - - - 1 наковальня
архив unix - - - - 1 архив
#
# ================================================ ====================
# Интерфейсы к программному обеспечению, отличному от Postfix. Обязательно изучите инструкцию
# страниц программного обеспечения, отличного от Postfix, чтобы узнать, какие параметры ему нужны.
#
# Многие из следующих сервисов используют доставку Postfix pipe(8)
# агент. См. справочную страницу pipe(8) для получения информации о ${recipient}
# и другие параметры конверта сообщения.
# ================================================ ====================
#
# почтовая рассылка. Подробности смотрите в файле Postfix MAILDROP_README.
# Также укажите в main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - канал
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ================================================ ====================
#
# Последние версии Cyrus могут использовать существующую запись "lmtp" master.cf.
#
# Указываем в cyrus.conf:
# lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Укажите в main.cf одно или несколько из следующего:
# mailbox_transport = lmtp:inet:localhost
# виртуальный_транспорт = lmtp:inet:localhost
#
# ================================================ ====================
#
# Cyrus 2.1.5 (Амос Гуо)
# Также указать в main.cf: cyrus_destination_recipient_limit=1
#
#cyrus unix - n n - - труба
# user=cyrus argv=/cyrus/bin/deliver -e -r ${отправитель} -m ${расширение} ${пользователь}
#
# ================================================ ====================
# Старый пример доставки через Cyrus.
#
#old-cyrus unix - n n - - pipe
# flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ================================================ ====================
#
# Подробности конфигурации смотрите в файле Postfix UUCP_README.
#
uucp unix - n n - - канал
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Другие внешние способы доставки.
#
ifmail unix - n n - - канал
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - канал
  флаги=Fq.user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
бэкенд-подсистема масштабирования unix — n n — 2 канала
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
почтальон unix - n n - - труба
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${пользователь}
spamassassin unix - n n - - pipe
  flags=DROhu user=vmail:vmail argv=/usr/bin/spamc -f -e /usr/local/v2_mail/v2/script/v2_lda.sh ${отправитель} ${пользователь}@${nexthop}
dovecot unix - n n - - труба
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${отправитель} -d ${пользователь}@${nexthop}
anx avatar
флаг fr
anx
`milter_macro_daemon_name=ORIGINATING` — типичный способ сообщить dkim milter, когда включать функции подписи (а когда только проверять подписи). Поскольку это добавлено только к портам только для sasl, могут ли другие ретрансляторы доставлять почту через порт 25, где это намеренно не установлено? Это будет видно над выдержкой из вашего журнала, потому что постфикс скажет, где он получил сообщение (smtp, отправка или smtps).

Ответить или комментировать

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