web-dev-qa-db-ja.com

電子メールでのSPFとSPFおよびDKIMのセキュリティ

カスタムドメインで使用するメールプロバイダーを探しています。一方のプロバイダーの方が安価でSPFしかありませんが、もう一方のプロバイダーはより高価ですが、SPFとDKIMの両方を使用しています。要因は似ています。私はSPFとDKIMについて読み、それらについていくつか質問があります。また、電子メールセキュリティ全般についても質問があります。

  1. SPFがすでに使用されている場合、DKIMはどのようなメリットをもたらしますか?

  2. SPFは、電子メールの発信元であると主張するサーバーが実際に発信元であるサーバーであることを保証し、DKIMが電子メールメッセージのコンテンツが変更されていないことを保証することを保証するのは正しいですか?

  3. DKIMがメッセージが改ざんされないように保護していることが正しい場合、誰からメッセージを正確に保護しますか?送信中にメールの内容を変更できるのは誰ですか?一般的な攻撃の方法は何ですか?電子メールを中継するがその内容を変更する悪意のある「ノード」が存在する可能性はありますか?

  4. 誰かが悪意のあるTorノードを作成できるように、攻撃者が電子メールを中継するサーバーを作成し、それらをスヌープしたり、コンテンツを変更したりすることは可能ですか?

  5. 使用しているメールプロバイダーがSSL経由のメール送信をサポートしており、Gmailを使用している友人(SSLもサポートしている)にメールを送信したい場合、メッセージは暗号化されたパス全体を移動しますか?メッセージがGmailに属する公開鍵で暗号化されており、メッセージを中継するサーバーが暗号化されていないことを確認できないということですか?

  6. SPFを使用するとします。攻撃者が私から送信されたように見える電子メールを送信しようとします。このメールはどこに中継されますか(これはMTAと呼ばれます)?情報を別のノードに転送するノードのように機能しますか?攻撃者が最初の "ノード"を制御している場合、転送先のノードにメッセージを送信できません。メッセージがSPFを通過しない場合は通過し、メッセージを転送されたノードはそれを信じますか?

3
user139275

SPFがすでに使用されている場合、DKIMはどのようなメリットをもたらしますか?

ドメインにSPFが構成されている場合、受信メールサーバーは、SMTPダイアログ(MAIL FROM)に従って、メールの要求された送信者がこのIPアドレスからメールを送信できるかどうかを確認できます。 SMTPダイアログに基づく送信者のみがチェックされ、メールのFromヘッダーはチェックされないため、これは送信者のなりすましを少しだけ防止します。しかし、メールクライアントは通常、後者のみを考慮します。

DKIMを使用すると、送信メールサーバーがメールに署名し、この署名は送信者、つまり受信SMTPサーバーだけでなくチェックすることもできます。このシグネチャにはボディ全体が含まれる場合がありますが、ボディの一部のみが含まれる場合もあります。 Fromヘッダーはこの署名の一部ですが、Fromヘッダーが署名者ドメインからのものである必要があるという意味ではありません。これは、なりすましが依然として可能であることを意味します。

Fromのスプーフィングは、FromヘッダーのドメインがSPFまたはDKIMで保護されていることを要求し、要件が満たされない場合にポリシーを指定するDMARCポリシーを構成することによってのみ対処されます。

SPFは、電子メールの発信元であると主張するサーバーが実際に発信元であるサーバーであることを保証し、DKIMが電子メールメッセージのコンテンツが変更されていないことを保証することを保証するのは正しいですか?

電子メールは、特定のサーバーからではなく特定のドメインからのものであると主張しています。そして、私が言ったように、SPFとDKIMの両方は、Fromヘッダーのスプーフィングから保護しません。また、DKIMはメールの一部のみを変更から保護します。通常、本文全体を保護しますが、本文の拡張を許可するように構成されている場合があります。また、すべてではなく一部のヘッダーのみを保護します。

DKIMがメッセージが改ざんされないように保護していることが正しい場合、誰からメッセージを正確に保護しますか?送信中にメールの内容を変更できるのは誰ですか?一般的な攻撃の方法は何ですか?電子メールを中継するがその内容を変更する悪意のある「ノード」が存在する可能性はありますか?

メールはホップバイホップで配信され、TLSで暗号化されている場合でも、これはホップ間でのみ関係があります。したがって、保護されていないメールにアクセスし、それを変更する可能性がある多くの関係者が関与しています。

誰かが悪意のあるTorノードを作成できるように、攻撃者が電子メールを中継するサーバーを作成し、それらをスヌープしたり、コンテンツを変更したりすることは可能ですか?

攻撃者がメールの配信方法を指定するDNS MXレコードを偽装できる場合、または攻撃者が保護されていないトランスポートまたはホップの1つでメールを傍受できる場合、攻撃者はそれを変更できます。しかし、攻撃者は単にサーバーをインターネット上に置いて、それがドメインの責任のあるサーバーであることを宣言することはできません。他の当事者がこのサーバーを介してメールを送信すること(つまり、DNS MXレコードのなりすまし)を説得する必要があります。

使用しているメールプロバイダーがSSL経由のメール送信をサポートしており、Gmailを使用している友人(SSLもサポートしている)にメールを送信したい場合、メッセージは暗号化されたパス全体を移動しますか?メッセージがGmailに属する公開鍵で暗号化されており、メッセージを中継するサーバーが暗号化されていないことを確認できないということですか?

