目的
以下の公開文章の説明はClientとAppGWの通信か、AppGWとBackend poolの通信か、曖昧なので、実機で検証してみました。
結論:
SslEnabled:ClientとAppGW frontendの通信にTLSが使われている場合、Onと表示します。
SslProtocol:ClientとAppGW frontendの通信に使われているTLSバージョンです。
sslCipher::ClientとAppGW frontendの通信に使われているsslCipher暗号スイートです。
公開文章上の説明:
https://learn.microsoft.com/ja-jp/azure/application-gateway/monitor-application-gateway-reference#resource-logs
検証詳細
1.AppGWのlistenerにhttpとhttpsのlistenerを作成済み。
2.Http (80)の通信で来た場合、SslEnabled とSslProtocolが全部空です。
Https (443)の通信で来た場合、SslEnabled がon でSslProtocolがTLSのバージョンを表示しています。
3.念のためにpacket capture をしてみました。診断ログと合致していますね。
Wiresharkログを確認すると:
「Handshake Protocol: Server Hello」の「Version: TLS 1.2 (0x0303)」が表示されていますが、「Extensions: supported_versions (len=2) TLS 1.3」の拡張フィールドが存在するため、実際にはTLS 1.3が使用されています。サーバーがTLS 1.2を初期バージョンとして提示した後、クライアントとネゴシエーションしてTLS 1.3にアップグレードしたと推測されます。
「Cipher Suite: TLS_AES_256_GCM_SHA384 (0x1302)」が明示的に記載されており、これが使用されている暗号スイートです。
したがって、TLS 1.3が使用されており、Cipherは「TLS_AES_256_GCM_SHA384」です。