2026年11月11日
2026年11月11日
ApacheのServerTokensでサーバー情報を非公開にする方法
はじめに
ウェブサイトのセキュリティを強化するためには、公開されない情報は最小限に抑えることが重要です。Apache HTTP Serverも例外ではなく、サーバーのVersion情報を非公開にする設定を行うことで、攻撃者の手助けにならないようにすることができます。
症状・背景
- セキュリティ検証でVersion情報が漏れていることを知った場合
- 一般的な脆弱性を避けるために定期的にサーバー情報を更新したい場合
- ワーキンググループや開発者が、公開されていないApacheのバージョンでの動作確認が必要な場合
手順・設定方法
ステップ1: httpd.confファイルを編集する
# /etc/httpd/conf/httpd.conf ファイルを開く
sudo nano /etc/httpd/conf/httpd.conf
サーバー情報の表示形式を非公開にするためには、ServerTokens というオプションを設定します。
ステップ2: ServerTokens オプションを設定する
# ServerTokens の値を指定
ServerTokens Prod
# またはさらに細かい制御が必要な場合は以下のように設定
ServerTokens Minor
# もしくは最新バージョンのみ表示
ServerTokens Major
ステップ3: 設定保存と再起動
# 変更内容を保存する
:wq
# Apacheサービスを再起動して設定を有効にする
sudo systemctl restart httpd
ステップ4: 再確認
# 任意のウェブブラウザでサイトを訪問し、HTTPヘッダー情報を確認する
curl -I http://example.com
注意事項
- ServerTokens Prod の設定では、
Apache/2.4.38 (Unix)やServer: Apacheというシンプルな表示になります。 - Minor や Major に設定することでさらに細かい情報が隠されます。
- 再起動が必要なので注意してください。
まとめ
1. ServerTokens の設定: ServerTokens オプションを適切な値に設定します。これにより、ウェブブラウザから見られるApacheのVersion情報を非公開にすることができます。
2. サーバー再起動: 設定変更後はApacheサービスを再起動して効果を確認します。
3. 再確認: サーバー情報の非公開化が完了したら、再度curlコマンドなどで確認し、必要であれば調整を行います。
関連記事:
- [Apacheサーバーの基本設定と最適化]
- [HTTPヘッダーの分析と最適化]