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

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

新規登録して質問してみよう
ただいま回答率
85.50%
SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Q&A

解決済

3回答

41460閲覧

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

dangao

総合スコア37

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

0グッド

0クリップ

投稿2016/09/19 20:27

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を使うべき
  • メールに平文で重要な情報を記載しないようにするべき

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

「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 01:16

編集2016/09/20 01:54
kaz.Suenaga

総合スコア2037

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dangao

2016/09/20 08:34

詳しいご説明ありがとうございます。 とても助かります。 ご説明を読み終わった後に振り返ると、2つの箇所でSMTP通信が利用されるという点で混乱していたようです。 「メーラ→送信用SMTPサーバにおけるSMTP通信について」はSMTP over SSLを利用し、「送信用SMTPサーバ→受信用SMTPサーバ間のSMTP通信について」はSTARTTLSを利用しようと思います。
guest

0

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

通信の安全性から言えばSMTP over SSLの方が安全ではあるが、メールを受信する側がSMTP over SSLに対応していない場合はメールが確実に届くわけではない。

SMTP STARTTLSはメールを受信する側の環境によっては平文でメールが送信される可能性があるが、メールは相手に届きやすい。

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

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

SMTP STARTTLSを使うべき

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

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

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

投稿2016/09/20 00:35

over

総合スコア4309

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dangao

2016/09/20 08:19

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

0

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

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

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

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

投稿2016/09/20 02:21

Yatsurugi

総合スコア1628

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dangao

2016/09/20 08:38

他の方とは違った観点からのご回答ありがとうございます。 ちなみにポートの設定は自由にできます。 > NTT,KDDI、法人向けは、SMTP over SSL 非対応 大手が未だ非対応なんですね。大手だからこそかもしれませんが。 とても参考になりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問