From: <kei...@hi...> - 2013-08-23 02:49:03
|
お世話になっております。小林と申します。 8/20にご質問させて頂いた本件ですが、我々で検証を実施し、以下の結論に至りました。 ご協力ありがとうございました。 テストの結果は以下の通りです。 【背景】 特定ドメインからのメールについてENMAでの判定が一定しないため、ENMAの仕様について確認する。 (PassとSoftfailのケースがある) 原因として以下の可能性を想定。 ・DNSのクエリに対する応答が512byteより大きいため、UDP 512バイトの制限に引っかかっている。 ・SPFレコードに記述されているMXレコードが10個より多い。 ※本事象では該当ドメインのSPFレコードに記述されているMXが10個より多いことを確認済み。 ※RFC4408に「“mx”機構の評価中には10個を超えるMX名を検索してはならない」と記述あり。 【テストの目的】 以下のケースにおいて、受信メールに対するSPF認証結果にバラつきが出るかを確認する。 ・DNSのクエリに対する応答が512byteより大きい場合 ・TXTレコードに記述するmxが10個を超える場合 【テストパターン】 以下ケースにおいてメールを100通受信した場合の認証結果を確認する。 ケース1:TXTレコードに記述するmxを10個 & DNSクエリ応答512byte以下 ケース2:TXTレコードに記述するmxを10個 & DNSクエリ応答512byteより大きい ケース3:TXTレコードに記述するmxを11個 & DNSクエリ応答512byte以下 ケース4:TXTレコードに記述するmxを11個 & DNSクエリ応答512byteより大きい 【テスト結果】 ケース1:メール受信件数100件に対して Pass 100件 ケース2:メール受信件数100件に対して Pass 100件 ケース3:メール受信件数100件に対して Pass 91件 Softfail 9件 ケース4:メール受信件数100件に対して Pass 89件 Softfail 11件 【結論】 ・ケース2より、DNSのクエリに対する応答が512byteより大きい場合でも問題なく判定可能。 ・ケース3より、MXレコードが10個より多い場合に認証結果にバラつきが生じる。 よって、ENMAではRFC4408の定義に従いMXを10個までしか検証しないことが、本事象の原因と判断する。 【私見】 上記の仕様によって認証結果にバラつきが出るものと考えますが、本来なら結果にバラつきが出るよりも 何かしらエラー(MXが10個より多いことを示すメッセージ)を返す動きの方が望ましいと思いました。 何かご意見等ありましたら、お願い致します。 よろしくお願い致します。 - 以上 - -------------------------------------- お世話になっております。小林と申します。 ----- 先ほどお送りしたメールに追記させて頂きます。(【質問】2を追加) 恐れ入りますが、本メールの質問についてご回答頂けますでしょうか。 ----- 題記の件、enma1.2.0における名前解決の動作についてご教示頂けないでしょうか。 【事象】 特定のドメイン及びIPアドレスからの受信メールに対するSPF認証結果が「pass」「softfail」の2パターン発生する。 ENMAのログを見ましたが、送信元IPアドレスとドメインが同じメールでも「pass」と「softfail」が存在します。 該当のDNSの問合せ先の定義情報は誤っていないように思いますが、TCPで該当ドメインを問い合わせると回答が1000バイトを超えます。 (古いDNSの仕様ではUDP 512バイトまでしか扱えない場合がある) 現在のBINDなどではEDNS0という拡張機能により512バイトを超えるデータもやり取りできるようですが。 【想定】 ENMAが名前解決する際にDNS UDP 512バイトの制限にかかってしまい、 全ての名前解決結果を取得できないため、結果にバラつきがあるのではないか。 【質問】 1.ENMAの仕様として、名前解決する際にUDP 512バイトの制限はあるでしょうか? また、その場合、TCPに切替えて名前解決するのでしょうか? 2.RFC4408に「“mx”機構の評価中には10個を超えるMX名を検索してはならない」という 記述がありますが、ENMAの仕様でもMXレコードの検証は10個までに制限されているでしょうか? 参考:http://salt.iajapan.org/wpmu/anti_spam/admin/tech/rfc/rfc4408/page-20/ その他、上記事象について見解があればご教示下さい。 【メールサーバの動作環境】 OS:RHEL5.1 milter:enma1.2.0 メールサーバソフトウェア:sendmail 8.13.8 enma前提ライブラリ -libbind6.0 -libmilter(sendmail.8.14.5内包) -openssl-1.0.1c ご協力のほど、よろしくお願い致します。 - 以上 - |