web-dev-qa-db-ja.com

署名されていないがSPF / DKIMでメールを送信するセキュリティ

私たちは、メール送信サービス(かなり有名)を使用してメールを送信しています。それらを通過する電子メールがSPFとDKIMを通過するようにDNSの変更を行いました。

数日前、私たちは彼らがどのアカウントにも、そのアカウントに属していないドメインに代わってメールを送信することを許可していることに気付きました。たとえば、私のドメインがmycompany.comで、mycompetitor.comをアカウントに追加するとします。このサービスにより、@ mycompetitor.comからメールを送信できるようになります。

私はこれを彼らに持ち込み、彼らの解決策はもはや電子メールに「署名」しないことですが、それでも私が望むドメインを追加できるようにしました。したがって、Gmailが「via email-sending-service.com」と表示されることを除いて、今でも@ mycompetitor.comから送信できます。 SPFとDKIMは引き続き通過し、メールはスパムとしてマークされません。

それで、私は偏執的ですか?このメールサービスを使用すると、アカウントを持っている人ならだれでも、私たちから送信されたようなメールを送信できると思います。

彼らは、これは「標準的な慣行」であり、どこかに箱を持っている人なら誰でも同じことができると主張しています。しかし、そのような場合でもSPF/DKIMは合格しますか?

DNSを変更することで、このメール送信会社が自分に代わってメールを送信することを承認し、会社は先に進み、アカウントに関係するすべての人が自分に代わって送信することを許可します(署名部分なし)。オフですか?

ありがとう

9
pbz

[〜#〜] spf [〜#〜] ドメインでyouが偽造メールを送信するのを防ぐことではありません。それは、他の人がyourドメインでメールを送信できないようにすることです。より正確に言うと、ドメイン_foo.com_を所有している場合、SPFで「@ foo.comアドレスから送信されたと主張するすべての電子メールはマシン_smtp.foo.com_から出て、他のメールは出てはならない」と文書化できます。 _@foo.com_アドレスmayで送信者の疑いのあるメールを受信するメールサーバーは、SPFレコードを検索して、メールが正当なサーバー(自分のもの)から送信されているように見えるかどうかを確認します)または他のいくつか。

SPF処理は必須ではないため、余暇にそれを強制するのは各電子メールサーバー次第です。

ドメイン(_foo.com_)のSPFレコードは、偽のアドレス(例: _@bar.com_で終わるアドレス。その場合、重要なのは_bar.com_ドメインのSPFレコードです。

[〜#〜] dkim [〜#〜] の目標はやや似ています。 yourサーバーがDKIMを使用する場合、それを通過するすべてのメールに署名します。ドメインのDNSはその事実を文書化し、公開鍵(署名の検証に使用されるもの)を公開します。おそらく、電子メールサーバーが_@foo.com_送信者の電子メールを受信すると、そのサーバーはDNSでDKIMキーを確認し、署名を検証します。署名がないか、メールの内容に対応していない場合、受信側のメールサーバーは何かが間違っていることを認識します。

ここでも、DKIM処理は各電子メールサーバーに依存します。また、ドメイン内で、_@bar.com_を送信者として使用してメールを送信することを妨げるものはありませんが、_bar.com_の所有者が自分でDKIMを使用している場合、偽造が明らかになります。

概要:ドメイン_foo.com_に追加されたSPFとDKIMに関連するDNSルールは、電子メールの通常の送信/署名方法を文書化します_@foo.com_アドレスを持つ誰かによって送信されるふりをするとき。 _foo.com_のDNSルールは、別のドメインから発信されたと主張する電子メールについては何も伝えません。

11
Thomas Pornin