メッセージはメールクライアントからプロバイダーのメールサーバーに暗号化されて送信され、そこで復号化され、変更され(受信ヘッダーが追加され、おそらくDKIMヘッダー)、再度暗号化されて、次のホップに転送されます。別の上流メールサーバーである。

SPFを使用するとします。攻撃者が私から送信されたように見える電子メールを送信しようとします。このメールはどこに中継されますか(これはMTAと呼ばれます)?情報を別のノードに転送するノードのように機能しますか?攻撃者が最初の "ノード"を制御している場合、転送先のノードにメッセージを送信できません。メッセージがSPFを通過しない場合は通過し、メッセージを転送されたノードはそれを信じますか?

攻撃者は、Received-SPFヘッダーをメールに追加し、SPFをチェックしたと主張できますが、このメールを受信するインターネットとイントラネットの間のEdge上のメールサーバー(MTA)は、メールが実際に送信されたIPアドレスから再度チェックする可能性があります。つまり、Received-SPFヘッダーを信頼しません。このヘッダーは主に、SPFテストの結果をレピュテーションチェックに組み込みたいが、メールサーバーでは実行されないため、送信者の元のIPにアクセスできないスパムチェッカーによって使用されます。

14
Steffen Ullrich

一言で言えば、SPFとDKIMの違いは単純です:[〜#〜] spf [〜#〜]はパスベースの認証を使用し、[ 〜#〜] dkim [〜#〜]は、IDベースの認証を使用します。

[〜#〜] spf [〜#〜]はDNSを使用して、ドメインに代わってメールを送信することを承認されたすべてのメール転送機関(MTA)のレコードを公開します。次に、受信者MTAはDNSにSPFレコードを照会し、メッセージが実際に使用したパスに対して承認済みIPアドレスのリストを調整します。 SPF構文は、IPアドレスが一致しない場合のメールの処理方法を指示します。たとえば、-allは、メールが完全に拒否されることを意味します。 ~allは、メールにマークが付けられているが、通過は許可されていることを意味します。

SPFには制限があります。完全に展開するのは面倒な場合があります(大規模な組織では、使用するすべてのMTAを追跡するのが難しい場合があります)。これにより、よりパッシブなSPFポリシーになり、正規のメールがフィルターに引っかかるのを防ぐことができます。これにより、フィッシングの蔓延が増える可能性があります。

[〜#〜] dkim [〜#〜]は、非対称暗号を使用してメッセージにデジタル署名します。ドメインには公開/秘密鍵ペアがあります。 DKIMは、To:From:Date:などを含む、メールのいくつかのフィールドのハッシュを取得します。このハッシュは、問題のドメインの秘密鍵で署名され、次の場所に配置されますDKIMヘッダー。ドメイン公開鍵はDNSで公開され、電子メールの信頼性を検証するために使用されます。

DKIMはtheFrom:フィールドを直接偽造することを防ぎませんが、メールが問題のドメインから本当に送信されたことを保証します。たとえば、DKIMはドメインfoo-bar.comからのメールを保証できますが、そのドメイン内の誰が誰からメッセージを送信したかを必ずしも保証できるわけではありません。ドメイン全体では、個々の送信者ではなく1つのキーペアを使用するため。

3
J. Behnken

SPFとDKIMは電子メールの電子メールセキュリティの2つの異なる部分を保護し、両方に長所と短所があります。

[〜#〜] spf [〜#〜]-メールを受信したサーバーが、エンベロープ内のドメインからメールを送信する必要があることを確認します。電子メールを転送したり、電子メールをプロキシしたりすると、簡単に破られます。

[〜#〜] dkim [〜#〜]は、DKIM署名に含まれるヘッダーが変更されていないことを確認します。ヘッダーからのメッセージが含まれます。さらに、公開鍵と秘密鍵のペアを使用すると、否認防止が可能になります(つまり、この定義はソースドメインに由来します)。最小限のヘッダーを使用するか、短い鍵を使用することで、これを破ることができます。

SPFおよびDKIMテストは、アップストリームのテストとは関係なく、宛先サーバーによって実行されます。両方を[〜#〜] dmarc [〜#〜]と組み合わせてループを閉じると、SPFとDKIMのドメインがfrom:アドレスと一致することを確認し、メールの結果に関するレポートを送信します、結果に基づいてアクションを推奨できます。

つまり、基本的にDKIMは、SPFと、理想的にはメールの信頼性を確認したいという両方のことを保証し、DMARCを両方の上に重ねる必要があります。


暗号化では、TLSを介してサーバーに接続する場合、2つの異なる実装になります。

[〜#〜] starttls [〜#〜](Opertunistic)-基本的にメールサーバーはSMTP接続を確立し、TLSをサポートしているかどうかを確認します。その後、セキュア接続にアップグレードするかどうかを確認します。構成によっては、接続を拒否するか、クリアテキストで送信することはできません。

[〜#〜] tls [〜#〜](Explicit)メールサーバーは、適切な暗号またはTLSバージョンをサポートしていない場合、リモートサーバーとのTLS接続の確立を試み、接続は失敗します。

次に、TLSを介してサーバーに接続するために受信者に依存します。

安全な接続が確立されると、メッセージは次の2つの点でのみ脆弱になります。サーバークライアント接続とサーバーサーバー接続の間の両方のメールサーバーの通過。これを保護する唯一の方法は、エンドツーエンド暗号化(PGP、S/MIMEなど)を使用して、SMTPサーバーがそれを見る前に本文を暗号化することです。

0
EnviableOne