web-dev-qa-db-ja.com

OpenDKIMが送信メールに署名しない

DebianとPostfixを実行しているメールサーバーでOpenDKIMをセットアップしようとしています。これは私が行った設定です:

  • 生成された2つのキー(メールを送信する必要がある2つのドメイン)
  • 構成されたKeyTable、SigningTable、およびTrustedHostsファイル:

KeyTable

mail._domainkey.domain1.com domain1.com:mail:/etc/opendkim/keys/domain1.com/mail.private
mail._domainkey.domain2.com domain2.com:mail:/etc/opendkim/keys/domain2.com/mail.private

SigningTable

*.domain1.com mail._domainkey.domain1.com
*.domain2.com mail._domainkey.domain2.com

TrustedHosts

127.0.0.1
::1
localhost

私のopendkim.confは:

# This is a basic configuration that can easily be adapted to suit a standard
# installation. For more advanced options, see opendkim.conf(5) and/or
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.

# Log to syslog
Syslog          yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask           002
LogWhy          yes

OversignHeaders     From

TrustAnchorFile       /usr/share/dns/root.key

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

最後に、milterソケットを使用してPostfixに接続しました。

Postfix main.cf

# Milters
smtpd_milters =
    unix:/opendkim/opendkim.sock,
    unix:/clamav/clamav-milter.ctl,
    unix:/spamass/spamass.sock

non_smtpd_milters = unix:/opendkim/opendkim.sock

この現在の状態では、OpenDKIMは受信メールの署名を正しく検証しますが、何らかの理由で送信メールに署名しません。メッセージを送信しようとすると、これはmail.logにログインします。

Nov  8 16:35:02 illium opendkim[30142]: 826DF501F39: %clienthostname% %clientip% not internal
Nov  8 16:35:02 illium opendkim[30142]: 826DF501F39: not authenticated
Nov  8 16:35:02 illium opendkim[30142]: 826DF501F39: no signature data

認証されたSMTPを使用してクライアントからPostfixにメールが送信されるため、not authenticatedの部分は正しくないと思います。

8
Compizfox

問題の原因は2つあります。

  1. opendkim.confのコメントとは異なり、mode = svnotがデフォルトです。明示的に設定する必要がありました。

  2. SigningTableでエラーが発生しました:*.domain1.com*@domain1.comである必要があります。

これらの2つのポイントを修正した後、正しく機能します。

5
Compizfox