LinuCレベル2 202試験の例題と解説
2.09.2OpenSSLとHTTPSの設定
今回は202試験の試験範囲から「2.09.2 OpenSSLとHTTPSの設定」についての例題を解いてみます。
例題
Apacheのセキュリティレベルを向上させる設定として正しいものを選択してください。
- SSLProtocolディレクティブでSSLv2を有効にする
- ServerTokensディレクティブにOSを設定する
- HeaderディレクティブでX-Powered-Byヘッダの削除設定をする
- ServerSignatureディレクティブにOnを設定する
※この例題は実際の試験問題とは異なります。
解答と解説
答えは「3. HeaderディレクティブでX-Powered-Byヘッダの削除設定をする」です。
X-Powered-Byヘッダは、PHPなどのプログラム言語や開発環境の情報がセットさせるレスポンスヘッダです。
このヘッダを確認することで、プログラム言語などのバージョン情報まで知ることができることがあります。
バージョン情報が漏れると、そのバージョンに存在するバグをついた攻撃を受ける可能性が高まります。
そのため、Headerディレクティブで、このヘッダを削除するとセキュリティレベルが向上します。
実際の設定は次のように行います。
Header unset X-Powered-By
その他の選択肢の回答は次の通りです。
1. SSLProtocolディレクティブでSSLv2を有効にする
SSLv2は脆弱性が発見されているSSLプロトコルです。
有効にしてはいけません。
2. ServerTokensディレクティブにOSを設定する
ServerTokensディレクティブは、レスポンスヘッダに含まれるServerヘッダなどの情報を決定するディレクティブです。値にOSを設定した場合、次の例のようにOSとApacheのバージョン情報が表示されます。
$ wget -S -q http://127.0.0.1/
HTTP/1.1 403 Forbidden
Date: Fri, 15 Jun 2018 05:02:46 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
この設定も、バグをついた攻撃を受ける可能性を高めてしまいます。そのため正しい設定としては、Prodを設定して、情報を最小限にします。
Prodを設定した場合には「Server: Apache」のように、ソフトウェアの名前だけがレスポンスヘッダに表示されるようになります。
4. ServerSignatureディレクティブにOnを設定する
ServerSignatureディレクティブがOnの場合、エラーページのフッタにサーバ情報が表示されます。この選択肢もバージョン情報の漏洩に繋がるためOffに設定します。
今回紹介したのは、非常に基本的なApacheのセキュリティ強化の設定です。
基本的ですが、セキュリティ診断を行うとレポートに記載されることも多い項目ですので、日頃から気をつけて設定しましょう。
例題作成者
株式会社デージーネット OSS研究室 森彰吾