web-dev-qa-db-ja.com

opendkim着信は検証されていません

DebianWheezyに接尾辞付きのopendkimをインストールしました。送信メールはDKIM署名を取得しています。 smtpdと非smtpdmilterの仕様は同じです。

着信メールは検証されていないようです-メールクライアントにはAuthentication-Resultsヘッダーがありません。 opendkim構成に「AlwaysAddARHeaderyes」を追加しましたが、違いはありません。

メールログには、メッセージを受信すると、opendkimによるさまざまなエントリすべての中に2つあります。 1つ目はサーバーを識別し、「内部ではない」を追加します(これは、Googleの場合は妥当と思われます)。 2番目は「認証されていません」とだけ言っています。しかし、認証されない理由はわかりません!どこで解決策を探すことができますか?

2
user203826

コンテンツフィルタの宛先の,no_miltersオプションにより、コンテンツフィルタの前後でmilterが2回実行されないように見えます。

,no_miltersオプションを削除できます。結果は次のとおりです。

  • opendkimがメールを確認できるようになりました
  • milterは送信メールで2回実行されるため、メールに2つのdkim署名があります

,no_miltersオプションを取り戻した場合でも、opendkimはメールに署名できますが、確認する機能は失われます。 amavisを少しいじくり回すと、amavisがopendkimと同じIDを使用することがわかりました。これは、両方が準拠している標準があるため、驚くことではありません。 amavisは、検証後に追加されたヘッダーopendkimを(実際にはまだメッセージを検証します)空のヘッダーに置き換えるため、opendkimはメッセージを検証しないように見えます。

したがって、このヘッダーが消えないようにする方法は2つあります。

  1. コンテンツフィルターの後にmilterを実行しますが、これは設計上不可能だと思います
  2. amavisがこのヘッダーを上書きしないようにする

ミルターがアマビスの前に走るのを防ぎ、後に走らせる方法を見つけることができませんでした。ただし、50ユーザーの構成ファイルの終わり近くで$myauthservid = "amavis.local";を再定義することにより、amavisがそのヘッダーを書き換えるのを防ぐことができます。少なくともそれが私が自分でこれを解決した方法です。

2
PF4Public

「認証されていない」というのは、リモートメールサーバーがメッセージに署名していないからかもしれません。誰もがDKIMでメールに署名しているわけではありません。実際、このメカニズムは、本来あるべきほど広く実装されていません。そうは言っても、DKIMを使用すると、メールの配信可能性が大幅に向上しますが、組織にメールを送信するすべての人がDKIMを使用することを期待しないでください。 DKIM私の謙虚な意見ではゆっくりと成長しています。

これは興味深いと思うかもしれません DKIM展開トレンド実験。

また、リモートサーバーがメッセージに署名していて、メールサーバーがそれを無視していることが確実な場合は、ここで 既知のバグを確認することをお勧めします。

0