ポート465と587の違いとは?
- 2022年11月22日
- by SendGrid
- Category: 技術ネタ
この記事は What’s the Difference Between Ports 465 and 587? の抄訳です。
メール送信者の皆さんから、ポート465と587の違いについてよく聞かれます。この質問に正確に答えるためには、少し背景の情報をご説明する必要があります。
SMTPとは?
SMTPはSimple Mail Transfer Protocolの略で、インターネット経由でメールを送信する「方法」を意味します。1982年8月にRFC 821で最初に標準化されました。詳細については、こちらのブログをご覧ください。
ポートとサービスはインターネットでどのように管理されますか?
特定のテクノロジーに関連する番号の割り当てを管理する2つの統治機関があります。
1つ目の インターネット割当番号公社(IANA)は、ドメイン名、番号リソース、プロトコルの割り当て、というインターネットに関連する3つの主要な要素を統括している機関です。また、昨今特に重要になっている、サービスのプロトコルとポートの対応リストも管理しています。ポートが空いている限り、誰でも新しいサービスを登録できます。しかしながら、IANAに登録されているからといって、このポートとの間のトラフィックが「善良な」トラフィックであることが保証されているわけではありません。
2つ目のインターネット技術特別調査委員会(IETF)は、インターネットの運用を改善するために標準化を行っている団体です。 IETFはRFC(Request for Comments)として、変更点や改善点の提案をしています。
私たちは、メールとの関係が深い、SMTPやポート465および587に関するRFCに着目しています。
TLSやStartTLSとは何か?
少し専門的な用語である、TLS(Transport Layer Security)とStartTLSについてご説明します。
TLS(暗黙的TLS)は、初期接続でSecure Socket Layer(SSL)またはTransport Layer Security(TLS)証明書を使って開始されます。クライアント側に少し多くの作業を要求することになりますが、接続は最初から暗号化されます。
StartTLSは、プレーンテキストでやり取りを開始し、可能であればTLSにアップグレードするプロトコルコマンドです。 1つのポートでプレーンテキストとTLSの両方を扱うことができるため、利用が推奨されています。
ポート465: TLSプロトコルによるメッセージ送信を行うポート
ポート465を暗黙的TLSのために使用することは可能ですが、ポート587とStartTLSの利用をお勧めします。
ポート465には興味深い歴史があります。1997年の初めに、SMTPによる通信を暗号化する新しい規格が公開されました。それに伴い、IANAはポート465をsmtpsへ割り当てました。 ただし、IANAによってのみ登録され、IETFによってRFCには登録されなかったため、SMTPの暗号化通信用のポートとして完全には認められませんでした。同年、IETFはポート587のStartTLSをSMTPの暗号化プロトコルとして標準化しました。
SMTPの暗号化プロセスを簡略化するために、IANAはsmtpsへのポート465の割り当てを無効化しました。しかし、ポート465と暗黙的TLSはそれなりに広まっていたため、かなりの混乱を招くことになりました。この事態を改善するために、IETFは、TLSプロトコルでの通信に再びポート465を利用できるように修正しました。
今日では、ポート465は、メッセージ送信用のサービスポートとSSM用のURL Rendezvous Directory(URD)として、IANAレジストリに記載されています。しかし、URD は SMTP とは何の関係もないので、ポート周りの混乱に拍車をかけてしまっています。
ポート587: メッセージ送信を行うポート
ポート587はSMTPでメッセージ送信を行う際のデフォルトのポートです。
ポート465とポート587の混迷の歴史は、暗号化通信の標準化が議論されていた1997年までさかのぼります。最終的には、平文で送信したり、同じポートを使用して TLS にアップグレードしたりすることができるStartTLS が選ばれました。こうした背景から、ポート587とStartTLSの利用が推奨されています。
おまけ:ポート2525とは?
ポート465とポート587についての質問では、ポート2525への言及もよくあります。このポートはどういったもので、何に利用されているのでしょうか?答えはとても簡単です。多くのISPは、個人が自分のメールサーバを立てることを防ぐために、ポート25をブロックします。このブロックの問題を緩和するために、多くのESPが代替策としてポート2525をサポートしています。
どちらのポートを使うべきか?
多くのESPでは、ポート465で暗黙的TLSを利用可能ですが、上述のようにポート587を利用することが推奨されています。もちろん、メッセージを暗号化した方が安全であるため、ポート25と2525が利用可能であっても使うべきではありません。
結論として、できるだけポート587を使い、それが難しい場合はポート465を使うという方針が望ましいでしょう。