LinuCレベル3 セキュリティスペシャリスト セキュアプロトコルによる各種機能の実装 問3
セキュアプロトコルによる各種機能の実装/Web サーバーのセキュリティ強化Webサーバー www.example.com がTLS 1.3で接続を受け付けるかを、opensslコマンドで確認したい。適切なコマンドはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「セキュアプロトコルによる各種機能の実装」に対応。実際の試験問題ではありません)
- Aopenssl s_client -connect www.example.com:443 -servername www.example.com -tls1_3
- Bopenssl s_server -connect www.example.com:443 -servername www.example.com -tls1_3
- Copenssl x509 -connect www.example.com:443 -servername www.example.com -tls1_3
- Dopenssl verify -connect www.example.com:443 -servername www.example.com -tls1_3
正解:A
解説
openssl s_client は、TLSクライアントとしてサーバーへ接続し、ハンドシェイクの結果(ネゴシエートされたプロトコルバージョン、暗号スイート、サーバーが提示した証明書チェーンなど)を表示するサブコマンドです。-tls1_3 を付けるとTLS 1.3だけで接続を試みるため、サーバーがTLS 1.3に対応していなければハンドシェイクが失敗します。-servername はSNIで送るホスト名で、1つのIPアドレスで複数のサイトを提供しているサーバーでは、これを付けないと意図しない証明書が返ることがあります。-showcerts を加えると、中間証明書を含むチェーン全体も確認できます。
選択肢ごとの解説
- A正しい。s_client でTLSクライアントとして接続し、-tls1_3 でTLS 1.3に限定して対応状況を確認できます。
- B誤り。s_server はテスト用のTLSサーバーを起動するサブコマンドで、外部のサーバーへ接続する用途には使いません。
- C誤り。x509 は証明書ファイルの内容表示や形式変換を行うサブコマンドで、ネットワーク接続の機能はありません。
- D誤り。verify は手元の証明書ファイルを信頼できるCAの証明書で検証するサブコマンドで、サーバーへは接続しません。