Apacheのエラーページに出力されるバージョン情報を消す方法

takahashi 著者:takahashi

Apacheのエラーページに出力されるバージョン情報を消す方法

フリーで利用でき、実質Linux上で動作するWebサーバーのデファクトスタンダードとなっているApacheですが、セットアップしてすぐの時によくやってしまうミスの一つとして、エラーページにバージョン情報を公開してしまう、ということがあります。

これはApacheのデフォルト設定が、ApacheのバージョンとOS名を表示するようになっているからです。

何がまずいのか、と思う方もいらっしゃるかもしれませんが、ApacheのバージョンやOSがわかる状態になっていると、もしそのバージョンに脆弱性が発見された際、攻撃者にヒントを与えてしまうことになります。

バージョンが見えてしまったからと言って必ず攻撃されるわけではありませんが、セキュリティ的にはよろしくないので、公開する環境においては非表示にすることが推奨されています。

ということで今回はエラーページからバージョン表示を無効化する方法をご紹介します。

なお、debian系OSとRedHat系OSで編集する設定ファイルが異なりますので注意が必要です。

debian系の場合

設定ファイルは

/etc/apache2/conf-available/security.conf

にあります。
このファイル中の25行目あたりに

ServerTokens OS

という項目がありますので

ServerTokens Prod

と変更しておきます。
この状態で

sudo service apache2 restart

とすれば反映されます。

RedHat系の場合

RedHat系の場合はデフォルトで設定ファイルに指定がないようなので

/etc/httpd/conf/httpd.conf

の末尾に一行書き足します。

ServerTokens Prod

書き足したら、下記コマンドを実行します。

sudo service httpd restart

これで設定は完了です。

この状態でサイトのエラーページを出してみると

このように、ApacheのバージョンとOSの表記を消した状態で表示されるようになります。

ApacheでWebサーバーを運用される方は是非参考にしてみてください。

  • この記事いいね! (0)

著者について

takahashi

takahashi administrator

Webエンジニア。 趣味で自宅サーバーを稼働中。 ファンタジーが好き。