VPSやクラウドサーバーでのApache・PHPのバージョンを外部から見れなくする方法

こんにちは。㈱シンラウンド代表の中島 達(@NakajimaSatoru)です。

VPSやクラウドサーバ環境で、Apache、PHPとインストールした際に、そのままの設定では外部からApache、PHPのバージョンを見ることが出来てしまいます。

バージョン情報が見られてしまうと、そのバージョンに対しての脆弱性が発見された際に、ピンポイントで攻撃され被害が出てしまうリスクが大きくなります。

そこで今回は、

  • Apache、PHPのバージョン情報を外部から確認する方法
  • Apache、PHPのバージョンを外部から見れなくする手順

をご紹介します。

Apache、PHPのバージョン情報を外部から確認する

ターミナルを起動し、curlコマンドを実行します。

curl -v -X GET https://〇〇.com/

実行結果の中に、OS、Apache、PHPのバージョン情報が確認出来ます。

< Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips PHP/7.3.10
< X-Powered-By: PHP/7.3.10

Apache、PHPのバージョンを外部から見れなくする手順

viコマンドで、httpd.confを起動します。
標準でインストールしている場合には、httpd.confは/etc/httpd/conf配下にあるかと思います。

cd /etc/httpd/conf
vi httpd.conf

以下を追加します。
すでに記載がある場合には、追記ではなく、変更してください。

# Apache version Hide
ServerTokens ProductOnly
ServerSignature off

# PHP version Hide
Header unset X-Powered-By

ファイルの書式チェックを実施します。

apachectl configtest
[Syntax OK]の文言が出れば問題ありません。

apacheを再起動します。

systemctl restart httpd

バージョン情報が表示されていないか確認します。

curl -v -X GET https://〇〇.com/

実行結果を確認し、バージョン情報が表示されなくなっていれば完了です。

< Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips PHP/7.3.10
< X-Powered-By: PHP/7.3.10

と表示されていた箇所が、

< Server: Apache

とだけ表示されるかと思います。

セキュリティのためにもバージョン情報は見れなくしておきましょう。

セキュリティの観点からOSやApache、PHP。また、WordPressを利用するなら、WordPressに関しても、バージョンの情報は隠しておくべきです。
(厳密にはセキュリティ対策とは言わないのですが…)

そのため、現在設定していない場合には、是非設定してくださいね。

投稿者プロフィール

中島 達(Nakajima Satoru)
中島 達(Nakajima Satoru)
株式会社Synround 代表取締役

「続ける。 」をコンセプトに、Webマーケティングにおける戦略立案/サイト制作/システム保守/コンテンツ制作を実施。

web、動画は作っただけでは意味が無くて、そこから育てて行く物。ただ、中小企業、小規模税理士事務所では人や費用により続けることが難しいため、続けるための環境作りをしてます。

過去の事業:Webサービス×2、レンタルスペース5店舗

ABOUTこの記事をかいた人

株式会社Synround 代表取締役 「続ける。 」をコンセプトに、Webマーケティングにおける戦略立案/サイト制作/システム保守/コンテンツ制作を実施。 web、動画は作っただけでは意味が無くて、そこから育てて行く物。ただ、中小企業、小規模税理士事務所では人や費用により続けることが難しいため、続けるための環境作りをしてます。 過去の事業:Webサービス×2、レンタルスペース5店舗