質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.20%

SMTP over SSLとSMTP STARTTLSのどちらを使うべきか

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 24K+

dangao

score 37

CentOS7でPostfixとDovecotを使いメールサーバーを構築しているのですが、下記「メールサーバーの用途」と「現在の認識」を考慮して、SMTP over SSLとSMTP STARTTLSのどちらを使うべきかを教えてください。
また、下記「現在の認識」について間違いがあればご指摘ください。

ささいなことでも結構ですので、アドバイスいただけると幸いです。
よろしくお願いいたします。

メールサーバーの用途

メールサーバーは下記の用途で利用します。

  1. ウェブメーラーの利用
    自分のみがウェブメーラーを利用してメールのやりとりをします。
  2. ウェブサイトのフォーム送信
    ウェブサイトの利用者(不特定)がフォームからユーザー情報(ユーザーID・パスワード)を送信します。

なお、

  • 通信の「安全性」とメール送受信の「確実性」をバランス良く取り入れたいです。
  • ウェブサイトの通信は常にhttpsを利用しています。
  • メールサーバーやウェブサイトは全て同一IP上に構築またはプライベートIPで接続されているものとします。
  • メールのリレー設定は外部のホストを許可していません。
  • ウェブメーラーはRainloopを利用しています。

現在の認識

SMTP over SSLとSMTP STARTTLSの特徴は次のように捉えています。

  • SMTP over SSL:通信の開始から終了まで暗号化する。
  • SMTP STARTTLS:通信の開始から途中までは暗号化せず、メール受信側の環境によって、途中から最後までを暗号化するか平文で送るかが変わる。

上記の特徴から、次のようなことが言えると考えています。

  • 通信の安全性から言えばSMTP over SSLの方が安全ではあるが、メールを受信する側がSMTP over SSLに対応していない場合はメールが確実に届くわけではない。
  • SMTP STARTTLSはメールを受信する側の環境によっては平文でメールが送信される可能性があるが、メールは相手に届きやすい。

そこで、私は現時点で次のように考えています。

  • SMTP STARTTLSを使うべき
  • メールに平文で重要な情報を記載しないようにするべき
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+5

「SMTP」と言っても、大きく

  • メーラ→送信用SMTPサーバ
  • 送信用SMTPサーバ → 受信側SMTPサーバ

の2つの箇所でSMTP通信は利用されます。
どの立場でのSMTPサーバの設定としてポリシーを検討するかがカギになります。

そもそも、STARTTLSは「送信・受信お互いで使えたら暗号化通信をする」という仕組みですので、常に暗号化通信をすることを保証しません。
SMTP over SSL はその名の通り、SSL通信の上でSMTPを行いますので、暗号化通信ができることが要件となります。

 メーラ→送信用SMTPサーバにおけるSMTP通信について

この場合は

  • できるなら暗号化すればいい
  • 暗号化が必須である

どちらをメール送信時のポリシーとするかで決まってきます。

ISPのようにある程度不特定多数の、様々な環境のユーザに対して「メール送信できること」を優先的にサービス提供するのであれば前者(STARTTLS)を選ぶこともあるでしょう。

企業のポリシーとして通信の暗号化を必須とする場合、SMTP over SSL を利用し、送信に利用するメーラもSMTP over SSLに対応していることを要件とすることも考えられます。

また、メーラ→送信用SMTPサーバの間のネットワーク構成によってはその要件も異なるでしょう。
例えば、

  • Webメーラを利用し、Webサーバと送信用SMTPサーバが同一サーバの場合
  • 同一のLAN内(FWの後ろ側)の送信用SMTPサーバをクライアントPC、端末のメーラから利用する場合
  • インターネット越しに外部のネットワークから送信用SMTPサーバを利用する場合

といった状況が考えられます。

同一サーバであれば、暗号化通信を行わなくてもかまわないという考え方はあり得ます。
同一LAN内であれば、そのネットワークのポリシーによって(もしくはどのような利用者携帯化によって)暗号化通信をすべき、ユーザに選択を任せるべき、それぞれの考え方があるでしょう。
外部ネットワークからの通信が発生するのであれば、暗号化通信を必須とする考え方もあるでしょう。

 送信用SMTPサーバ→受信用SMTPサーバ間のSMTP通信について

こちらの場合、「相手先(受信側)のSMTPサーバの設定状況を送信側が知りえない」ということが課題になります。

現在の状況では、送信できることを優先し非暗号化通信(素のSMTP)を利用していることがほとんどでしょう。

STARTTLSを利用することで「暗号化通信できる場合暗号化通信」とすることも可能ではありますが、同じポートを送信用にも提供している場合、ポリシー設計が難しくなるかもしれません。

SMTP over SSL を利用した場合、送れない宛先も出てくることを覚悟する必要があるでしょう。

