STARTTLS は接続先のSMTPサーバが対応していれば暗号化通信、対応していなければ平文通信を行うような仕様です。
そのため、送信側・受信側双方のSMTPサーバでSTARTTLSに対応していれば、暗号化通信によるメール転送が可能です。
参考) https://blog.nhiroki.net/2014/01/18/postfix-tls-setting
よく知られている例でいえば、Gmail などでSTARTTLSによる受信に対応し始めており、送信元のSMTPサーバがSTARTTLSに対応しておらず平文で送られてきた場合はそのメールに警告を表示するといったことを始めています。
参考) https://japan.cnet.com/article/35073528/
したがって、
①MTA同士のやりとりは基本的に暗号化されていないとは、正しい認識でしょうか。
いいえ、必ずしもそうではありません。
②今、仕事で受信専用のメールサーバを立てる必要があります。①が正しいとすると、LISTENするポートは、25(SMTP平文を想定)のみとするのがセキュリティ的に正しいでしょうか。
①が誤りですが、 25番ポートをSTARTTLS対応で待ち受けることにより、送信元の対応状況に応じて平文・暗号化通信いずれかが選択されます。
ただし、そもそもSTARTTLSははじめに平文通信を利用してSTARTTLS対応の確認を行いますので、その時点での安全性は担保されていません。
2017.06.01. 23:20 頃の追記
①MTA同士の暗号化においては、SMTP over SSLは使用されず、使用されるのであれば、SMTP STARTTLSが使用されるという認識で合っていますでしょうか。
これは「送信サーバ側の設定(ポリシー)による」というのが回答になります。
ただ現実的に送信側のサーバは特定のサーバあてのみ送信するわけでなく様々なサーバあてに送信することになるはずなので、相手先が SMTP over SSL である前提の送信方法よりも、相手に合わせる方法であるSTARTSSLの方が都合がいいことは多いでしょう。
②頂いた1つ目のリンク先を参照すると、SSLの証明書については、Submission用にはオレオレ証明書もありだが、受信MTAとしてはきちんと購入しましょうとあります。これは何か理由があるのでしょうか?
ここを理解するためにはSSL証明書がどのように有効性が確認されるのかを理解している必要がありますが、ご存知でしょうか。
SSL証明書の有効性確認の仕組みについて
少し端折りますが。
一般的にSSL(TLS)証明書は、信頼されている認証局(CA)により署名された証明書であることが確認されます。
信頼されている認証局は、あらかじめ各サーバで設定されています。
例えば Symantec(旧VeriSign)で購入したSSL証明書が設定されているWebサイトをブラウザで閲覧した際、鍵マークが表示されるのは
- 「その証明書が有効である」とブラウザが判断したから
であり、判断理由は
- ブラウザが信頼している認証局による署名がある証明書だから
です。
同様にオレオレ証明書(自己署名証明書)が設定されているWebサイトを表示した際は、特に設定をいじっていない限り安全ではないサイトとされますが、これは
- ブラウザが信頼している認証局による署名がない証明書だから
です。
これを「安全」と判断させるためには、その証明書を署名した証明書を「信頼する認証局」として登録することが必要になります。
その上で、ご質問について
追記の 1. の回答とも関係しますが、受信側のサーバも様々なサーバからメール送信が行われることになります。
この時、送信側のサーバがクライアント、受信側のサーバがサーバとして、サーバ認証をSSL証明書を利用して行います。
受信側のサーバがオレオレ証明書を利用している場合、送信側のサーバは信頼できる証明書ではないと判断し送信を中止します。
これを回避するためには送信される可能性があるすべてのSMTPサーバにそのオレオレ証明書を信頼してもらう必要がありますが、これは非現実的です。
Submissionポート用はオレオレ証明書でも構わない、というのは、Submissionポートが利用されるのはメーラから送信用SMTPに利用するためであり、限られた接続元でのみ信頼できればいいものとなります。
メーラには「証明書の有効性チェックを無視する」設定があることも多いですので、その送信用SMTPサーバを利用する人の間で使い方のコンセンサスがとれていれば大きな問題にならないことも多いでしょう。
そういった背景でそのような説明がされているものと思います。
※今となっては Let's Encrypt もありますので、公開されているサーバでオレオレ証明書を利用する必要はほとんどないかと思いますが。。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/01 12:42
2017/06/01 14:19
2017/06/02 01:10
2017/06/02 03:38