LinuCレベル2 Webサーバーとプロキシサーバー 問25
Webサーバーとプロキシサーバー/OpenSSLとHTTPSの設定opensslコマンドでパスフレーズ付き(暗号化された)の秘密鍵を作り、そのファイルをApacheのSSLCertificateKeyFileに指定した。この構成の説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「Webサーバーとプロキシサーバー」に対応。実際の試験問題ではありません)
- A暗号化された秘密鍵はmod_sslが読み込めない形式のため、設定の構文エラーとして起動が止まる
- BApacheの起動や再起動のたびにパスフレーズの入力が必要になり、無人での自動起動の妨げになる
- C初回の起動時にパスフレーズを一度入力すると、復号された鍵がディスクに保存され以後は不要になる
- DパスフレーズはTLSのハンドシェイクでクライアントにも送られ、クライアント側で鍵の検証に使われる
正解:B
解説
mod_sslは起動時に秘密鍵を読み込むため、鍵がパスフレーズで暗号化されているとその入力を求めます(SSLPassPhraseDialogの既定はbuiltinです。RHEL系ではsystemd-ask-passwordを使う専用のプログラムが指定されています)。サーバーの再起動のたびに人手が必要になるため、自動起動する本番サーバーではパスフレーズ無しの鍵をroot以外が読めない権限で置くか、パスフレーズを返すプログラムをSSLPassPhraseDialogに指定する方法がとられます。パスフレーズはサーバー内で鍵を復号するためだけのもので、通信相手に送られることはありません。
選択肢ごとの解説
- A誤り。mod_sslは暗号化された秘密鍵を扱えます。起動時にパスフレーズを求め、正しく入力されれば起動します。
- B正しい。起動のたびにパスフレーズの入力を求められるため、無人の自動起動では対策が必要です。
- C誤り。mod_sslが復号した鍵を自動でディスクへ書き出すことはありません。再起動のたびに入力が必要です。
- D誤り。パスフレーズはサーバー内で秘密鍵を復号するためのもので、ハンドシェイクでクライアントへ送られることはありません。