web-dev-qa-db-ja.com

RDNSのないメールサーバーからのメールを拒否するのは良い習慣ですか、それとも厳格すぎるですか

最近SpamAssassinを削除し、DNSRBL、グレーリスト、およびその他の基本的なテストに基づいてスパム拒否を行っています。EHLOに一致する有効なRDNSを持たないホストもブロックする必要があるかどうか疑問に思っています。

これを行うと、多くの正当なメールで問題が発生し、顧客が混乱するでしょうか? AOLがこれを行うことを人々が不満に思っているのを聞いたことがあります。

また、RDNSが少なくとも何かに設定されていることを確認して妥協できるかどうか疑問に思っていますが、EHLOと一致させようとはしていません。これはPostfixで可能ですか(そしてそれは便利ですか)?

20
Peter Snow

私は、HELO/EHLOチェックを使用して、10万から20万のユーザーのかなり適切なサイズの顧客ベースで複数のアプローチを試しましたが、最終的に次のソリューションを実行しました。

  • HELO/EHLOにドメイン名が含まれていることを確認してください。 -これは主に、名前にドットが含まれていることを意味します。名前のDNSをチェックすると、サーバーに内部名または適切に解決できないものを提示させることは珍しいことではないため、サーバーの障害が多数発生しました。
  • IPに逆引きDNSレコードがあることを確認します。 -繰り返しになりますが、HELO/EHLOと照合しないため、これは緩やかな設定です。 HELO/EHLOに対してチェックすると、非常に多くのチケットが作成され、この設定は1日でも持続しませんでした。
  • 送信者のドメイン名が有効であることを確認してください。 -これは、メッセージをバウンスする必要がある場合に、少なくともそのサーバーを見つける方法があることを確認するための基本的なチェックです。

これらのチェックに使用するPostfixブロックは次のとおりです。

smtpd_recipient_restrictions =
    reject_non_fqdn_sender,
    reject_unauth_destination,
    reject_unknown_reverse_client_hostname,
    reject_invalid_helo_hostname,
    reject_non_fqdn_helo_hostname,
    reject_unknown_sender_domain,
    reject_non_fqdn_recipient
10
Ed.

これらの基本がないSMTPサーバーをブロックすることは非常に一般的です。

  1. HELOフォワードのホスト名は、発信元のIP接続に解決されます。
  2. 接続オリジンIPは、HELOで要求されているホスト名に逆戻りします。
  3. SPF、DKIM、またはDMARCポリシーが存在する場合は、確認します。

これらのいずれかが原因でブロックされることを不満に思っている人は、タール羽の刑に処せられるべきです。
他の理由でブロックされてしまう人、特に「異常な」状況でRFC準拠に依存している状況では、私は同情します。スパムはそのような問題なので、基本を見逃すことの言い訳はありません。

12
Chris S

MTAの送信には有効なRDNSがあると思いますが、EHLOの一致を主張するのは、「顧客」が誰であるかによって異なります。 RFC5321 :にいくつかの興味深いガイドラインがあります。

2.3.5。

(...)EHLOコマンドで指定されるドメイン名は、プライマリホスト名(アドレスRRに解決されるドメイン名)、またはホストに名前がない場合はアドレスリテラル(...)

4.1.4。

(...)SMTPサーバーは、EHLOコマンドのドメイン名引数が実際にクライアントのIPアドレスに対応していることを確認してもよい[MAY]。ただし、検証が失敗した場合、サーバーはそれに基づいてメッセージの受け入れを拒否してはなりません(MUSTNOT)。

しかしその後7.9で。

SMTPサーバーが、サーバーを提供するサイトにとって意味のある運用上または技術上の理由でメールの受け入れを拒否する可能性があることは、確立された原則です。(...)

5
Dusan Bajic

逆引き参照は、必ずしもHELOで提供されるホスト名を指すとは限りません。同じホストでホストされている複数のドメインがあり、それらすべてが同じIPアドレスを持っていることがあります。ただし、逆ルックアップを実行しようとすると、PTRレコードに配置されている名前が取得されます。両方のFQDNが異なることは明らかです-そしてそれは完全に受け入れ可能です。

メッセージのドロップを許可する唯一の状況は、逆引き参照の失敗です。ルックアップが成功すると、ホストが有効であることを意味します。名前は一致してはいけません。

3
Kondybas

EHLOに一致する有効なRDNSを持たないホストもブロックする必要があるかどうか疑問に思っていますか?

いいえ、すべきではありません。メール全体を1つの基準でのみブロックするのは悪い習慣です。

これを行うと、多くの正当なメールで問題が発生し、顧客が混乱するでしょうか?

可能性が高く、正当なメールを失う

また、RDNSが少なくとも何かに設定されていることを確認して妥協できるかどうか疑問に思っていますが、EHLOと一致させようとはしていません。これはPostfixで可能ですか(そしてそれは便利ですか)?

はい、可能です。 reject_unknown_client_hostnameの代わりにreject_unknown_reverse_client_hostnameを使用できます

残念ながら、postfixには「複雑な決定」のための柔軟なオプションがありません。 eximでは、そのようなメールにいくつかのポイントを追加できます。

Score = 0 
1. The HELO or EHLO hostname is not in fully-qualified domain or address literal form. Score +=10
2. The HELO or EHLO hostname has no DNS A or MX record. Score +=20
3. The HELO or EHLO hostname is listed with the A record "d.d.d.d" under rbl_domain. Score +=20
4. The sender domain has no DNS A or MX record. Score +=10
5. SPF checks return softfail. Score +=10, fail, Score +=20
...

等々。すべてのチェックが完了し、スコアが100を超える場合は、メールを拒否できます。実際にはそのような振る舞いをすることができますが、あなたはあなた自身を書く必要があるでしょう ポリシーサービス

2
ALex_hha