Milter OpenDKIM не подписывает пересылаемую почту

Я использую OpenDKIM для подписи почты на моем сервере Postfix. Он работает по назначению при отправке с помощью SMTPS из исходного домена (скажем, example.com ). Однако почта, отправляемая от клиентов SMTP в локальной сети, не подписывается.client1@example.com). В идеале я хочу подписать исходящую почту.

В /etc/postfix/main.cf у меня есть:

smtpd_milters = unix:/var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock

В /etc/opendkim.conf у меня есть:

ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts

В / etc / opendkim / TrustedHosts У меня есть :

::1
127.0.0.1
localhost
ip6-localhost
ip6-loopback
mail
10.0.0.0/24
*.lan
0
задан 7 February 2017 в 03:03
3 ответа

Если они должны быть ретранслированы и подписаны в другие домены (на основе заголовка From: ), вам придется сопоставить эти другие домены с помощью SigningTable в opendkim, вы даже можете назначать разные ключи и селекторы, сопоставив их в KeyTable - оба указывают на разные файлы сопоставления.

У меня была аналогичная проблема, но я мог отлаживать это можно сделать, просмотрев заголовки почты - там вы найдете точное имя хоста и IP-адрес, который использует ретранслируемый сервер, например:

Received: from client1.lan (client1.localdomain [10.0.0.2]) by example.com 
          (Postfix) with ESMTPS id 71B8D10C1A68 for <client1@example.com>;
          Sun, 12 Feb 2017 13:19:33 +0000 (UTC)

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

0
ответ дан 5 December 2019 в 08:41

Был та же проблема: почта, отправляемая с удаленного хоста, не подписывалась.

Решение было простым: просто добавить IP-адрес удаленного отправителя в / etc / opendkim / TrustedHosts

0
ответ дан 5 December 2019 в 08:41

В Postfix убедитесь, что /etc/postfix/main.conf содержит:

milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen} {auth_type}

Это гарантирует, что почта, приходящая от аутентифицированных пользователей, будет подписана OpenDKIM. Согласно документации:

Сообщение будет проверено, если оно не соответствует критериям подписи, а именно: (1) домен на адресе От: (если присутствует) должен быть указан с помощью переключателя командной строки -d или домена настройки файла конфигурации и (2) (a) клиент, подключающийся к MTA, должен пройти аутентификацию , или (b) клиент, подключающийся к MTA, должен быть указан в файле, на который ссылается параметр файла конфигурации InternalHosts (или быть в списке по умолчанию для этой опции), или (c) клиент должен быть подключен к порту демона, указанному в настройках файла конфигурации MTA, или (d) MTA должен установить один или несколько макросов, соответствующих заданным критериям настройкой файла конфигурации MacroList.

Для (a) выше проверяется, установлен ли макрос MTA "{auth_type}" и содержит ли оно какое-либо непустое значение. Это означает, что MTA должен передать значение этого макроса фильтру до или во время фазы конца заголовка (EOH), чтобы его значение было проверено.

0
ответ дан 5 December 2019 в 08:41

Теги

Похожие вопросы