SMTP (Simple Mail Transfer Protocol) は、電子メール送信用の通信プロトコルです。STARTTLS は、SMTP に基づいて、暗号化された通信に別のポートを使用する代わりに、プレーン テキスト接続を暗号化された(TLS または SSL)接続にアップグレードします。
STARTTLS のプロセス フロー
STARTTLS のプロセス フローは次のとおりです。
STARTTLS プロセスは TCP ハンドシェイク後に開始されます。
サーバは、220 Ready を識別して、E メール クライアントが通信を続行できることを確認します。
クライアントはサーバ EHLO を送信して、クライアントが拡張 SMTP を使用することをサーバに通知します。
サーバは 250 STARTTLS をクライアントに送信して、STARTTLS が受け入れられるかどうかを確認します。
クライアントは STARTTLS をサーバに送信し、STARTTLS を使用できることを通知します。
SSL/TLS を起動できる場合、サーバは 220 GO Head をクライアントに送信します。
クライアントはサーバで SSL/TLS を開始します。
SSL/TLS が完了すると、E メール メッセージが暗号化されます。
レイヤー 4 の SSL の DataScript イベント
新しい DataScript イベント:
イベント名:VS_DATASCRIPT_EVT_TCP_CLIENT_ACCEPT
機能:TCP ハンドシェイクが完了した後に発生します。
新しい DataScript API:
API 名 |
イベント |
説明 |
機能 |
---|---|---|---|
avi.ssl.disable_ssl() |
VS_DATASCRIPT_EVT_TCP_CLIENT_ACCEPT |
引数はありません |
TCP ハンドシェイク後に SSL を無効化します |
avi.ssl.enable_ssl() |
VS_DATASCRIPT_EVT_L4_REQUEST |
引数はありません |
トラフィック中に SSL を有効にします |
トラフィック フロー
トラフィック フローは次のとおりです。
トラフィック フロー プロセスは次のとおりです。
NSX Advanced Load Balancer は、クライアントとの TCP ハンドシェイク後にバックエンド サーバへの接続を作成します。
NSX Advanced Load Balancer は、クライアントとサーバ間でプロキシ メッセージを送信します。
クライアントは、拡張 SMTP の使用について、サーバにいつでも
EHLO
を送信できます(TCP ハンドシェイクの直後または一部のデータの送信後)。EHLO
を受信すると、サーバはそのサービスをアドバタイズします。STARTTLS
がない場合、システムはサービスの 1 つとして250 STARTTLS
を追加します。クライアントは、
TLS
の要求をSTARTTLS
に送信できます。NSX Advanced Load Balancer は、
220
を使用してクライアントに応答し、TLS ネゴシエーションを開始します。SSL/TLS
ネゴシエーションの後、クライアントは暗号化されたメールを NSX Advanced Load Balancer に送信します。