このように、

  • 利用環境
  • 提供したいサービスレベル
  • 暗号化通信を必要としているレベル

に応じて、セキュリティポリシーの設計を踏まえた選択をする必要があります。


なお、STARTTLSはその仕様上、セキュリティ的に充分なのかというと疑問が残る部分があります。

例えば、メーラから送信用SMTPサーバに対してSTARTTLSで接続しようとした場合、接続した先のSMTPサーバが「暗号化できない」応答すれば平文通信が行われます。
つまり、接続先のサーバを偽装できれば、送信しようとしているメールの内容を奪取してかつ、正常な受信側SMTPサーバへ中継する、ということができえます。


という前提で、質問者さんのご質問への直接的な回答を書いておくと、

- SMTP STARTTLSを使うべき
- メールに平文で重要な情報を記載しないようにするべき

は間違いではない、です。

前提とされている環境で、仮にWebメーラとSMTPサーバが同一サーバである場合、

  • Webメーラ→SMTPサーバ間の通信は、STARTTLSでもそれほど悪くない(ただし、このサーバを複数人で管理しているのでない場合)
    ※WebメーラによってはそもそもSMTP通信を必要としていない場合もあり得ます。
    sendmail コマンドを直接利用したりする場合です。

  • 送信用SMTPサーバ→受信側SMTPサーバの通信については、本来はSMTP over SSLを利用したいところ。
    しかし、必須とするのは現実的ではない。
    https://blog.nhiroki.net/2014/01/18/postfix-tls-setting あたりが参考になりそうです。
    ※ただし、自分側をSMTP over SSLで受信できるようにするには正規のサーバ証明書を設定する必要があるのでハードルが高いかも(Let's Encryptのおかげで現実性は高くなったかも)

  • (上記では説明していませんが)そもそもSMTPプロトコル自体がなりすましが容易なので、本当にメールの内容を保護したいのであればメール自体を暗号化するべき(PGPなど)

といったあたりで回答になりますでしょうか。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/09/20 17:34

    詳しいご説明ありがとうございます。
    とても助かります。
    ご説明を読み終わった後に振り返ると、2つの箇所でSMTP通信が利用されるという点で混乱していたようです。

    「メーラ→送信用SMTPサーバにおけるSMTP通信について」はSMTP over SSLを利用し、「送信用SMTPサーバ→受信用SMTPサーバ間のSMTP通信について」はSTARTTLSを利用しようと思います。

    キャンセル

+3

何か勘違いされているような気がします。

通信の安全性から言えばSMTP over SSLの方が安全ではあるが、メールを受信する側がSMTP over SSLに対応していない場合はメールが確実に届くわけではない。
SMTP STARTTLSはメールを受信する側の環境によっては平文でメールが送信される可能性があるが、メールは相手に届きやすい。

今回のご質問でされているSMTPの認証方式は、SMTPサーバとメールクライアント間で行われるものであって、リレーの末にたどり着いたサーバとの認証方式ではないと思います。

ご質問者様のWebメールサービス提供サーバとSMTPサーバが同一であった場合はローカルサーバ内での処理になり、ネットワーク通信上において該当通信の平文が流れるという心配はないでしょう。

SMTP STARTTLSを使うべき

安全性に大した違いはないので、どちらでも構わないとの認識です。

メールに平文で重要な情報を記載しないようにするべき

こちらは当然のことになりますが、重要な情報は添付ファイルをパスワード付き暗号化するなどの処置をすべきと考えます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/09/20 17:19

    おっしゃる通り勘違いしていたようです。
    たしかに今回はウェブメーラ→送信用SMTP間では、SMTP over SSLでもSMTP STARTTLSでもどちらでも構わないですね。
    とても助かりました。
    ありがとうございます。

    キャンセル

+2

皆様、色々とメリット、デメリットに関する情報提供をされていますが、
ネットワーク通信の観点から最大の違いは
SMTP over SSL は暗号化通信のために特定のポートを割り当てなければなりませんが、
STARTTLS       は通常の25番ポートを使うだけでも平分を暗号化できるという点です。

質問文でご提供されている情報以外にNWポートの設定を自由にできる環境かどうかと
いう要素も関係してくるかと思います。

現状では企業向けでは
STARTTLS
を推奨されることが多いかと思います。

ちなみに現在は
NTT,KDDI、法人向けは、SMTP over SSL 非対応です。
ご参考まで

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/09/20 17:38

    他の方とは違った観点からのご回答ありがとうございます。
    ちなみにポートの設定は自由にできます。

    > NTT,KDDI、法人向けは、SMTP over SSL 非対応
    大手が未だ非対応なんですね。大手だからこそかもしれませんが。

    とても参考になりました。
    ありがとうございます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.20%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる