1

SMTP は、ポート 25 を介した暗号化されていない通信を許可します。一部のサーバー (Google の MX サーバーなど) では、最初の暗号化されていない接続を確立した後、STARTTLS を使用して TLS 接続に切り替えることができます。

S:220 mx.google.com ESMTP l1si352658een.133
C:EHLO mail.example.com
S:250-mx.google.com at your service
S:250-SIZE 35882577
S:250-8BITMIME
S:250-STARTTLS
S:250-ENHANCEDSTATUSCODES
S:250 PIPELINING
C:STARTTLS
S:220 2.0.0 Ready to start TLS
[socket switches to TLS here]
C:EHLO mail.example.com
...

ただし、ストレートな SSL 接続もサポートしたいと考えています。ほとんどのメール サーバーが SSL で開始することを好むのか、TCP で開始し、接続後に TLS に移行することを好むのか疑問に思っています。

4

2 に答える 2

4

サーバーの管理者との事前の取り決めがない限り、SSL を使用して接続しようとしないでください。ポート (465) は、SSMTP または SMTPS (SMTP over SSL) に使用されました。このポートへの接続は、SSL で接続を開始することが期待されていました。StartTLS が利用可能になったため、このポートとプロトコルの使用は中止されました。

StartTLS で SMTP をサポートできるポートは 2 つあります。どちらも StartTLS なしで SSL をサポートすることは期待されておらず、試してみると接続が切断される可能性があります。SMTP (25) と Submission (587) の両方が StartTLS をサポートする場合があります。サポートされている場合は、EHLO メッセージへの応答にリストされます。その後、StartTLS プロセスを開始できます。詳細については、 RFC 3207を参照してください。

あなたのコメントから、あなたの本当の関心事は証明書を検証する方法であるように見えます。これは別の質問ですが、関連する質問です。また、メール サーバーが自己署名証明書を使用していないことも前提としています。私の場合、自己署名証明書を使用します。StartTLS が SMTP (ポート 25) 接続に使用されることはめったにないため、これは私にとってはうまく機能します。メッセージを送信する前に認証する必要があるメッセージ送信 (ポート 587 またはポート 25) に接続するクライアントを適切に制御できます。私の経験では、StartTLS は主に、メールを送信する前に認証が必要なクライアントの接続を保護するために使用されます。

于 2012-11-16T02:44:03.160 に答える
1

SSL/TLS on connect (SMTPS) または SSL/TLS after connect のサポートはSTARTTLS、ソフトウェアとその構成方法に応じて、サーバーごとに異なります。

接続時の SSL/TLS の主な利点は、アプリケーション プロトコルを変更する必要がないことです。stunnel実際、両側のようなものを使用して接続をラップできます。

後の SSL/TLS の主な利点はSTARTTLS、同じポートで実行できることです。もう 1 つの利点は、複数のホスト名をホストできる (TLS レベルでのサーバー名表示の必要性を置き換える) ことですが、これが SMTP サーバーに使用されたことがあるかどうかはわかりません。

STMPS (接続時の SSL/TLS) には正式な仕様がなく、登録されていないポート番号(465) を使用します。また、理論的には非推奨です。それでも、多くのサーバーがそれをサポートでき (例: Exim )、可能な場合は両方をサポートできます。何を構成するかを選択するのはホスティング サービス次第です。

クライアントを作成していて、すでに をサポートしている場合はSTARTTLS、接続時に SSL/TLS をサポートするのもかなり安価です。より多くのユーザーが使用できるようになるため、両方をサポートすることは確かに良い考えです (私の記憶が正しければ、Gmail はある時点で SMTPS のみをサポートしていました。ブロックするファイアウォールの場合にも役立ちます)。ポートの 1 つだけ)。

SSL/TLS が何らかの方法で使用されている限り (そして、ホスト名を含む適切な証明書の検証が実行されている限り)、どちらも同様のレベルのセキュリティを提供できます。

SSL と TLS の違いについては、一般的に混乱があります。何らかの理由で、多くの電子メール ソフトウェアの実装では、「STARTTLS」で最も重要な単語は TLS ではなく「START」であることを認識できていないようです (接続モードとプロトコルの選択に関して)。残念なことに、この混乱は一部のソフトウェア構成オプション (一般的なメール クライアントでさえも) に広がり、したがって ISP のドキュメントにも広がっています。ユーザーが混乱することを予期してください。

どのモードをサポートしたい場合でも、" Use TLS, if available " オプションがないことを確認してください。これは、SSL/TLS が利用できない場合に単純な交換にフォールバックします: これにより、MITM 攻撃への接続が開かれます。

于 2012-11-16T11:23:14.320 に答える