2017-11-15 16 views
1

私はnodemailermailgunを使用して、Webアプリケーションからトランザクション電子メールを送信しています。 - サーバーに接続する際、接続がTLSを使用する場合はtrue、セキュアTLSで安全なSMTPを使用している場合、電子メールヘッダーは暗号化されていますか?

:私は意味SMTP transportを作成するとき、私はsecure=true設定しています。 false(デフォルト)の場合、サーバーがSTARTTLS拡張機能をサポートしている場合はTLSが使用されます。あなたは電子メールをリセットする電子メールアドレスの確認とパスワードのためにポート465

に接続している場合、この値をtrueに設定するほとんどの場合、私は(それが簡単にテストできるようにすることX-Email-Tokenとして、電子メールのヘッダーにトークンを追加することができますだけで電子メールの本文を解析するのではなく、ヘッダーから値を取得する)。メッセージの本文を読み取ることができないメールサーバーがこのヘッダーフィールドを読み取ることができますか?

+0

正しい答えは、すべてのメールサーバーが、送信されたすべての電子メールの本文とヘッダーの両方を読み取ることができるということです。この 'secure'プロパティは、SMTPサーバ(mailgun)へのSMTPクライアント(nodemailer)の要求にのみ適用されます。そこから、mailgunはそのメールをクリアしてそれぞれのメールサーバに配信します。 ** GPGメールなしの** tl; dr **は安全な通信チャンネルではありませんが、通常はパスワードリセットリンクなどのように十分です。 – mwakerman

答えて

3

メッセージの本文を読み取れないメールサーバーは、このヘッダーフィールドを読み取ることができますか?

誤解警告:電子メールの送信を確保するsecure=trueオプションおよび/またはSSLの使用(現在は廃止)またはTLSのみの接続盗聴者からのSMTPクライアントとSMTPサーバー間の通信を保護しますその特定の接続。

  • 受信SMTPサーバーは必ずしも最終的な受信者の電子メールサーバーではありません。
  • 受信SMTPサーバーは、TLSを使用してを使わずに別のSMTPサーバーにメッセージを転送することができます。
  • 受信SMTPサーバーは悪意のある(たとえば、誰かが不正なDNS MXレコードを植えた場合)、メッセージの内容を読み取って、その中に含まれている情報で何か悪いことをする可能性があります。

このように、TLSでは「実際の」電子メールメッセージの暗号化は行われません。 SMTPは依然として、封筒なしではがきにメッセージを書くことと同等の電子メールです。

類推:SMTPを使用したTLSを使用することは、あなたの家から、道路の外出先のメールボックスまで色づけされた窓が付いた不気味なバンの中を運転するようなものですが、郵便受けには郵便受け-serviceとそれ以降はメッセージを読み取ることができますが、外出先のメールボックスに移動したときに、少なくとも通りの誰もメッセージを読むことはできません。ヘッダと本体との間の区別について

アンMTA(すなわち、メールサーバメール転送エージェント)メッセージ本体メッセージヘッダを読み取ることができるようになります。 SMTPでは、それらの間に実際の区別はなく、TLSは、任意のバイトストリームを保護することのみに関わるので、このすべてに対して完全に盲目的です。

TLSは、の間の接続であるトランスポートレベルのセキュリティのみを提供します.MTAホストは、MTAが電子メールを読むことを停止しません。そのためには、PGPやS/MIMEなどの適切なメッセージ暗号化と受信者の公開鍵が必要です。

Googleと他のインターネット企業がウェブを保護するために、電子メールを保護するための真のプッシュはないというのは驚くべきことです。 Office 365、Gmail、Outlook.comなどの主要な電子メールプロバイダが少なくともメッセージの署名を提供することは難しくありません(これは、独自の送信SMTPを使って送信された電子メールの署名を提供することで無駄なく実行できます)サーバーとユーザーは2要素認証を持っています)。同じ企業は、公開鍵の配布に適切なPKIを設定することもできます。メッセージの署名は、信頼できるドメイン名の迷惑メールを一晩中排除するため、この種の問題は依然として私たちの種にとっては恥ずかしいものです。

+0

お返事ありがとうございました。私は、ボディと同様にヘッダーにトークンを置くことは体内に置くよりも安全であると思います。これは、アイデンティティを証明するためのセキュアなサイドチャネルとして電子メールを使用することによって、ほとんどのアプリケーションが犠牲になるリスクです。 – mwakerman

+1

@mwakerman **電子メールはIDを証明しません。*特定のアドレスに関連付けられたメールボックスには、たいていは(所有権でなくても)アクセスを証明できますが、それだけです。 *インターネット上でのアイデンティティを自動化することは非常に困難です。最善のアプローチは、国家的に認識されたアイデンティティプロバイダといくつかの国(例えばアイスランド)があるが、米国や英国のような大きな国はそれを好きではない(パノラソス市民や内部無能) – Dai

+0

私はあなたの定義の厳密さを称賛しますが、大部分のアプリケーションはアカウントのアドレスに関連付けられたメールボックスへのアクセスを識別の一形態として扱います。理想的には、いくつかのセキュリティ上の質問や良い2FAの実装を投げますが、私はその言葉を使用したときに指紋やDNAの識別レベルについては話しません。 – mwakerman

1

これは、想定している暗号化とは異なる使用例です。 SSL/TLSでは、あなたとサーバーの両方がメッセージ全体(ヘッダーを含む)を読み取ることができますが、ユーザーとサーバーの間にいる誰もが読み取ることはできません。

サーバがメッセージを読むことができないようにするには、代わりにGPGのようなものを使用する必要があります。そうすれば、ヘッダーをそのように暗号化できない、メッセージを配信する。

+0

あなたが正しいです、私は体が暗号化されていると誤解していました。しかし、これはウェブアプリケーションのパスワードリセット機能なので、GPGの道を辿ることはありません。 – mwakerman

関連する問題